AU Class
AU Class
class - AU

Autogenerating and Optimizing Modular Air Duct Layouts in Revit

共享此课程
在视频、演示文稿幻灯片和讲义中搜索关键字:

说明

What happens when some enthusiastic software developers team up with a few innovative mechanical designers? Henderson Engineers is an MEP design firm that’s been working on developing a modular DFMA (design for manufacture and assembly) air duct system for a while now, and has developed some clever Revit families and Dynamo scripts to help its designers model them. The firm joined forces with EvolveLAB, a building information modeling (BIM) consulting and software development company, to create a Revit add-in that focuses on the real-time generative design of these modular duct layouts. In this session, we’ll review how these companies used some unique properties of the Revit API to create a co-authoring system that allows a mechanical design to sketch out a main duct layout in Revit while the computer simultaneously and continually produces the most optimal layout using the DFMA kit of parts for that sketch—which is then finalized and converted into a fully connected Revit duct system.

主要学习内容

  • Experience how generative design can be used for mechanical layouts within Revit.
  • Learn about the real-time potentials of the Revit API, via Direct Context 3D.
  • Learn the benefits of co-authoring in computational design.
  • See how DfMA workflows can streamline the design and fabrication process.

讲师

  • Daniel Kat 的头像
    Daniel Kat
    Daniel Kat is an architect, computer nerd, and avid rock climber hailing from snowy Buffalo, New York. He holds a B. Arch degree from the Syracuse University School of Architecture, as well as a minor in computer science. As a licensed architect he has had the opportunity to work at a variety of firms ranging from a 2-man operation with his former professor to the third largest AEC corporation in the world. During Daniel’s six years walking the line between architect and BIM Manager on residential, commercial, rail, and aviation projects across the country he became attuned to the inefficiencies inherent within the AEC industry. Combining his knowledge of our digital design tools with his recreational programming pursuits, Daniel joined EvolveLAB to help improve the software used to create the built environment in which we live. Having been raised entirely on the East coast of the United States, Daniel cycled from Boston to Los Angeles before falling in love with the Rocky Mountains of Colorado, where he now resides. When not writing code or rock climbing, he can often be found outside sketching or jamming with friends on his drum kit.
  • Ben Guler 的头像
    Ben Guler
    As a design technology fanatic, Ben has been a vital driver for computational design, process management, and standardization. With a gamut of technological avenues, he has successfully identified and executed solutions for a robust set of project deliveries. His architectural background, knowledge of BIM platforms and software engineering allows for a technological bridge that is critical to being effective in the computational design paradigm. The experience writing Revit Add-ins and stand-alone software, helps delivering solutions that tie the AEC market together. As a husband and father, Ben enjoys going on hikes with his wife and daughters.
Video Player is loading.
Current Time 0:00
Duration 40:40
Loaded: 0.41%
Stream Type LIVE
Remaining Time 40:40
 
1x
  • Chapters
  • descriptions off, selected
  • en (Main), selected
Transcript

DANIEL KAYE: OK. Welcome, everybody, to our course. This is a case study on a Revit app we built that focuses on the title there-- Auto Generating and Optimizing Modular Air Duct Layouts in Revit. Let's dive into it.

So, here's a little list of what we're going to cover today. We'll start by going over the team, the players involved. And then, we're going to outline the problem we're trying to solve for this application. And we'll show you the solution, the application we built.

And we're going to dive into a couple of the features that we think are pretty cool about this-- simulated annealing, you'll know what that is by the end of this talk, for sure, user adoption, how we tried to achieve that, why it's important. And then, at the end, we'll take a little step to go beyond air ducts to show how the ideas we talked about in this talk, in this application, could be applied to a whole host of things in the AEC world.

OK. Let's get to it. So, the team-- these are the people and companies that were involved. I will start with myself. My name is Daniel Kaye.

I'm a classically educated architect, I guess. I got a five-year Bachelor of Architecture from Syracuse, but also a minor in computer science, which played into where I am now. So, I've been working for seven years.

I slowly transitioned from architect to BIM manager. And now, I'm at EvolveLAB, the last two-ish-- more than two years. I've been doing software development mostly.

I'm interested in lots of the geometric spatial algorithms, really. It's my favorite stuff. Oh, and I am our official Director of Memes. It's on our company website.

And then, I'm here with Ben today. Ben, I'll let you introduce yourself.

BEN GULER: Yeah, for sure. Thank you. Thank you, Daniel.

So, I'm Ben Guler, Partner and CTO at EvolveLAB. My background, similar to Daniel's, is in architecture. I went to school for that.

I slowly transitioned to a BIM manager. And then, learned how to code. So then, as soon as I did that, that was my new passion and really wanted to do that full time. An EvolveLAB opportunity presented, and so I jumped on that trail and have been on that ever since.

I really am a liaison here at EvolveLAB, where I help out with solutions for our clients and customers, to our code team. So, I also get to code myself, which is really fun. And I also have a wife and two daughters, which I enjoy taking hikes with. So, it's really great. Yeah, that's me.

The next slide, I think we're going to just briefly talk about EvolveLAB. So, EvolveLAB is made up of a diverse, eclectic group of individuals. We've got people with backgrounds in architecture, licensed architects. We've got people with computer science backgrounds, physics backgrounds, construction backgrounds.

It's a really cool team that we've got here. And essentially, we help architects, engineers, and construction professionals implement design technology throughout the AEC space. Yep, that's us.

DANIEL KAYE: Yeah, I can talk about Henderson a little bit. Ben, you can hear me, right?

BEN GULER: Yeah.

DANIEL KAYE: OK. Well, this is the engineering firm we work with. They also have Henderson Building Solutions. It's a whole separate-- but it's a really big company spread across the US. And these are some of the-- we're highlighting some of the people we worked closest with there, but it was a great team at Henderson. Yeah.

Now, let's jump into the reason this partnership-- why they reached out to us in the first place, which I would call the problem. "Why can't the contractor just work it out," which is a joke, of course. But it's not, and summarizes what we're getting at here. So, a little background first.

Henderson developed this modularized duct system. There's actually an Autodesk University paper on it, a white paper, by Adam Roth and Sean Turner, which I'd recommend checking out if you haven't read it. But basically, they developed the system with US Engineering Innovations.

You see pictured some of these modular parts and stuff. And there's a whole host of benefits to this, which they could go on about, streamlining the manufacturing and assembly process and design, all these sustainability aspects. But when we got together, the real crux was how do we get people in Revit designing using this kit of parts.

So, I'm going to go through just the setting for this application. What we have here on the left is a simple setup, a very well-defined problem. There's a VAV box, and then a branch duct, which has already created a little MEP system, if you will. And then, air terminal layout, also predefined.

And what we're trying to do is get to the result on the right, which is to take that branch duct and break it into these modular pieces that they've developed, and then connect each of the air terminals to one duct module. And that's also made out of all these modular parts that are part of this big system. And then, defining the problem like this for us to make this application really simplified and helped us get towards success.

Ben has, I think this year, another talk at AU that sort of focuses on that, if you can find it at autodeskuniversity.com, or wherever that-- wherever this talk is. Yeah, Ben?

BEN GULER: Yep. Yeah, we've got another one, which is going to be focused more on co-authoring. But yeah, this is a case study on how we were able to help out Henderson here.

DANIEL KAYE: Right. So, what Henderson did to start is-- this is how they attacked this problem. They built all these parts in Revit, like families, mechanical systems, et cetera. And then, they made a proof of concept with Dynamo, which is what you're seeing in the top half here, the script, which Dynamo is a great prototyping tool for things like this.

And they were running it through Revit GD to optimize it. Version 1 of our application actually literally translated their Dynamo script.

BEN GULER: Yeah, that's right. Yep. We actually literally took the Python code and transpired it to C#. And that's our first iteration. There were some things already figured out that we used for our generative loop basically to make the first iteration of the code.

DANIEL KAYE: But, I mean, the big problem-- this is a great tool for power users that they were working on. But the big problem here is-- I think this is a quote from Ben-- "power users design tools for power users." And Henderson's real goal here was to get their whole mechanical team on board, have everybody using this, not just the Dynamo geeks or whatever. So, that became, I guess, the crux of our problem.

So to summarize, Henderson developed this modular duct system. And they prototyped it with Dynamo and Revit GD. So, we knew it worked. They knew it worked.

The goal of this tool is to connect the VAV box to all the air terminals using this kit of parts and really make a tool that has high user adoption that people use, that people not just are willing, but really want, enjoy using. At least, that's the goal. Did we do it? I think so.

BEN GULER: That's right.

DANIEL KAYE: All right. What did we do? We'll get right into it. This is the app.

We called it the Mechanical Run-Out Duct Generator app. This is the case study. So, this is the case we are studying, essentially, this application here.

So what is it? It's a Revit Add-in that generates optimized run-out ducts, and sometimes branch duct layouts, using this pre-made DFMA kit of parts inside Revit. It combines different aspects of generative design and human input. You get a co-authoring approach, if you will. Let the computer do what it's best at. Let the people do what they're best at.

It has lots of analysis optimization, so you can sift through different solutions. And then, when you find one you like, you hit that little Bake to Revit button, and bam. It just makes a fully connected Revit duct system.

BEN GULER: It's always so rewarding to watch that, to see how it-- press a button, and all this content that's there, you didn't have to model yourself. It's there, properly connected. It's always fun to watch.

DANIEL KAYE: I know. I could watch this GIF all day, but we don't have all day. So anyway, you might look at this like, wow. That's pretty complicated, Dan.

How could I possibly understand that? Well, it's not that complicated. But luckily for you, we made this little course, Modular Duct Generator App 101, "a simple six step how-to for using your custom mechanical generative design application," because everybody has one of those, right?

Anyway, the six steps are-- you select a VAV Box, a variable air volume box, and different options. You draw that main branch duct frequency. And then, you generate solutions. Pretty simple, right?

And you can examine those solutions, and bake to Revit when you're all done, basically a summary of that last GIF. And the last step is a little different, but you can try to auto-generate that branch duct portion, too, if you want. We'll get to that.

Now, we're going to dive into each of these, really see how this thing works. Select your VAV box. So, everything's already zoned. So, you pick a zone of the box.

There's a bunch of display settings on the right, which you can customize. These two sliders, I think, are probably the most important settings on here. We're going to talk a bit more about them later.

But the problems we're working with, these are multi-objective optimization, which means if you make one-- if you improve one aspect of a design, it's likely that you made another aspect a little worse. So, those sliders allow you to assign weights about what's more and less important with this particular duct branch you're making. And then, down at the bottom, there's the Simulated Annealing setting, which we'll talk a bit more about later.

Step two-- so, you've got all your settings, got your VAV box. Now, you just click. Click at each vertices and it draws the main duct, branch duct. It starts making all the run-outs.

Notice how it's really splitting it up into modules. It's calculating the corners. It's using some sort of modular system. That's what it's supposed to do. Do I get specific--

BEN GULER: Yeah.

DANIEL KAYE: I mean, I'm not-- I made this job. I'm not a mechanical engineer. So, some of these are little funny wraps, but it shows what the tool does OK.

So, step three, you generate your solutions. And as you may have noticed, as soon as you start drawing that branch duct, solutions start being generated. I mean, the longer you stay in one spot and leave your mouse alone, the better that solution is going to get. And then, you can also-- there's a Regenerate button. If you change some settings, you hit Regen, and it'll run it again on the current branch duct.

Once you have some solutions, you can examine them in that little bar graph that you can click between them to activate different ones. If you hover over them, it'll give you a little more detail about each one and what those numbers and bars represent, like that. So, you can adjust some of those design constraints we looked at earlier in Settings and regenerate until you have solutions you really like.

And one thing I think is cool about this, those solutions right now in the GIF, the numbers are really close. But maybe that designer will look at them and say, well, this one is obviously better than this one, because it has a corner piece. It's near a column. That'd be really hard for the contractor to get in there and assemble, or something like that. It just comes back to this co-authoring, working together, the computer and the designer, to get the best output.

So, right, Bake to Revit-- so everything this app has been doing, we've been looking at it in Plan. It's all in 3D, the drawing, the algorithm. So, you just click that button in the corner, and then it bakes everything to Revit, fully connected. You can run analysis on these systems, whatever.

And a little shout out to the Revit MEP API, which is a portion of the Revit API, if you're not familiar with it. It's really powerful and really agnostic the way they set up these connectors. You can do a whole bunch of stuff with MEP components in Revit using it. We took advantage of it for this project. Oh, one more thing I want to add here, one of the best-- one of the best parts of this Bake to Revit button is it makes your designs less sacred, in my opinion.

BEN GULER: That's right.

DANIEL KAYE: Right. What I mean by that is if there's a change in the design, and you're like, oh, I don't want to adjust. I spent two weeks modeling that duct system. I don't want to-- now, you can just delete, do another design, and rebake. You could bake seven of them before your morning coffee. And that's the idea. It takes out all the monotony. It lets you really focus on updating the design with ease.

So, we have an Auto-Gen button in the bottom. When you click it, instead of you drawing that main path, it'll draw it for you. This is still in beta.

I mentioned it, because this was only 12 weeks of developer time on this project. But you can see, if we continue going, this might be the next step in improving this algorithm that generates the branch duct. Or maybe we move on to other things, like we start adjusting the air terminal positions to better distribute the airflow and shorten other spread out ducts, or the VAV, or create the zone, which air terminals are with-- all this stuff. We can just-- this is a preview of how we can expand it to that.

So, failure is part of the process. Right? So, I thought I'd share a few of these, like this system-- four air terminals, one VAV. You think four modules, up the middle, and be-- but it likes to add this double 90 degree kink.

Why? I don't know. I should know. I coded most of them.

BEN GULER: Silly.

DANIEL KAYE: We've got this zig-zaggy one, which you wouldn't build that in real life, too much air friction. But to its credit, I think the zigzagging is because it does make all the run-out ducts shorter, because it's trying to get as close as possible to each one. But again, we'd have to add some metrics to deduct points for extra corners. And then sometimes, like this one, spaghetti. Ben, yeah. I don't really know.

BEN GULER: A silly one, that one. Yep.

DANIEL KAYE: That's a beta feature. OK. So to recap, we built this Revit Add-in where you select a VAV box and options, draw your main duct branch, and then generate solutions, examine those solutions, pick the one you like, and bake it to Revit. And then, if you're brave enough to hit that Auto-Gen button, see what happens.

OK. So now that we know how it works, we're going to start diving into the good stuff, why it works, and in my opinion, some of the cooler aspects behind the scenes of this tool. Simulated annealing-- this is chapter 4.

BEN GULER: That's right. "The brains behind the BIM."

BEN GULER: Right. Now, a little warning, we're going to start getting a little technical here. So, feel free to go get a snack if you're less interested in this part. This is my favorite part anyway.

So, we'll start with generative design. This is a huge industry buzzword. I think Autodesk has some good definitions I've thrown here, but I really like the "an iterative process from a computer's point of view," because once you know what these algorithms are doing, that's really what's going on.

Here's a diagram of the manual way. So on the left, we create our initial design. And it's pencil and paper. It's representative. You're doing this in CAD or Revit, I know.

I don't know. Maybe people-- some people still sketch duct layouts first. And then, you iterate. You red line.

You talk with people, change the design, update the model. It's just a cycle. You keep doing that until it's ready to build.

Now, take a look at the computational design way.

BEN GULER: Some similarities there it looks like.

DANIEL KAYE: Almost the same. All you got to do is take everything and put it inside a monitor icon. No, but really, the computer generates the initial design. And then, instead of iterate, it scores the design, some metrics. And then, it mutates, which is the-- it slightly changes the design, explores it again.

Is it getting better or worse? What should I do? And then, you build it when you have a solution you like.

What was I going to say? So, we're going to under-- you might ask, why can't I just generate every possible solution and then pick the highest score? And we're going to jump in the computer science world for a second and look at something called the traveling salesperson problem.

Ben, have you heard of this before we started this project?

BEN GULER: Yeah. I think I've heard of it before for a different kind of optimization thing that we were building. But yeah, it's-- definitely learned about it in the past two years or something like that, like, oh. We should get into this thing and try to solve it.

DANIEL KAYE: I'm going to use it to help explain. The idea is you have a whole bunch of cities, and you have a salesman who has to get to all of them. And you want to find the shortest path. And believe it or not, we don't have a way for computers to definitively solve this problem.

Here's a good example. An Amazon Prime delivery truck has to visit 60 addresses in one afternoon. What's the best order to get my Amazon optimization? So, if you look at this problem, with 6 cities, there's already 720 possibilities, which takes this really slow solver 11 seconds to try them all. If you add just two more variables, 8 cities, now there's 40,000. That's like-- it's a lot more. Anyway, this solver, it would take 11 minutes. It went from 12 seconds to 11 minutes just by adding two variables. So, imagine 50.

BEN GULER: That's a fancy word there. It's a pretty big number, looks like.

DANIEL KAYE: 30.4 vigintillion. I looked that up. This is how many years, at the same speed, it would take to try all those possibilities. Of course, computers will go a little faster, but not that much faster.

If one of our computers can't try every solution, how do we solve almost impossible problems like this? That's where we get into the field of metaheuristics. I feel really smart when I say this, because it's a big word.

If we break it down, it's pretty easy to understand. It's got two parts-- meta, heuristics. I'm going to look at heuristics first.

Essentially, how this was explained to me, it's like educated guessing. It's when you have a problem where we don't know the answer to. And we don't know how to-- we don't have a way to-- we don't know how to figure out the answer.

If it's too complicated or too time-consuming or impossible to actually solve it, we just use guessing. And this is used in all sorts of fields. And chess engines use a version of this. OK. And meta-- everybody knows what meta is. Not this one.

BEN GULER: Not sure about that one.

DANIEL KAYE: Meta-- it means overall. I think it's a great prefix. Looking at from a higher perspective-- that's good. It's also a common slang word these days-- that's so meta. That's why I have the Urban Dictionary definition.

BEN GULER: The meta game.

DANIEL KAYE: Right. So, here's the chart. This is a nice graphic. There's a whole bunch of metaheuristic algorithms. A computer's best guess is a really good way to summarize it.

A lot of these are nature-inspired. Now, the Revit generative design solver uses a genetic algorithm. So, we're going to look at those first to explain the starting point. You may have heard of these before. So, I'm going to try to go through this a little quickly.

What is a genetic algorithm? It's inspired by evolution. It's also a little slow, just like evolution.

So basically, you have a generation. And they make a bunch of offspring, I'll call them. And then, you take the best of those offspring, and you make more generations.

Here we have the scores, two offspring, and we're trying to go from regular people to really cool construction workers with badass glasses. So, I made a few more. And then, first generation, you pick the best one or two or however many. We've got some cool construction hats here, good PPE.

You do it again. Notice the scores in general are going up. You can have as many children, as many generations, as you want. It just takes time.

But eventually, you can get to a really high level of mostly high-scored solutions, some really cool looking-- you got the monolens glasses. That's what you want. Right? And you could do the exact same thing with mechanical duct layouts, which is why we're here.

I just changed the icons again. By the way, all these icons, diagrams, I made with Autodesk provided icons for these presentations, which I'm pretty proud of. Moving on, so same exact thing with ducts. You could score them in different ways. Yeah.

So, if we hop back to the traveling salesperson real fast, you'll see on the left we're trying all possibilities. And on the right, we're using a genetic algorithm. All of that gray mesh, it's generating like 60 ideas a second, and then picking the best one.

And you can see how much faster already. The one on the right, that solution, is already much better than whatever's going on on the left. The important part-- this is the exact same number of guesses. The one on the right is just making better guesses, the genetic algorithm. That's what's called heuristics, smart guessing.

Now, we already mentioned genetics can be slow. Another con is they get stuck in local maxima and minima. What does that mean? I'm going to try to explain.

So, say you have an idea, or a generation, parent. You generate a bunch of offspring. You pick the best one.

Rinse and repeat. Generate offspring, pick the best one, et cetera. You can see that they're gathering near this higher score.

But since the gene pool gets smaller, the variation is smaller. So, they all end up clustering. And you think this is your best one.

But actually, this is what's called a local maxima. We don't know this, but there's a global max somewhere else that we just haven't found. That's really what we want to get to.

BEN GULER: And the reason for that, too, Daniel, is because you don't-- from 1, you don't go lower. You want to go better. You don't want to go--

DANIEL KAYE: Right.

BEN GULER: So, right.

DANIEL KAYE: Which is the hard part, right? You get what I call the idiocracy effect. And if you haven't seen this movie, it's worth a hoot. It's worth checking out. Good piece of social-- I don't know what you call it.

So, that brings us to this diagram again where we have another algorithm called simulated annealing. Now this one avoids those local minima and maxima a lot better. It's also nature-inspired. But it's inspired by the annealing of metal, which is where you heat and cool metal to make it stronger.

It's very customizable, except-- so, this is how annealing works in a really broad sense. You take a metal-- imagine these Tetris pieces are like the molecules-- and you apply heat to it. And the molecules start moving around real fast. And then, when they slowly cool, they form into a stronger, I'll say better, arrangement. That's annealing.

So, what is simulated annealing? It's an algorithm where we actually have something called temperature in the algorithm. It starts pretty high. And then, it slowly decreases based on function. And the higher the temperature, the more likely we are to accept bad solutions. You'll see what I mean in a sec.

That acceptance probability is the probability of accepting a bad solution or worse solution than you already have. If we take this graph and invert it so the left side is the score now, not the temperature, we have a range of acceptable scores. So as time goes on, the score has to be better for it to be accepted.

So, with this algorithm, we don't create generations all at once. We take one idea, and we mutate it. We just continue to mutate it into either-- like this red one, it will become unacceptably bad. And then we get rid of it.

Or, the algorithm will just mutate until it has our better or best solution. As long as it's still above the acceptable range you can keep going. The key point being, if you look at that blue line, the solution often has to get worse before it gets better, which is something genetic.

When you just keep picking the best, it doesn't do as well at, like the blue one. I mean, the red one, you can see that 71 is a local maxima. We're not going to get anything better out of that even if we keep iterating off of it.

Whereas when the 40-- it went all the way down to 13, that blue one. But from 13, we're able to change it into something really good. Like that quote, how's it go? You couldn't have invented the car by iterating on the horse. You've got to take a step back, then change it even more.

So, here's that same graph. We're going to talk about the local minima and maxima and follow a case study. So imagine-- now we're simulating annealing. So, we're not generating-- not generating offspring. We're just iterating on an idea.

And as that temperature on the left stays high, it allows us to keep making select-- 3 is a lot worse than 2. But since we have a high temperature, we can keep playing with 3. Now, it becomes even worse. But the temperature is still pretty high, so it's still OK. We're still playing around.

Now, you always know where all your previous best solutions are. So, 5 is the best one we've had yet. But we can always go back to one of our previous best and iterate on it. Like, oh, can 2 get better? Well, it didn't get better. OK. Let's go back to 5. Did 5 get better? Oh, look. It did.

And as the temperature-- now, it's getting a little lower. It'll start clustering around the best solution. It'll iterate most around 7 and 8 and 9. So, the lower the temp near the end, it tries to only refine the best solution. And then, we get to the global max ideally.

And remember, in the solution space, this line I have of possible solution, that doesn't exist. You're just guessing. You don't know what solution is the best, just guessing in space.

So, we're building that graph, remember, because of the traveling salesperson. We can't possibly calculate them all. Yeah. That makes sense?

BEN GULER: Yeah, that would be the equivalent of-- us knowing the graph would be the equivalent of us running the brute force one, where it actually looks at every single possible one. It's invisible. So, it's really cool that you're showing that, how that's just-- we don't know. We're running this blind. And from the points, we extrapolate decisions to go this way or this way.

DANIEL KAYE: Right. So, the left image, it's not so important. It's the traveling salesperson in 3D being solved by simulated annealing. Check out that one on the right.

When the temperature is low, that red line is all over the place. It's really exploring the solution space. The lower the temp gets, the more the red line stays near the peaks. And if it gets really low, you can see it really focuses in on that one peak in the middle, because it figured out that's the max. That's the benefit of simulated annealing.

Sorry. I skipped this. Anyway, so if you look at it right here, back to the traveling sales problem-- one last time, I promise-- on the right, we have simulated annealing. And that red line is the solution we're playing with. It's not the best one. The best one is black. The red is different.

We're getting worse to see if we can take that worst one and find a better one. And as time goes on, the temperature is dropping. The red will start to-- you'll see less and less red, because the red and black are almost always the same near the end. It's like-- low temperature narrows that red line movement essentially. Hope that makes sense.

But, right. We're not here to talk about traveling salespeople. We're here to talk about ducts. So, let's bring it back to the ducts.

This is the exact algorithm we're using, the base of the algorithm we're using, to generate these things. That's what's going on. So, we're only drawing the black, the best solution. We're not showing all the light gray attempts or the red one. It's only the best.

But hopefully, some of these settings will start to make more sense. It's a quick way to get really good solutions, really good guesses, essentially. It might not be the absolute best, but it's pretty good in hardly any time.

So, we have settings. One of those is Simulated Annealing Start temperature, End temperature. Now, you know with these temperature things we're talking about, you can play with these numbers. Let it try for as short or as long as you want. Like I said, it's a very flexible algorithm.

And we have the results. You can see how many times, how many solutions, have been tried and improved. And I think when this runs, it'll give you 2,300 solutions. I mean, there's vigintiliions.

And it found a good solution with only 2,300 guesses, which is impressive, I think. Maybe I'm just a geek. I don't know.

BEN GULER: Right on. It's very impressive I think.

DANIEL KAYE: Right? OK, a recap-- so, we talked about what generative design is in this context. We made everybody here sick of the traveling salesperson problem. Maybe. And we gave you a word you can impress your friends with, metaheuristics.

We looked at this evolutionary-inspired algorithm, the genetic algorithm, and then some of the flaws with it, like how it's slow, can be slow, the local minima and maxima problem. And then, we dove into simulated annealing, which is what's going on here, and the pros and cons of that. So, now that we know how the foundation of the GD in this application works, we're going to talk about how we got people to use it.

Because really, if you build all this technology, but people don't like or aren't adopting it, then what was the point? I'm going to let Ben take over some of that. He's the expert.

BEN GULER: Definitely. Thank you for that, Daniel. So, let's see here. Right.

So, we'll start with-- so basically, without adoption, the tool is just expensive marketing material. And we have to make certain innovations so that we really foster adoption. And then, we build and design a tool that's not just for the power users that are very comfortable with minimal UIs, and just even a command-line UI, but it's actually intuitive and easy to use for designers.

So, we started with integrating this directly within Revit. Any learned behavior of navigating through Revit, controls, things like that, is-- you don't have to learn that again. It's right within Revit. It's not a different software. It uses a native element.

So, as you can see in this animation here, as you move those air terminals, if you hit Regen, the connections go back to those new locations basically. So, it really works off of the native content, and it produces that native content. And this really starts to enable a co-authoring approach to the solution.

So, in order to enable co-authoring, we had to make certain app architecture trade outs. And here are some of them that we had to do. One of them is interactivity over speed. We'd rather want to feel like the application is never frozen, always responsive, and showing to the-- displaying to the screen what's happening versus waiting a second, and then, when it's done, that's when you see the result.

Speed over accuracy-- so, this really played a hand in our choice in the genetic solver-- or the metaheuristic solver, where we needed something that's really fast right away and has a decent result that's pretty good. So, we really-- at the cost of not using the perfect algorithm that does the best of the best-- because we wanted that interactivity to be there. We wanted the user to co-author with the tool so that in case there's any changes that needed to be brought, let's say, the solution is only 80% there, the user could fill that gap and fix that.

Simplicity over customability-- so, as you could see in the UI, we don't have-- most of these settings that are under the hood, that are a bit more elaborate, are hidden away. Those are just stored in the JSON file somewhere where we don't have to expose all of that. All that's baked into that.

And another trade off we did is specific over general. And shout out to the Henderson team for this one. They really made the problem modular for us where it's just the-- no pun intended-- it's just the VAV box to the air terminals. It's not doing all the way from the RTU to even placing the air terminals.

So, the problem itself is encapsulated. And if you think of it as a module, you can have that module. You can have another module for just placing the air terminals, like you've talked about earlier, Daniel. We could really modularize the problem. And then together, they could connect and grow into something even more comprehensive that we already have here.

Another consideration that we've made-- yeah, I'm going to go to my next slide here-- is obviously we have to pay good attention to the UI design. And so, this is very important for user adoption. If I go next here-- probably right there. So, many of you have probably seen this tool and have probably even used it to rename PDFs.

It's pretty cumbersome and intimidating to use, but very powerful. So obviously, not like this. We don't want to have something that is intimidating to use. But we want to foster and have that intuitive layout.

So, what we went with is a vertical design here where everything is scrollable. And at the top, we have the inputs. In the middle parts, we have all the settings and adjustments where you could adjust your constraints.

We have a simple design options graph. We could switch through the design options at the bottom. And then, at the very bottom, we have this static bar that has your action buttons, like Drawing and Baking to Revit.

The other side to the coin for UI is UI's user experience. And what we have on the screen here is displaying how our lightweight geometry is streamed to Revit where, when we turn off the ortho mode, because that might make it seem a bit more choppy, you could see really how smooth the geometry is being rendered to the screen so that the user could, at any instance, really-- if you move the cursor a little bit, you can really visualize that and start to make decisions as it's computing on the fly, live, essentially.

Another portion that that enables us to do is you could see the work in progress. So, when the GD solver runs, right away it has an iteration, an idea of how things get connected. But, it's not finished.

It's constantly thinking. And as soon as you change your inputs and you move your cursor, it's thinking more and restarting that, because it has new inputs. So, you always see the work in progress of what the solver is doing as you're moving your cursor, clicking away through your design.

Another thing that we really have to pay attention to and will enable this co-authoring workflow and essentially enable fostering adoption is the output. So the output is workable output. It generates native content.

The modules, the families, everything is interconnected properly such that once you bake the solution, you could still make minor adjustments if that solution is not exactly what you needed it to be. And that gives the designer a bit of a comfort and trust and ability to have a fallback in case something is not exactly the way they wanted to model it for that condition.

And the last thing that I'll touch on here is make it fun. So, it's really rewarding to use the tool, to have it animated and interactive, and see this geometry being rendered to the screen. And it feels-- it really feels good to generate all this content and just press Bake, as we've seen earlier. It's just all this native content is there. And then, you think about it. I didn't have to actually model that myself. And I could edit it, and it's there. And it's there for the project. So, it's really great.

To recap, essentially, is these are some of the considerations that we had to make and really drive to foster adoption. It's integrated within Revit so that you don't have to relearn new behaviors, new software, the app architecture trade offs, where we have to have certain values of other values, intuitive UI/UX design, workable output so that the user has a comfort for a fallback method, if anything. And then, make it fun so that it's enjoyable to use a tool. And make it so that other people could see-- show off the tool, like, hey, look. I'm working on this thing. And someone else could see it. Like, oh, this is fun. I want to try that tool. So, just trying it, it's really fun to use.

DANIEL KAYE: It is fun. I think it is fun. I think other UI and UX designers we've had-- yeah, a lot of fun. I hope the Henderson engineers enjoy using it.

BEN GULER: Yeah. And one thing I was going to mention, too, is, I mean, these are things that we've learned on this project together and utilizing this technology. But obviously, we could go way beyond ducts. And even within the ducts, as you've already mentioned, Daniel, even there, there's space to grow there. And maybe you could talk more about that.

DANIEL KAYE: Right. I mean, I'm hoping by the end you can see this technology. We applied it to ducts, but a lot of it, lessons learned, technologies we've found out or developed, et cetera, we could use them for so many things. We're going to show you a few examples.

This is not just ducts, this presentation. It's so many things in or even outside the AEC industry. So, one example, we made this schematic plan generator for this large architectural client. And what it does is creates interactive, scored, schematic floorplans. And it uses a physics-based metaheuristic generative design algorithm, which we know what most of those words mean.

I mean, it's really cool. It employs similar co-authoring techniques. It's on a different platform, but it still communicates with Revit. It's still multi-objective optimization. This one has 30 sliders, the Henderson, since it was such a boxed problem. I think it had two or three, depending on which build you're looking at. I could give a whole talk on some of these algorithms.

Then, we have Morphis. This is one that I think Ben is giving, again, another AU talk this year about. Right?

BEN GULER: Yeah, definitely. And just a little bit on this one. Basically, it's using the same kind of ideas and concepts that we talked about in this case study, and applying it to layouts.

And then, on the screen right now, we have just a perfect concept of an office where you just dealing with low resolution volumes that are mapped to families. And then, you can just iterate through them and see metrics and what your ratios are. And then, you can even see how if you move a wall, it's responding to that.

And if you draw, it's actively tracing your cursor. And when you're ready to have something that's somewhat acceptable, you can just hit Bake. And then, similar concept, you have all that content generated for you from the schematic geometry within Revit as native Revit content.

DANIEL KAYE: Already in Revit, responsive, reactive, similar UI techniques, some other unique stuff in this one. That's for a different talk. Anyway-- and I started making a list. But really, in my mind, the possibilities are endless.

Like just with ducts, we talked about laying out the air terminals or choosing what VAV boxes go with what zones or maybe without modules, sizing the air ducts. You could go into any discipline, like arranging gravity drain pipes or sprinklers. That's a big one, I know.

All these different construction applications, some of these we actually have similar projects we've worked on. But all this and many more, I'm sure. I hope you guys watching this can imagine other ways to use these type of techniques.

In summary, coming to the end here, we'll summarize what we looked at today, what we learned. I hope we learned. We looked at the problem, how to get Henderson's mechanical engineers using their modular system within Revit, and the app we built that was the solution to that problem, and then some cool aspects of it, like simulated annealing and different metaheuristic algorithms, optimize-- and ways to optimize speed and allow co-authoring, how to increase user adoption with lots of UI and UX design, and a whole host of other things that we've learned from trial and error and user testing.

And then, how hopefully some of these ideas from this presentation and technology can be taken beyond just modular duct layouts, although these are really cool, I'll say. But to-- so many things that I'm sure we didn't even list. I guess that's pretty much it.

But if you have any questions, I personally could geek out over any slide in this presentation for a few hours. So, if you want to send me an email, I've got this picture-- sorry, Ben-- from our last--

BEN GULER: I love it.

DANIEL KAYE: --company resort. You're in there, some of our other teammates. But again, any questions with this online presentation? Feel free to reach out. Otherwise, I think-- unless you have anything else, Ben-- that is most of it for today's talk.

BEN GULER: Yeah. Thank you for joining us.

______
icon-svg-close-thick

Cookie 首选项

您的隐私对我们非常重要,为您提供出色的体验是我们的责任。为了帮助自定义信息和构建应用程序,我们会收集有关您如何使用此站点的数据。

我们是否可以收集并使用您的数据?

详细了解我们使用的第三方服务以及我们的隐私声明

绝对必要 – 我们的网站正常运行并为您提供服务所必需的

通过这些 Cookie,我们可以记录您的偏好或登录信息,响应您的请求或完成购物车中物品或服务的订购。

改善您的体验 – 使我们能够为您展示与您相关的内容

通过这些 Cookie,我们可以提供增强的功能和个性化服务。可能由我们或第三方提供商进行设置,我们会利用其服务为您提供定制的信息和体验。如果您不允许使用这些 Cookie,可能会无法使用某些或全部服务。

定制您的广告 – 允许我们为您提供针对性的广告

这些 Cookie 会根据您的活动和兴趣收集有关您的数据,以便向您显示相关广告并跟踪其效果。通过收集这些数据,我们可以更有针对性地向您显示与您的兴趣相关的广告。如果您不允许使用这些 Cookie,您看到的广告将缺乏针对性。

icon-svg-close-thick

第三方服务

详细了解每个类别中我们所用的第三方服务,以及我们如何使用所收集的与您的网络活动相关的数据。

icon-svg-hide-thick

icon-svg-show-thick

绝对必要 – 我们的网站正常运行并为您提供服务所必需的

Qualtrics
我们通过 Qualtrics 借助调查或联机表单获得您的反馈。您可能会被随机选定参与某项调查,或者您可以主动向我们提供反馈。填写调查之前,我们将收集数据以更好地了解您所执行的操作。这有助于我们解决您可能遇到的问题。. Qualtrics 隐私政策
Akamai mPulse
我们通过 Akamai mPulse 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Akamai mPulse 隐私政策
Digital River
我们通过 Digital River 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Digital River 隐私政策
Dynatrace
我们通过 Dynatrace 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Dynatrace 隐私政策
Khoros
我们通过 Khoros 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Khoros 隐私政策
Launch Darkly
我们通过 Launch Darkly 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Launch Darkly 隐私政策
New Relic
我们通过 New Relic 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. New Relic 隐私政策
Salesforce Live Agent
我们通过 Salesforce Live Agent 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Salesforce Live Agent 隐私政策
Wistia
我们通过 Wistia 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Wistia 隐私政策
Tealium
我们通过 Tealium 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Tealium 隐私政策
Upsellit
我们通过 Upsellit 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Upsellit 隐私政策
CJ Affiliates
我们通过 CJ Affiliates 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. CJ Affiliates 隐私政策
Commission Factory
我们通过 Commission Factory 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Commission Factory 隐私政策
Google Analytics (Strictly Necessary)
我们通过 Google Analytics (Strictly Necessary) 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Google Analytics (Strictly Necessary) 隐私政策
Typepad Stats
我们通过 Typepad Stats 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Typepad Stats 隐私政策
Geo Targetly
我们使用 Geo Targetly 将网站访问者引导至最合适的网页并/或根据他们的位置提供量身定制的内容。 Geo Targetly 使用网站访问者的 IP 地址确定访问者设备的大致位置。 这有助于确保访问者以其(最有可能的)本地语言浏览内容。Geo Targetly 隐私政策
SpeedCurve
我们使用 SpeedCurve 来监控和衡量您的网站体验的性能,具体因素为网页加载时间以及后续元素(如图像、脚本和文本)的响应能力。SpeedCurve 隐私政策
Qualified
Qualified is the Autodesk Live Chat agent platform. This platform provides services to allow our customers to communicate in real-time with Autodesk support. We may collect unique ID for specific browser sessions during a chat. Qualified Privacy Policy

icon-svg-hide-thick

icon-svg-show-thick

改善您的体验 – 使我们能够为您展示与您相关的内容

Google Optimize
我们通过 Google Optimize 测试站点上的新功能并自定义您对这些功能的体验。为此,我们将收集与您在站点中的活动相关的数据。此数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID 等。根据功能测试,您可能会体验不同版本的站点;或者,根据访问者属性,您可能会查看个性化内容。. Google Optimize 隐私政策
ClickTale
我们通过 ClickTale 更好地了解您可能会在站点的哪些方面遇到困难。我们通过会话记录来帮助了解您与站点的交互方式,包括页面上的各种元素。将隐藏可能会识别个人身份的信息,而不会收集此信息。. ClickTale 隐私政策
OneSignal
我们通过 OneSignal 在 OneSignal 提供支持的站点上投放数字广告。根据 OneSignal 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 OneSignal 收集的与您相关的数据相整合。我们利用发送给 OneSignal 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. OneSignal 隐私政策
Optimizely
我们通过 Optimizely 测试站点上的新功能并自定义您对这些功能的体验。为此,我们将收集与您在站点中的活动相关的数据。此数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID 等。根据功能测试,您可能会体验不同版本的站点;或者,根据访问者属性,您可能会查看个性化内容。. Optimizely 隐私政策
Amplitude
我们通过 Amplitude 测试站点上的新功能并自定义您对这些功能的体验。为此,我们将收集与您在站点中的活动相关的数据。此数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID 等。根据功能测试,您可能会体验不同版本的站点;或者,根据访问者属性,您可能会查看个性化内容。. Amplitude 隐私政策
Snowplow
我们通过 Snowplow 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Snowplow 隐私政策
UserVoice
我们通过 UserVoice 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. UserVoice 隐私政策
Clearbit
Clearbit 允许实时数据扩充,为客户提供个性化且相关的体验。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。Clearbit 隐私政策
YouTube
YouTube 是一个视频共享平台,允许用户在我们的网站上查看和共享嵌入视频。YouTube 提供关于视频性能的观看指标。 YouTube 隐私政策

icon-svg-hide-thick

icon-svg-show-thick

定制您的广告 – 允许我们为您提供针对性的广告

Adobe Analytics
我们通过 Adobe Analytics 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Adobe Analytics 隐私政策
Google Analytics (Web Analytics)
我们通过 Google Analytics (Web Analytics) 收集与您在我们站点中的活动相关的数据。这可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。我们使用此数据来衡量我们站点的性能并评估联机体验的难易程度,以便我们改进相关功能。此外,我们还将使用高级分析方法来优化电子邮件体验、客户支持体验和销售体验。. Google Analytics (Web Analytics) 隐私政策
AdWords
我们通过 AdWords 在 AdWords 提供支持的站点上投放数字广告。根据 AdWords 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 AdWords 收集的与您相关的数据相整合。我们利用发送给 AdWords 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. AdWords 隐私政策
Marketo
我们通过 Marketo 更及时地向您发送相关电子邮件内容。为此,我们收集与以下各项相关的数据:您的网络活动,您对我们所发送电子邮件的响应。收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、电子邮件打开率、单击的链接等。我们可能会将此数据与从其他信息源收集的数据相整合,以根据高级分析处理方法向您提供改进的销售体验或客户服务体验以及更相关的内容。. Marketo 隐私政策
Doubleclick
我们通过 Doubleclick 在 Doubleclick 提供支持的站点上投放数字广告。根据 Doubleclick 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Doubleclick 收集的与您相关的数据相整合。我们利用发送给 Doubleclick 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Doubleclick 隐私政策
HubSpot
我们通过 HubSpot 更及时地向您发送相关电子邮件内容。为此,我们收集与以下各项相关的数据:您的网络活动,您对我们所发送电子邮件的响应。收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、电子邮件打开率、单击的链接等。. HubSpot 隐私政策
Twitter
我们通过 Twitter 在 Twitter 提供支持的站点上投放数字广告。根据 Twitter 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Twitter 收集的与您相关的数据相整合。我们利用发送给 Twitter 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Twitter 隐私政策
Facebook
我们通过 Facebook 在 Facebook 提供支持的站点上投放数字广告。根据 Facebook 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Facebook 收集的与您相关的数据相整合。我们利用发送给 Facebook 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Facebook 隐私政策
LinkedIn
我们通过 LinkedIn 在 LinkedIn 提供支持的站点上投放数字广告。根据 LinkedIn 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 LinkedIn 收集的与您相关的数据相整合。我们利用发送给 LinkedIn 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. LinkedIn 隐私政策
Yahoo! Japan
我们通过 Yahoo! Japan 在 Yahoo! Japan 提供支持的站点上投放数字广告。根据 Yahoo! Japan 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Yahoo! Japan 收集的与您相关的数据相整合。我们利用发送给 Yahoo! Japan 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Yahoo! Japan 隐私政策
Naver
我们通过 Naver 在 Naver 提供支持的站点上投放数字广告。根据 Naver 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Naver 收集的与您相关的数据相整合。我们利用发送给 Naver 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Naver 隐私政策
Quantcast
我们通过 Quantcast 在 Quantcast 提供支持的站点上投放数字广告。根据 Quantcast 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Quantcast 收集的与您相关的数据相整合。我们利用发送给 Quantcast 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Quantcast 隐私政策
Call Tracking
我们通过 Call Tracking 为推广活动提供专属的电话号码。从而,使您可以更快地联系我们的支持人员并帮助我们更精确地评估我们的表现。我们可能会通过提供的电话号码收集与您在站点中的活动相关的数据。. Call Tracking 隐私政策
Wunderkind
我们通过 Wunderkind 在 Wunderkind 提供支持的站点上投放数字广告。根据 Wunderkind 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Wunderkind 收集的与您相关的数据相整合。我们利用发送给 Wunderkind 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Wunderkind 隐私政策
ADC Media
我们通过 ADC Media 在 ADC Media 提供支持的站点上投放数字广告。根据 ADC Media 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 ADC Media 收集的与您相关的数据相整合。我们利用发送给 ADC Media 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. ADC Media 隐私政策
AgrantSEM
我们通过 AgrantSEM 在 AgrantSEM 提供支持的站点上投放数字广告。根据 AgrantSEM 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 AgrantSEM 收集的与您相关的数据相整合。我们利用发送给 AgrantSEM 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. AgrantSEM 隐私政策
Bidtellect
我们通过 Bidtellect 在 Bidtellect 提供支持的站点上投放数字广告。根据 Bidtellect 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Bidtellect 收集的与您相关的数据相整合。我们利用发送给 Bidtellect 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Bidtellect 隐私政策
Bing
我们通过 Bing 在 Bing 提供支持的站点上投放数字广告。根据 Bing 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Bing 收集的与您相关的数据相整合。我们利用发送给 Bing 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Bing 隐私政策
G2Crowd
我们通过 G2Crowd 在 G2Crowd 提供支持的站点上投放数字广告。根据 G2Crowd 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 G2Crowd 收集的与您相关的数据相整合。我们利用发送给 G2Crowd 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. G2Crowd 隐私政策
NMPI Display
我们通过 NMPI Display 在 NMPI Display 提供支持的站点上投放数字广告。根据 NMPI Display 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 NMPI Display 收集的与您相关的数据相整合。我们利用发送给 NMPI Display 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. NMPI Display 隐私政策
VK
我们通过 VK 在 VK 提供支持的站点上投放数字广告。根据 VK 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 VK 收集的与您相关的数据相整合。我们利用发送给 VK 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. VK 隐私政策
Adobe Target
我们通过 Adobe Target 测试站点上的新功能并自定义您对这些功能的体验。为此,我们将收集与您在站点中的活动相关的数据。此数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID、您的 Autodesk ID 等。根据功能测试,您可能会体验不同版本的站点;或者,根据访问者属性,您可能会查看个性化内容。. Adobe Target 隐私政策
Google Analytics (Advertising)
我们通过 Google Analytics (Advertising) 在 Google Analytics (Advertising) 提供支持的站点上投放数字广告。根据 Google Analytics (Advertising) 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Google Analytics (Advertising) 收集的与您相关的数据相整合。我们利用发送给 Google Analytics (Advertising) 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Google Analytics (Advertising) 隐私政策
Trendkite
我们通过 Trendkite 在 Trendkite 提供支持的站点上投放数字广告。根据 Trendkite 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Trendkite 收集的与您相关的数据相整合。我们利用发送给 Trendkite 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Trendkite 隐私政策
Hotjar
我们通过 Hotjar 在 Hotjar 提供支持的站点上投放数字广告。根据 Hotjar 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Hotjar 收集的与您相关的数据相整合。我们利用发送给 Hotjar 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Hotjar 隐私政策
6 Sense
我们通过 6 Sense 在 6 Sense 提供支持的站点上投放数字广告。根据 6 Sense 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 6 Sense 收集的与您相关的数据相整合。我们利用发送给 6 Sense 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. 6 Sense 隐私政策
Terminus
我们通过 Terminus 在 Terminus 提供支持的站点上投放数字广告。根据 Terminus 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 Terminus 收集的与您相关的数据相整合。我们利用发送给 Terminus 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. Terminus 隐私政策
StackAdapt
我们通过 StackAdapt 在 StackAdapt 提供支持的站点上投放数字广告。根据 StackAdapt 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 StackAdapt 收集的与您相关的数据相整合。我们利用发送给 StackAdapt 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. StackAdapt 隐私政策
The Trade Desk
我们通过 The Trade Desk 在 The Trade Desk 提供支持的站点上投放数字广告。根据 The Trade Desk 数据以及我们收集的与您在站点中的活动相关的数据,有针对性地提供广告。我们收集的数据可能包含您访问的页面、您启动的试用版、您播放的视频、您购买的东西、您的 IP 地址或设备 ID。可能会将此信息与 The Trade Desk 收集的与您相关的数据相整合。我们利用发送给 The Trade Desk 的数据为您提供更具个性化的数字广告体验并向您展现相关性更强的广告。. The Trade Desk 隐私政策
RollWorks
We use RollWorks to deploy digital advertising on sites supported by RollWorks. Ads are based on both RollWorks data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that RollWorks has collected from you. We use the data that we provide to RollWorks to better customize your digital advertising experience and present you with more relevant ads. RollWorks Privacy Policy

是否确定要简化联机体验?

我们希望您能够从我们这里获得良好体验。对于上一屏幕中的类别,如果选择“是”,我们将收集并使用您的数据以自定义您的体验并为您构建更好的应用程序。您可以访问我们的“隐私声明”,根据需要更改您的设置。

个性化您的体验,选择由您来做。

我们重视隐私权。我们收集的数据可以帮助我们了解您对我们产品的使用情况、您可能感兴趣的信息以及我们可以在哪些方面做出改善以使您与 Autodesk 的沟通更为顺畅。

我们是否可以收集并使用您的数据,从而为您打造个性化的体验?

通过管理您在此站点的隐私设置来了解个性化体验的好处,或访问我们的隐私声明详细了解您的可用选项。