AU Class
AU Class
class - AU

Maximizing the Power of Dynamo and Grasshopper for Data Exchange

Share this class

Description

Data Exchange is a powerful neutral format you can use to store a subset of your design models in the cloud. Teams can easily use Data Exchange to share design data between Revit software, Rhino, Inventor software, Civil 3D software, and other authoring software through Autodesk Docs using connectors. This class will explore the capabilities of Dynamo and Grasshopper connectors to build interoperable workflows between applications and systems to share and receive graphical and metadata. You'll learn the step-by-step process of setting up connectors in Autodesk Construction Cloud, Revit, and Rhino. Using the connectors, users will be able to easily create, update, and manage data exchanges between authoring software to share the model geometry and property data. You can use Dynamo and Grasshopper Connector nodes to retrieve available data exchanges, receive and send data exchanges, and convert them to geometries and parameters via the DxData object.

Key Learnings

  • Gain a clear understanding of how data exchanges can be used for streamlining interoperability.
  • Learn how to set up the Autodesk Construction Cloud environment to work with Dynamo and Grasshopper connectors.
  • Learn to implement workflows using Dynamo and Grasshopper nodes.
  • Learn how to maximize available nodes to generate geometries and process parameter data from data exchanges.

Speakers

  • Avatar for Nauman Mysorewala
    Nauman Mysorewala
    I am an Autodesk Expert Elite & a Services Marketplace-approved provider with more than 25 years of experience with the Autodesk® family of products including 3ds Max®, AutoCAD®, AutoCAD Architecture, Revit®, BIM 360/Collaborate Pro® & Navisworks®. I am a Registered Architect, Revit Architecture and AutoCAD Certified Professional, and LEED® AP. I have presented at AU since 2008 and numerous Autodesk Build your IQ webinars for AutoCAD and Revit in collaboration with Autodesk. I love being an Educator and have taught at University of Cincinnati & Mount St. Joseph University teaching design technology applications. I have a wealth of experience troubleshooting complex architectural, computer, connectivity, and software issues. I enjoy discovering new products and technologies and implementing them in the built environment. My latest passion is gardening and have been experimenting with propagating and grafting fruit trees. https://servicesmarketplace.autodesk.com/provider/public/bimologist Links to class material that I have co-authored for Autodesk University in 2017, 2019 and the award-winning Superb Guide to Easy Revit. Dr. Revit’s Ultimate Diet and Exercise Guide to Keeping Your Revit Models Ripped!! Link to latest Handout, data-set and presentation http://bit.ly/DrRevitAU2019 It covers topics of Revit file corruption, recovery, and guidelines to prevent issues in future. BLD125158 - Code Blue Dr Revit - How to Resuscitate Corrupt Revit Models Presentation https://autode.sk/2ZTNM4R Watch it at au.autodesk.com The Superb Guide to Easy Revit https://autode.sk/32qGdDT Sneak Peek for “Superb Guide to Easy Revit" - Autodesk Community https://autode.sk/3lo6QQX
  • Avatar for Sean Fruin
    Sean Fruin
    Sean Fruin is a Mechanical Engineer and Mechanical Applications Product Owner at IMEG, a full-service engineering firm with over 60 offices throughout the US. He is fascinated with automation and exploring computational design solutions for MEP design. He has had the opportunity to learn many aspects of the design industry, working in manufacturing as an MEP designer and consulting for General Contracting around the globe, specializing in BIM Management and Autodesk Revit development. Sean is living his dream, playing with the latest technologies, acquiring the knowledge to innovate, improving efficiency, and sharing his insights with the AEC community.
Video Player is loading.
Current Time 0:00
Duration 1:08:19
Loaded: 0.24%
Stream Type LIVE
Remaining Time 1:08:19
 
1x
  • Chapters
  • descriptions off, selected
  • en (Main), selected
Transcript

NAUMAN MYSOREWALA: Hello, everyone. Thank you for joining us, me and Sean, for Maximizing the Power of Dynamo and Grasshopper for Data Exchange. My name is, again, Nauman Mysorewala. I'm the engineering technology manager at Gannett Fleming. And Sean?

SEAN FRUIN: Yeah, I'm Sean Fruin, mechanical product owner.

NAUMAN MYSOREWALA: Yeah, and I have been an Autodesk expert elite since 2014. I've used Autodesk products for the longest time. I love to tinker with the different tools, and that's why I've been wanting to beta test all these Data Exchange connectors. And my learning and Sean's, we are going to present this class for you. And Sean, you want to--

SEAN FRUIN: Yeah, I'm a mechanical engineer. After about two years of doing design, I got bitten by the programming and automation bug. Dynamo was a big part of that journey. So then I did [INAUDIBLE] a little bit. And now, product owner, building tools for mechanical people at IMEG. Also like to tinker, yeah.

NAUMAN MYSOREWALA: So you will typically see these safe harbor where we have our own safe harbor statement, understanding and creating exchanges from Revit, and Rhino, exchange design data using Dynamo for Revit and McNeel, Rhino Grasshopper as well. At this time of this presentation, Dynamo and Grasshopper connectors, even Revit connectors, they are all in beta preview. So there will be kinks. So if something crashes while the presentation is going on, you can blame it to the beta.

So first and foremost, let's get some understanding of what Data Exchange exchanges are. Then we'll talk about how to set up your Autodesk construction cloud environment and how to send using the connectors. We'll build the graph and show you live, how to do the sending from Dynamo to the data exchange and then receiving it in Rhino to Grasshopper, and sending that updated model to Grasshopper and receiving back in Dynamo to Revit.

And last and most, we'll talk about some examples, and Sean has some very cool stuff to show you. So let's talk about data exchanges. So what are those? But before we do that, let's talk about why we are doing this. And most of the time, according to research through Autodesk, they have mentioned that 95 plus percent of the data goes unused in the engineering and construction. So how do we leverage some of those data?

There is a collaboration and data exchange across AEC, but it's fragmented. There is a multitude of authoring tools, viewing tools. And there's a lot of exchange formats, which are mostly file-based. Well, file-based is great, but there is an issue of having a live common data environment where it is automatically processed, the data is. So basically it's a very painful process, as you said, with file. There is a versioning overhead. There is proprietary data that could be exposed and costly transfer burying the storage and everything.

So data exchanges provide a better alternative. It's a standardized collaboration model. It basically efficient data and manipulation. It's a very light object that you can receive the geometry as well as the metadata. And it's the right data at the right time and the right data for the right people, meaning that you can protect your proprietary data. Sean, you want to add something to it.

SEAN FRUIN: Yeah, we just know all the pain points, I guess.

[LAUGHTER]

I've definitely witnessed all these, the collaboration standards. We have an example hitting that. The cost of transfer, how many times-- uploading a huge Revit model. That's fun, right?

NAUMAN MYSOREWALA: Yep, I know--

SEAN FRUIN: And we were just having versioning issues before this with our PowerPoint, fixing some of that stuff. Awesome.

NAUMAN MYSOREWALA: Yep, so why do we want to use exchange? It's simplified interoperability shared data, not files. And within the Autodesk ecosystem, it includes rich data, geometry, parameters. And you can view them on the web easily. There is an audit trail associated with it. There's curated collaboration, meaning that you only send relevant parts of the model to the relevant parties and the data associated with it.

Some of it is automatically regenerated based on when you update your models. And most importantly, it's the common data environment. Everything is all through Autodesk Docs, and the permissions and control remains within the single system. So you want to add something, Sean, here?

SEAN FRUIN: Yeah, it's just a cool idea, right? I guess, in general, it's this idea of almost having one model that's not a huge bulky file, right? And we can share and pull and add and subtract into this cloud information modeling. So yeah, a lot of cool opportunity. And yeah,

[INTERPOSING VOICES]

NAUMAN MYSOREWALA: So what is this-- it's a shared subset of model information. In Autodesk cloud contains graphical and parameter data, automate information sharing process. And it allows you to connect information changes to automate data flows. Basically, let's say I have a model from Revit, partial. I send it to a data exchange, and then the data exchange goes into the cloud in the model browser.

The ecosystem for data exchange, it is growing. There are now custom applications that third parties have written because of the SDK now. When I started this last year there were like three or four connectors. And that was it for my last presentation. Now you can see there is so much more in development or have been already released out in the world.

So the workflow is just, this is a cool slide that I got from Autodesk. It explains a little bit of how the data flows, that take the partial Revit model. It gets sent either to McNeel through Microsoft Power Automate to do other automated workflows, Inventor for shop drawings, and third-party custom apps as well. The key here is sharing curated sets of granular data across app and company boundaries with a high level of trust and control. You decide that the geometry that goes, and you decide who gets access to it.

So let's talk about how to set that up for our environment to make sure it works. Well, first and foremost, you need licenses for Revit, Rhino, BIM Collaborate Pro. Then you need to set up the account. You need to talk about permissions. We'll talk about in detail. We also need the data. Well, it needs to come from an authoring platform. And we need all the connectors that go with it. We'll talk about how to install those.

And the storage, in this case, the common data environment, which is the Autodesk Construction Cloud. And then you can easily make the data flow between the different applications. In this case, we are concentrating on Grasshopper and Dynamo, and we'll talk about a little bit of Power BI at the end.

So permissions, first and foremost, you need account admin to install the Dynamo Grasshopper app for the tenant itself. Then to load data exchanges, the folder where the data exchanges are created in ACC Docs needs view plus download access. And Dynamo and Grasshopper creation will need edit permissions to write the data exchange as well as to update it too. Sean?

SEAN FRUIN: Yeah, so I ran into a problem, right? So actually, I did not have administrator access. So I had to reach out to my BIM manager, and I'm like, hey, can we add these connectors to our project, right? And it adds them across the company. So that was a little bit of a problem. He was concerned about tokens usage and what this would do. What happens if thousands of people start building all these data exchange. And I had to calm him down and explain, hey, right now we're good. Don't worry about it, no token usage. And then he added me activated, and I could go on my way with exploring data exchange some more.

NAUMAN MYSOREWALA: Sean, though, I do want to say, the but part, it's free now, but wait a little later when it goes up and running. Let's see. It will be tokenized somehow.

SEAN FRUIN: I imagine.

NAUMAN MYSOREWALA: Yeah, so connector installs for the desktop. You can download the connectors, but first you need to the data exchange beta site. The QR code is right here. You can scan that and download the-- or go to the website and join the data exchange connectors and public SDK beta. Then you need to download the connectors for Revit, Dynamo, Grasshopper. And you can also download the Rhino. It is not necessary, but the Revit connector and Dynamo connector are necessary. They work in tandem to send the data itself to the data exchanges.

Make sure if you are testing it before and install all the previous versions, then install the latest and greatest. When you are at the feedback side, any of you who haven't gone there before, there are more opportunities. My favorite is the Revit preview project, which gives you the access to Revit before it's released to the general public. But most importantly, it allows you to provide feedback. Same thing with this beta 2. It's the feedback that's important. So connector installs. Basically, you need to go to the Autodesk Construction Cloud app and Installs.

Under the featured app, you can find the data exchange, Dynamo data exchange for Grasshopper. There is one for Rhino as well. You need to enable those and install it into your tenants. Basically, you open the page, click on it, and there is a install button do that. Then there needs to be a data prep. So I'll talk about just a quick run through of how you can send the Revit model directly onto-- as a data exchange through the Revit connector just to give you an idea.

Basically, I have created views in here, which preselected information in it. Then, in publishing settings, I basically add those views to publish when I synchronize to central. And it has to be a collaborative model, definitely. And then publishing is important. I tell people, make sure you publish at the end of the day, no matter what. And then, basically, you can create a data exchange in ACC very, very easily. Or you can create it directly from the Revit plugin.

Two, the benefit of the ACC is it auto updates. As soon as you publish the model, it detects the changes in auto updates in Revit. Plugin you have to manually push the update. So let's do from Revit. Switch to a 3D view, launch the data exchange add-in from the Collaborate tab. Next, click on Plus Create Data Exchange. Select the project and folder for storing the data exchange I have precreated the folder in my project.

And once you click Create, then it asks you to name it as well as select the folder. And then you can say Create Data Exchange, select View, other than current view if you want. Or you can filter also filter elements, the elements that you just want to send. But I have set up my views to the elements that I really want to send anyways. And then click on Data Exchange and boom.

The con, as I mentioned, manual updates, Revit. And elements and parameters, a lot of them are transferred over and as Revit elements too. Then creating the exchange in ACC Docs, basically, switch to the files tool. Click on the model that we have published, and then open the sheets itself, the 3D view. If you hit the three dots, it allows you to create data exchange. And specify the save folder and the name of the-- and click on Create exchange. And boom, it's done.

Now, as soon as it happens, update happens into the project, it updates. I'll show you in a second. And automatic updates, that's the Revit. Elements and parameters are still intact in this case. So if you can see that it's a very quick process. You just-- I update the-- publish the model. So hit the Publish button. And once it's done processing, you will notice that on the data exchanges, they automatically start updating for you. So I think, Sean, you want to talk about the Rhino connector?

SEAN FRUIN: Yeah, sure. So yeah, this is a really cool workflow that was actually developed by the team doing-- building all this stuff behind the scenes, Autodesk team. This is a really good example of taking geometry from Revit where we can use that to drive some type of computation or design inside Rhino. So here, we're doing the part where we just filter down to the stuff that we want, right?

Then we can create our data exchange in Revit. Go through, name it something not too hard. I like the feature of just being able to isolate stuff. You could even get down to isolating stuff, hide element and view everyone's favorite. But you could use something like that to really get granular of what you're trying to share.

All right, so once that data exchange is created and uploaded to the cloud, we can actually pull that in now into Rhino. And then we can use all the powerful, awesome capabilities. So here we are, right? We're navigating through our AEC project folder. Here's a little preview of what's going to come in. And then a couple clicks of a button, we have this geometry now in Revit, right? Some people ask what about Rhino inside Revit? They're different. Again, this is a way to really aggregate the data that you want to send in an audit trail, where Rhino inside's built for a super user that's using both programs.

So you can see this coming from architect going to a fabricator, manufacturer, or something like that, or even a computational designer where he can build different facades and send that geometry back and forth. So there we can see. Now, we have this awesome building where we can even just taking subsets of geometry and put it in and sub it out and do a whole bunch of cool stuff with it. So yeah, a lot of potential there, I think, for iterating over projects, and pretty straightforward.

With a little bit more advanced stuff you can control, I think, what categories are coming in. You can actually exchange parameters and stuff like that. So really cool stuff. And there we have it. So we just took the two-way trip between Revit and Rhino in a very controlled and granular manner.

NAUMAN MYSOREWALA: So the only thing that the issue is basically that the parameters-- the model always comes in as generic model from Rhino.

SEAN FRUIN: That's why we got Dynamo. We could do some tricks there. Will you go back real quick?

NAUMAN MYSOREWALA: That's why we're talking about Dynamo. That's where the power of Dynamo comes in where you can manipulate that.

SEAN FRUIN: Can you go back real quick?

NAUMAN MYSOREWALA: Sure.

SEAN FRUIN: I just really want to hit this point because this is the mechanical geek coming out of me. So what I see as really cool is we can take this drive geometry and build facades with Grasshopper and Rhino, use that stuff. But then could send multiple exchanges through the cloud to Revit. And then Revit has the capabilities with a systems analysis, something I've worked a lot with, is you could very quickly run a full energy simulation with systems analysis.

So what I picture in my dream is being give me a facade A, B, and C. Let's run systems analysis and really get an understanding and something we can show to an owner and maybe even sell that as upscale and more business, right? Go on. Sorry. I just had to get my mechanical [INAUDIBLE].

NAUMAN MYSOREWALA: No, perfect. Thank you so much. So we'll need to build the graph, and I'll show you live. So let's do this. First and foremost, we'll talk about data exchange and Dynamo nodes. There is this load and create exchange. Then we get into the inputs where we receive the data exchange. Depending on the unit, you can specify. Then the DX data, which is the output of the receive, and convert those into parameters and geometry. We can also query the exchange for the information where it's located and the ID of it as well, when it was last updated.

And also, when you get the DX data, you can also filter objects and receive that data after filtering it. And then, if you want to send the data, you have to basically have an exchange. You convert your geometries and parameters into DX data and send it through that. We'll go over that a bit. This is the parameter conversion to DX parameters.

When you install that Dynamo, it also installs another set, what's called Autodesk parameters, which are basically these Forge parameters that data exchanges relies on. And in my book they are very convoluted right now, as it seems. And there may be an easier way down the road to do these, maybe functions and stuff that we can develop. But we'll talk about a little bit more detail about these later. Do you want--

SEAN FRUIN: Yeah, I'll take this one. Yeah, so here I was just trying to illustrate how to actually use these nodes. I know the image above was probably pretty overwhelming. So this is an example of using it. In the blue, we just have, hey, I want to get some geometry from Revit. I'm going to easily select that, and now I have geometry. In the yellow, we have, all right, let's take this geometry and parameters and create a data exchange with it. The part that I want to focus on here is the creating the spec parameters, and this is the part that we both agree is a little convoluted. But I think-- we go in the next slide, blow it up a little bit, we'll be good.

Yeah, so here we are. So first thing is we have this dropdown, and there's multiple dropdowns. And this one there's some stuff on string specs. There's one on measurable parameter specs. This is your airflow, your areas, your volumes, your temperatures. Can you think of one? Whole bunch of them in there. It's also a Boolean one.

So from there, though, we're going to get the spec ID. So again, it's kind of taking a string and now getting something a little bit more backend Revit, Forge heavy. Then, for some reason, we have to go into this spec-by-spec type ID. This gives us what looks like a string. But again, it's something else. And that's the input to this critical node that is data parameters create parameter type.

So now we have the spec, but we also have to add a name for this parameter and then a description for this parameter. So this is a very analogous to creating a shared parameter. From there, we now have all this just to get our type ID, and then we can go ahead and add a value to it. Here we were not creative at all, and we called it panel A.

NAUMAN MYSOREWALA: And that's the data parameter output that goes into--

SEAN FRUIN: That is for creating one data, one parameter. And then that goes in, and we'll show later. You can do a list of parameters, and-- Yeah.

NAUMAN MYSOREWALA: Yep, so here's the quick workflow just wanting to show you the data. I would take the model, extract the information, let's say, the facade, create the data exchange, and then send it to the ACC Cloud. Once that, then you use Grasshopper to receive it and into Rhino if you want to. Or you can modify it in Grasshopper directly. And let's say I updated the facade. I push it back out as a data exchange and then receive it back into Revit through Dynamo and assign it a category. So that's the overall workflow.

What I'm going to show you right now would be to take a mass surface that I created, send it to Rhino. And in Rhino, develop the geometry. I won't be spending time showing the geometry, how it's done. But I have that. And then send it back into Revit and assign it a category and the material in Revit. So here's the demo. We'll talk about this.

So next step is this, how to send the exchange. And we'll be looking at this in the project. And to do this, let's build this graph in Dynamo. Let's see. We can switch to Revit, and then we have our Dynamo running as well. I'll start a new node here, the new graph or workspace. It's empty right now. So first and foremost, we need to do is get the element from Revit, which is this right there, the surface mass.

So to do that, all I need is the category, so category. I have been making a lot of mistakes with this, with selecting this categories by mistake. And it blows up the graph, and I bang my head trying to figure out. But then I realize this is coming from Autodesk parameters, the Forge category, not a Revit category. So I'll put that in here. I'll show you a little bit later what the Dynamo nodes are for the data exchange in a second.

Let's see. So I need the mass. So select mass. Get that mass. Now I need all elements of category. I really like the search All Element. [INAUDIBLE] subcategory right there. That's connected. I like to group these a little bit to help me understand a little bit better and clarity for others. So this is element selection-- if I couldn't spell it. And I usually like to categorize my group styles, which is the inputs right there. And then what I need to do is convert these elements into the raw geometry. And to do that, we need another node called element.faces right there. That will extract that.

So I connect this elements to element. And then when I run this, if you notice, I have a list of two surfaces, the first surface and the second surface that is coming through. Once we have this, we can talk about some data exchange parameters that we need for creation. We'll need them at the end, but I want to at least show you where they are. This is the data exchange under add-ons.

There is two dropdowns here, data exchange, which is the get exchange. You need that node for every graph you do to work with exchanges. So I'm going to grab that. It allows you to load it from the cloud or create it in the cloud. And basically, this nodes give you a little bit more information about the exchange if you want to. And then I can connect this like that. And the output you can get the name and stuff.

The other part of it is this DX data. So this is where you receive the geometry, send the geometry with it. So I'll click on the send node and set it right here and connect this exchange to the send exchange. And set making sure-- I need to set this to foot because that's where my model is. It used to be only metric, but now they have enhanced it and allowed most all units in data exchanges. So I'll just group this out a bit and, again, call it Create Data Exchange.

And once I do that-- I need to, again, I'm like a little neat freak here. So I'll just make it that. And then I'll add this to the same group right there. So now I have the geometry, but I don't have the parameters. So we need another node from DX data right there. That is basically bigeometries and parameters.

So what this node does for you is converts the geometry and parameters into DX data. Notice these are not Revit parameters. These are the data parameters that Sean showed you earlier. What we need is connect this surface to the geometries. Now comes the little harder part where we need to extract the name of the object, basically, the mark that we'll talk about how to do that.

And to achieve that, I'm just going to create a string first with the name of the parameter that I need. And let's call it mark, and like that. And then what I need is another node called parameter.parameterbyname. Add that node right here. And what we do is we need to connect the name right here to this and then the output of the element right here into this node.

So I will freeze this here for the time being so we don't get errors right now. Try to run now and see what the output is of this. So it says, oh, there is the mark facade. It generates a list. We're not done yet. We have a lot more to go because we need another node called parameter spec type. I'm pulling the parameter spec type from the element automatically. So depending on whichever parameter you do, it allows you to easily pull that information directly from the object. What I need is called spec type right there. And this one, what I do is connect this to that parameter.

Now we have the spec type. So what do we do with the spec type? Well, we need the Forge ID of that spec type. So Forge.typeID. Thanks, Sean, for helping me with these because it was very confusing. So I connect this to a Forge type. Now we have a string. I don't know why it's called string, but it is. Trust me. Some of the naming is confusing.

SEAN FRUIN: I don't know why either.

NAUMAN MYSOREWALA: [INAUDIBLE].

[LAUGHTER]

Spec.byspectypeID right there. Now, we take this string output to this type ID. I have no idea why it's called string, and then we get the spec. This is what we need, as Sean was showing you earlier. So we need now to create a parameter itself. The name of the parameter is a shared parameter. So if we're doing that, we need a data parameter.createparameterbytype. So we need the name. But we have the name already, actually, right there in my screen. I'll just move it here just to clarify, make it easy. I'll correct the name here. I need a description and the spec. Well, the spec goes like that, easy, now.

And then read only is optional and then the description. So for a description, again, I'll just get a string and call it-- now we have that, and feed it to the description. Now, let's try to run this and see make sure the graph is working. Yes, we didn't get any errors. It just gives you this Dynamo parameter name, something something. Well, I'm going to now, again, group these guys-- oops, wrong one. This and select these, and I'll call it parameter processing.

And I'm just going to group style this under Actions. And then, once I have this, now I can take this not yet because we need another parameter, convert this and give it the value of that parameter. To do that, I'm going to use another one called Data Parameter. Oops. DataParameter.bytypeID. Oh, no, not that one. Sorry. DataParameter--

SEAN FRUIN: I can just now wait until someone in the Dynamo community takes over what we're doing right now and just smushes it inside of a node, whether it's a Python node or a custom node. I will--

NAUMAN MYSOREWALA: Yeah.

SEAN FRUIN: If that's not done by Revit 2025 in AU, in 2024 I will do it and put it in my Dynamo package.

NAUMAN MYSOREWALA: Yeah, so string, type ID, and the value of this is going to come from the value of the parameter right there. We have extracted this parameter value, which I need to still use a node called Parameter Value. Yeah, I know it gets a little bit-- parameter.value. Woo! Man, my brain is fried at this point, OK?

SEAN FRUIN: Yeah, that's another thing to note too on this, right? You do this once, and it's repeatable. So you won't-- build the system out.

NAUMAN MYSOREWALA: I think-- yeah.

SEAN FRUIN: It should be a little bit easier, but yeah, it's not ideal.

NAUMAN MYSOREWALA: Yeah, and now, I want my parameter to push, hey, whoop de doo.

SEAN FRUIN: Yay!

NAUMAN MYSOREWALA: Yes. OK.

SEAN FRUIN: Fingers crossed, let's run it.

NAUMAN MYSOREWALA: Huh?

SEAN FRUIN: I said, fingers crossed. Let's run it. Yay.

NAUMAN MYSOREWALA: Yep, cross my fingers. OK, so now I can take the DX data that was converted into the node of that. But before we run this, we need to make sure that we create a parameter of data exchange in the cloud. I can select the folder right here, and then I'll call it [INAUDIBLE] DH1 and say Create Data Exchange. This just creates that placeholder I talked about.

Now, before you press Run, you need to click on Send and then hit the Run. So now it is going to send it. While it's sending it, basically, it's taking the geometry, taking the data, and pushing it into the cloud. We can see that progress as well. Notice that we have-- oh, it's still waiting for it. So once this goes through, we'll get a little bit of-- depending on the complexity of the geometry and the data and everything, this may take time.

So while this is running, let's switch to Grasshopper and Rhino. So in Rhino, what I need to do first is to start with a new template. This template I need is-- since I send it in foot, so I'll do a large-- right there, large objects feet, open. And now have the template ready, and I start the Grasshopper. I have this graph preloaded just to show you where all the data exchange nodes are. These are the conversion nodes, baking, and all that here. Exchange info, get exchange.

So these are basically the same as in Revit with a little bit different flair to it. There are a little bit more convert to parameters from DX data. It has a little bit more enhanced outputs from it and makes it easy to convert the data parameters as well. And then there are filter still, convert to geometry from the DX data. If you want to make the geometry in Rhino you have to bake it. I love that term. And then you can convert the geometry parameters to DX data and send it out.

So I will start a new document. And with that, I will start receiving the information. To do that, I need the get exchange node always. The next one I need is the receipt, which is right here. And then if I want, I can click on the info one as well. Where is that one? Right there. So basically, this goes into right here. The result of this also goes here. We can see what the information has.

Then, once we start receiving it, what we need to do is convert the DX data into geometries. So the node that we need is convert to geometries right there. And then the next one we need is convert to parameters as well, DX data and convert it to parameters. And so we connect the output of this receive node to the DX data right there. Once that is done, I'm going to just create a panel here just to see what's coming in. I'll just do the parameter like that, parameter keys. I hold the Shift key to add multiple nodes right here. And once we run that, we'll see how it goes.

Then what we also need is Convert to geometry. So what does that mean? Well, we got the geometry and everything. Let's run the node. But before we do that-- well, it's automatically running, sorry, in the background. I'll say Load. Hopefully, you will be presented with the dialog box soon, if it doesn't crash. So next what we want to do is load the data exchange from Revit that will send through. Oh, great. Oh, boy.

So I have a premade-- this is the beta that is causing that issue. We'll just continue this at this point, and then we'll try to bake this automatically right there. So the next node we need is the baking node right there, and place that, so the geometry. And next we take the parameters and put that in here. And then we click on bake. So this is the basic graph that we have.

When we load it, for some reason, it's not working for me. And it's OK, I'm going to save this. And I'll open up another of my file here that has the information imported in. So the information that came in was basically right there. That's the surface I got. I basically took that and placed some fins on top of it. So right there, that's the geometry I quickly created right there.

And now what I need to do is send this information into the cloud back again. So to do that, again, I will have to do is create a data exchange from Rhino itself and go from there. So I need to launch Grasshopper again. Start with a new document. And I'll just walk you through the process because I know it is-- some reason, it's not working. So what I need to do next is send this panels to a data exchange so Revit can receive it through Dynamo.

So let me launch Grasshopper. And let's start with a new document right here. I'm going to test the first thing here and make sure that this routine is working and whether I can do that or not. And it is not going to cooperate with us right now. I don't know what the deal is. It was working fine before, but I will show you the results and everything. And I'll show you how to build that graph that we need itself.

So we need the graph for sending and receiving. So this, I'll put it at the end. The next item I need is to select the geometry. I just used a simple geometry right there and grab all the solids using the BREP. To do that, what I need to do is first I need to click on Set multiple BREPs. And this allows me to select directly from the-- there is a geometry pipeline too I can use, but I just need to select the solids. And now this BREP has-- if you notice, that it says 15 locally defined.

Now, I need also the data exchange. And we need to convert the geometry and parameters. So we need that. So right here, it's convert to geometries. This is convert parameters. The next one is to send is the plus sign right there, DX data. So right there, we'll put that DX data right here because we need it at the end. First, we need to work with the geometry itself. We have the geometry, the solids from the BREPs right there. Well, B REP, sorry. And we connected to geometry.

The parameters are another item right there that we need to deal with. We also need another one called Send the DX data and Create the data exchange. So the result of this load needs to go under exchange. And right here, I need to connect this data right there into this send node.

Now, let's talk about parameters. So first and foremost, what I need to do is get a set of lists that I need to send. Basically, it's an index list right there. What I need is to do is this mark ID and the fin is my prefix. And I'll combine it to automatically mark 1, 2, 3, 4, 5, 6, 7, 8. And then it orders it automatically. So we'll create that. And to do that we'll just use a List length, list length. The list length will take this BREP right there and put it in the length. And then next we need to generate a series out of it.

So we'll create that series. The series allows us to give the count for 15 of them right there. Next, I need a panel node. And I need to do is there-- it says multiline data. I'm going to turn that off and say draw paths is turned on and draw indices is turned on right there. I can add my information here, mark, which is the parameter name, and then fin, which is the initial--

So once I have this, I need another one called longest list. The longest list will give us-- and it will combine it together for us. So I'll put this mark fin and add it to the list A of this and this series out to list B. Then we need to review the-- we'll use this create statistics node and connect-- we just need to use the list A output here. We don't need any other ones. And then we have to get another node for series. So I'll do that, and then connect the count to the count node of the series.

At this point, we have the output coming through. But at the end of the day, we need to concatenate the mark and fin together. So to do that, let me put a panel here so we can see the output of this. And we need the other node called Concatenate. And would take this and put it in fragment B. And then we take the list A output, longest list output to fragment A and then connect this to that. So we get the list right there, but it won't work. Every one of them will be called fin zero. Then the problem is, what I forgot to do is I need to switch this to graph. Once I do that, I need to also switch this to graph.

Now I have the list correctly generated for me, and we take that result and dump it into parameters. So once I have this, I can create the exchange in the cloud and then hit the Send button to send it. It's not working, but we'll show you the results that we did it earlier. So Grasshopper to Dynamo, I just did that earlier for you. So this is what I was sending it out. And the receiving of the Dynamo was basically this one. So I sent the object from Dynamo to the surface. So this was my surface that I had sent right there. So that's that.

So next step now I need to work in Revit again. So I'll go back in here and launch my Revit again. I had some issues, so I had to restart it again. So I'll hurry this up since we are short on time. I'll just load up the Dynamo graph itself, so right there. So I'm waiting for the Dynamo to load. What I need to do is now receive the exchange from Grasshopper back into Revit and convert it into that.

So to do that, let's quickly review the graph that I need for it. So I need to load the data exchange. Then I need to basically receive it and convert DX data to geometry and then DX data to parameters. We'll process the parameters, define the material category, and we'll convert them to Revit walls.

And so right there, I'll load this one to show you how this works. Oh, not this one. So I'm going to just show you the graph that I made for receiving the data exchange. So first, what I need to do is load it from data exchanges. Yay, it worked this time, for Dynamo at least. It gives you the page to load it right here. And what I need to do is get the fins from-- we can preview those. And those are it. Click on Load.

So that received it, but now we need to receive that data. But before we do that, we need to set this to foot and click. We can click on Receive. Now, once I do that, I need to run that. And it's going to receive the information from-- and it built those information right there. Now, I am getting an error, and it says, ah, the category. So as I told you earlier, I mess up all the time where this category is not the right category that I want. Categories, I need to make sure that these are the Revit one, the icon like this. Now I can select walls.

SEAN FRUIN: You did that on purpose.

NAUMAN MYSOREWALA: Hmm?

SEAN FRUIN: I said, you did that on purpose.

NAUMAN MYSOREWALA: Yeah, I did because I wanted to show people this is a constant one that I run into with the parameter, once this Autodesk parameters gets loaded. So I'll do a run again. And whoop de do. Now we have our fins into Revit placed automatically. Now, let's go to a realistic view. And you see the realistic view. Hey, Nauman, I need to hide those. And the way you do it is basically under graphic display options. But you need to uncheck the Show Edges and hit Apply. And hit OK, and no more. Boom.

I hope this helps understand how the workflow works for you. If I select one of these, it says walls. You can see that. So hope you liked it. Hey, let's go back to our presentation again and keep going with the show.

There are other workflows you can do. The Autodesk did a very good demo for food for Rhino, where they sent support points and then built a canopy and parameters and an inventor. They brought it in and [INAUDIBLE] to analyze it. So we did the Grasshopper demo. Now, Sean, we'll talk about connect and analyzing our data. So you want to go?

SEAN FRUIN: Yeah, sure. So I always like to do a fun example that someone can always relate to. So this first example is going to look at building a golf simulator with Dynamo. So first off, I'm not good at golf. Last time I played golf, I took my friend's really expensive driver, and it went farther than the ball out on the grass and had to tell everybody to stop. So I'm like this guy, not very good at golf. But I am good at computation. So I was at the friend's after built, and we were in line for the new Star Wars ride, the Millennium Falcon ride. And of course, long lines at Disney. We get a little bored. And he says, hey, check out this top secret, super cool Revit model.

And right? So pretty cool technology now, through Autodesk Construction Cloud, you can pull it up right on this phone in line for Disney, right? So a couple years goes by, and I get selected for this class. And again, trying to think of a cool, fun idea. And I thought, hey, I remember that top secret model. So I said, hey, can I borrow-- can I use that top secret model? And he's like, what? No way. What's that? I tell him, hey, go look up the exchange. He reads that he can protect his IP because, again, this is a top secret Revit model. And I say thanks, and we built this example together.

Yeah, so from there he takes his top secret Revit model. He uses Dynamo to place flags at all the flag locations in the model and place the little T geometry at all the teeing off locations. He makes a data exchange for that, uploads it to AEC clouds. I then take that data exchange with the Dynamo sandbox free to everybody, load that data exchange, and then send it off to generative design to build our golf simulator and our hole-in-one robot.

So just real quickly, the top there is the geometry that is built just from those few points that came from the data exchange. This example, I got rid of the data exchange, and I utilized-- so I brought the data in with the data exchange, but then I utilized the Data Remember node. From there, we have a couple inputs inside the Dynamo graph where the user can select their tee off location, 1 out of 60. And then they can select which hole they're trying to hit to. And then the whole geometry system has three inputs, the exit velocity, the club that you're selecting, and your body rotation.

From there, it's just cranking numbers, right, pretty much a projectile motion problem. We can start to measure the distance from our inputs to see what they are. And with the power of generative design, we can let it iterate. And it's going to find the global maximum. And it's really cool, if you think about it, because it's like 4D problem, right? You can't even imagine it in your head, but you can imagine it there. So this is just an example of that T geometry being in Autodesk Construction Cloud. You can also see the T junction is not highlighted and then the flag geometry. But it's all in there. Nice little place to review.

So here's the script. Again, I'm selecting a spot. We got the yellow, which is those inputs, matches the diagram above. Notice at the top with the stored data in blue, there's just two data member nodes. I deleted all the stuff. And this is so we could share it, so you can download it, play around with it yourself. So I could randomly hit these different sliders to produce these different flight paths. But that's not really fun. That's about as bad as that guy in the first meme that we looked at, right? So maybe there's a better way. I think the last one is the greatest because he actually turns all the way around and hits it. There he gets pretty close. You can go on to the generative design.

Yeah, so here we're going to open up the generative design. Again, we got rid of the nodes that don't really work, the data exchange nodes. But we cached all that data from the data exchange and the Dynamo Remember Nodes, which does work. We can then launch data exchange. Maybe this one's not playing.

NAUMAN MYSOREWALA: No.

SEAN FRUIN: I would just skip it a little bit. Oh, there we go. Yeah, so here I can go in now, and I can select all those inputs. Then I can say, yeah, I want to go to the white one. And here's where I start to select, hey, what variables am I trying to maximize, or minimize, in this case? I'm trying to minimize distance to a hole I've selected. So this first run, it did its thing. It didn't actually converge. So I tried it again with a little bit more. And it didn't converge again.

So you see it's cranking away. And the whole idea of this workflow, obviously, this isn't 100% accurate. It's about as accurate as doing math where bearings have no friction. My engineers out there, I think, will know what I'm saying there. But the idea is we can actually take real world geometry from a Revit model that's to scale, bring that in, and do some type of physics or computation or calculation, and optimize for variables, perhaps get that result, and then send it back to the data exchange.

A whole bunch of options there. But it's a really cool example of doing computation. Here's where you let it run wild. And you can see, it does that. So yeah, download it off the stuff, play around, look at the plot graphs. Again, fun example to get your feet wet. I think everyone understands the flight of a golf ball. So yeah.

The next fun example is this idea of taking information from Revit and getting it into a really cool analyze software, like Power BI. So really, the problem we're trying to solve here is all the people that say, hey, I do not use Revit. I get it all the time from senior engineers, right? So a pretty big hurdle to overcome. So let's see how we can get that stuff into Power Automate.

So here we're going to take-- this is actually a whole bunch of different workflows. If you can imagine, you can do a whole bunch of different stuff. But we're going to take one of these paths where we go from Revit. We build a data exchange with our rooms. You save that up to the cloud, and then downstream we can go to Power Automate.

And just a little bit, you can also get into Power BI, and that really opens up the floodgates with a whole bunch of stuff you can do. Check out Nauman's class from last year for that.

NAUMAN MYSOREWALA: Yeah, currently, the Power BI one is an alpha. So we're able to test it, luckily, thanks to the team for allowing--

SEAN FRUIN: Why? Because we joined the beta program.

NAUMAN MYSOREWALA: Yeah.

SEAN FRUIN: Yeah, so here's the script. You can skip this. If you want to look at this for the detail line by line, that's why it's in here. But we're going to go straight to the demo. So right here, we get an architecture model. We go in, and we build the Power BI. Yeah, so right here we're creating the data exchange inside of Dynamo. So it's really crucial here. And what I learned trying to, again, explore with this is, when you use the other connectors that were listed, the room geometry comes in, but it doesn't have the solid geometry.

So in this example, we're using the phase. We're going to filter down our rooms by phase. We're then going to get all the rooms. There's the geometry. So now we have the geometry of these rooms in Dynamo that was not accessible using the other connectors. We then also collect a whole bunch of parameters here. I like using dictionaries and definitions, our functions together, because you can see that the output here is really clean, so my name, number. I don't have to worry about organizing my list as it goes through the graph and the computation stuff. So there we have a very clean output.

So then we come here. So this is the version that we've shown you two times now. So this is our third time on how to create these spec parameters. Here again, I just used a simple definition where I use-- so I like to use Design Script because it's a lot cleaner. So I found out these IDs. I use the spec type by ID, and I made a dictionary. So it's a list. Then I wrote the descriptions on the other side. Then I go into the Data, Create Parameters Node. And I create a list of just seven. I have to do some transposing to get it all right. But you can see that my output now is those dozen or so parameters that I created assigned to all my different geometry. And you can see the output, pretty clean stuff right there with a total of 576 parameters.

So now I take my geometry and my list of spec parameters. Again, we use that by geometries and parameters. I create the data exchange, and we're good. Can we go on to the next one?

So yeah, so then in Power BI, you open up Power BI, the desktop app. You download the Power BI connector. And I honestly found that Power BI is one of the easiest ways to scour what's in the data exchange. You can see in. You have to sign in. Again, that's starting it up, making sure your ducks are in a row here. So let me sign in, do that double authentification stuff. No fun. Do you ever have that?

NAUMAN MYSOREWALA: Yeah, now this is something new that pops up in the browser and stuff.

SEAN FRUIN: But here you can see our data come in, right? So here's all of our space data, all those parameters that we assigned nice and neat. And now we can start to build a really powerful dashboard that people can use. I'm not a true Power BI expert yet, but I'm starting to get my feet wet. So here we're actually importing the, I guess, function. I don't know what you call these things exactly, the visualization that shows the 3D geometry from Revit.

You have to do-- for some reason, again, who knows? But you have to pull the source ID and put it under that. But yeah, follow along. A little bit back and forth, but there's our wonderful room geometry. Again, this is not possible using the other connectors to go get that geometry and do it. Another thing I really like to point out on this workflow is the fact that you can really specify now specific parameters.

You mentioned earlier, Nauman, is when you do it the other way, all the parameters come in. So you don't really know what's coming. This lets you narrow down, hey, I want these five parameters to come through. So a lot of power there in keeping structured data through and really having control of what you're sharing again.

Yeah, I think at the end we got a little pie chart where you can start doing some filtering and stuff.

NAUMAN MYSOREWALA: Now, you can visualize each block too, correct, like colorize them based on--

SEAN FRUIN: Yeah, I'm going to pull up my data hands again. They're working-- for some reason, going through Dynamo, they're having some issues with that.

NAUMAN MYSOREWALA: Yeah.

SEAN FRUIN: Hey, they gave the feedback, and now they know, right? So hopefully soon they'll have it fixed. Yes, and that's my goal is to be able to build something where you can filter down. Hey, give me the rooms that have this particular ceiling type, this particular floor finish. I'm really excited about this with presenting loads data again, mechanical guy in me coming out.

NAUMAN MYSOREWALA: That's cool, man.

SEAN FRUIN: Yeah, let's go on to the next one. Oh--

NAUMAN MYSOREWALA: So I'll just cover this quickly. So Power BI Data Exchange Connector, it's still in alpha, but they are building it. Will soon be out as beta before AU itself. But I have always liked data, data, data, big data, big data itself. So this allows us to directly tap into the Revit data through Data Connector. Since we have so much data, what will we do with it? Come on. He showed us a good example, but you can see, that's creating more data to analyze.

So next, other data that you can use using the data exchange with Dynamo and placing firedamp. So Sean, that's yours too.

SEAN FRUIN: Yeah, so this is a fun example of one that always comes up all the time. There's a lot on the form about this, the Dynamo form and stuff. But the idea here is, yeah, doing the whole, hey, I want to put fire dampers in architecture walls, right? It's like a Where's Waldo. [INAUDIBLE] the problem, it's either Where's Waldo or tangled lights when we're sharing these big bulky models. So yeah, go ahead and start this.

So right in here we have the Snowdon's Tower, and we're going to leverage the data that was already in there. So here you can see that we have fire-rated walls as a setting. Go ahead and build a view template with this. Here we have color coding for the exact hour rating for that fire-rated wall from within Revit. Again, we create a data exchange, go through these motions of calling it something, saving it to our ACC project.

I did all the filtering inside the view template for this one, so nothing there. And there we have our data exchange, and it was Version 1. I could update it, select elements actually in our project. I could delete the data exchange. There's a lot of options there. And then of course, once it's in the cloud, I can start to view this thing. (SINGING) Loading, loading, loading on the cloud. Loading, loading, loading on the cloud.

Yeah, there we go, right? So here we have it in the viewer. The next step then is to build a Dynamo graph that will take this geometry, take geometry from our HVAC model, and put it together. Can we go on the next one?

NAUMAN MYSOREWALA: One thing I want to point out, just that if you notice if you select an object or anything, it doesn't give you any properties here in the ACC [INAUDIBLE].

SEAN FRUIN: On the roadmap.

NAUMAN MYSOREWALA: It's on the roadmap, so--

SEAN FRUIN: And maybe after that's done, maybe that's the best way to view-- maybe that will trump-- it's like a competition between all these connectors and stuff and which ones does better. So now we have our HVAC model opened. I could do the link way and bring the link and worry about the design options and worry about phasing. And that becomes a big chunk of my graph. Or I could bring in this geometry from a simple data exchange. Maybe this conversation starts off at a BIM kickoff meeting or in your BIM execution plan. Who knows what workflows will look like in a few years if this idea goes to scale?

So now we're receiving that data exchange. We went through all the ropes of this. Down here, I'm actually-- again, I'm obsessed with functions and dictionaries. So down here, I'm collecting all the information I need to run this. Yeah, the next thing is just to run the clash detection between the solid wall geometry and the line segments. And then from there, we are able to see where the intersections are. That gives us a line. We can then get the center point of that line. I think there's like 12 intersections in here. And then my 12 fire dampers are placed.

So the only thing I left out is, if you remember, I showed in the schedule there's different hour ratings. So you could potentially use that filter node to get less walls that are particular to a certain hour rating and then have a selection node actually on your damper family type that match that. So a lot of options with Dynamo. Gotta love it.

NAUMAN MYSOREWALA: Yeah, some of the bummers. Dynamo Player's not supported, too much complex parameter processing, and then the conversion of geometry. Revit models or orbit objects are not transferred but just geometry materials. What materials? There's a convoluted process. Some of it-- the nice thing about Dynamo is that you can assign whatever category you want.

There is a lot more complex geometry processing. The roadmap, there is development, once you see this video, that might be a lot more, and just if you scan the QR code. But thank you so much for joining us. I hope you liked it. I hope you understood some of the workflows that we were doing. Sean, you want to end with something?

SEAN FRUIN: Thanks for your time, guys. Reach out if you have questions.

NAUMAN MYSOREWALA: Yeah.

SEAN FRUIN: Yeah, hopefully we'll see you next time. Join the beta and help shape the future.

NAUMAN MYSOREWALA: Yeah, definitely. Thank you.

______
icon-svg-close-thick

Cookie preferences

Your privacy is important to us and so is an optimal experience. To help us customize information and build applications, we collect data about your use of this site.

May we collect and use your data?

Learn more about the Third Party Services we use and our Privacy Statement.

Strictly necessary – required for our site to work and to provide services to you

These cookies allow us to record your preferences or login information, respond to your requests or fulfill items in your shopping cart.

Improve your experience – allows us to show you what is relevant to you

These cookies enable us to provide enhanced functionality and personalization. They may be set by us or by third party providers whose services we use to deliver information and experiences tailored to you. If you do not allow these cookies, some or all of these services may not be available for you.

Customize your advertising – permits us to offer targeted advertising to you

These cookies collect data about you based on your activities and interests in order to show you relevant ads and to track effectiveness. By collecting this data, the ads you see will be more tailored to your interests. If you do not allow these cookies, you will experience less targeted advertising.

icon-svg-close-thick

THIRD PARTY SERVICES

Learn more about the Third-Party Services we use in each category, and how we use the data we collect from you online.

icon-svg-hide-thick

icon-svg-show-thick

Strictly necessary – required for our site to work and to provide services to you

Qualtrics
We use Qualtrics to let you give us feedback via surveys or online forms. You may be randomly selected to participate in a survey, or you can actively decide to give us feedback. We collect data to better understand what actions you took before filling out a survey. This helps us troubleshoot issues you may have experienced. Qualtrics Privacy Policy
Akamai mPulse
We use Akamai mPulse to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Akamai mPulse Privacy Policy
Digital River
We use Digital River to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Digital River Privacy Policy
Dynatrace
We use Dynatrace to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Dynatrace Privacy Policy
Khoros
We use Khoros to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Khoros Privacy Policy
Launch Darkly
We use Launch Darkly to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Launch Darkly Privacy Policy
New Relic
We use New Relic to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. New Relic Privacy Policy
Salesforce Live Agent
We use Salesforce Live Agent to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Salesforce Live Agent Privacy Policy
Wistia
We use Wistia to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Wistia Privacy Policy
Tealium
We use Tealium to collect data about your behavior on our sites. This 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. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Tealium Privacy Policy
Upsellit
We use Upsellit to collect data about your behavior on our sites. This 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. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Upsellit Privacy Policy
CJ Affiliates
We use CJ Affiliates to collect data about your behavior on our sites. This 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. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. CJ Affiliates Privacy Policy
Commission Factory
We use Commission Factory to collect data about your behavior on our sites. This 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. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Commission Factory Privacy Policy
Google Analytics (Strictly Necessary)
We use Google Analytics (Strictly Necessary) to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Google Analytics (Strictly Necessary) Privacy Policy
Typepad Stats
We use Typepad Stats to collect data about your behaviour on our sites. This may include pages you’ve visited. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our platform to provide the most relevant content. This allows us to enhance your overall user experience. Typepad Stats Privacy Policy
Geo Targetly
We use Geo Targetly to direct website visitors to the most appropriate web page and/or serve tailored content based on their location. Geo Targetly uses the IP address of a website visitor to determine the approximate location of the visitor’s device. This helps ensure that the visitor views content in their (most likely) local language.Geo Targetly Privacy Policy
SpeedCurve
We use SpeedCurve to monitor and measure the performance of your website experience by measuring web page load times as well as the responsiveness of subsequent elements such as images, scripts, and text.SpeedCurve Privacy Policy
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

Improve your experience – allows us to show you what is relevant to you

Google Optimize
We use Google Optimize to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Google Optimize Privacy Policy
ClickTale
We use ClickTale to better understand where you may encounter difficulties with our sites. We use session recording to help us see how you interact with our sites, including any elements on our pages. Your Personally Identifiable Information is masked and is not collected. ClickTale Privacy Policy
OneSignal
We use OneSignal to deploy digital advertising on sites supported by OneSignal. Ads are based on both OneSignal 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 OneSignal has collected from you. We use the data that we provide to OneSignal to better customize your digital advertising experience and present you with more relevant ads. OneSignal Privacy Policy
Optimizely
We use Optimizely to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Optimizely Privacy Policy
Amplitude
We use Amplitude to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Amplitude Privacy Policy
Snowplow
We use Snowplow to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Snowplow Privacy Policy
UserVoice
We use UserVoice to collect data about your behaviour on our sites. This may include pages you’ve visited. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our platform to provide the most relevant content. This allows us to enhance your overall user experience. UserVoice Privacy Policy
Clearbit
Clearbit allows real-time data enrichment to provide a personalized and relevant experience to our customers. 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.Clearbit Privacy Policy
YouTube
YouTube is a video sharing platform which allows users to view and share embedded videos on our websites. YouTube provides viewership metrics on video performance. YouTube Privacy Policy

icon-svg-hide-thick

icon-svg-show-thick

Customize your advertising – permits us to offer targeted advertising to you

Adobe Analytics
We use Adobe Analytics to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Adobe Analytics Privacy Policy
Google Analytics (Web Analytics)
We use Google Analytics (Web Analytics) to collect data about your behavior on our sites. This 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. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Google Analytics (Web Analytics) Privacy Policy
AdWords
We use AdWords to deploy digital advertising on sites supported by AdWords. Ads are based on both AdWords 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 AdWords has collected from you. We use the data that we provide to AdWords to better customize your digital advertising experience and present you with more relevant ads. AdWords Privacy Policy
Marketo
We use Marketo to send you more timely and relevant email content. To do this, we collect data about your online behavior and your interaction with the emails we send. Data collected may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, email open rates, links clicked, and others. We may combine this data with data collected from other sources to offer you improved sales or customer service experiences, as well as more relevant content based on advanced analytics processing. Marketo Privacy Policy
Doubleclick
We use Doubleclick to deploy digital advertising on sites supported by Doubleclick. Ads are based on both Doubleclick 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 Doubleclick has collected from you. We use the data that we provide to Doubleclick to better customize your digital advertising experience and present you with more relevant ads. Doubleclick Privacy Policy
HubSpot
We use HubSpot to send you more timely and relevant email content. To do this, we collect data about your online behavior and your interaction with the emails we send. Data collected may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, email open rates, links clicked, and others. HubSpot Privacy Policy
Twitter
We use Twitter to deploy digital advertising on sites supported by Twitter. Ads are based on both Twitter 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 Twitter has collected from you. We use the data that we provide to Twitter to better customize your digital advertising experience and present you with more relevant ads. Twitter Privacy Policy
Facebook
We use Facebook to deploy digital advertising on sites supported by Facebook. Ads are based on both Facebook 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 Facebook has collected from you. We use the data that we provide to Facebook to better customize your digital advertising experience and present you with more relevant ads. Facebook Privacy Policy
LinkedIn
We use LinkedIn to deploy digital advertising on sites supported by LinkedIn. Ads are based on both LinkedIn 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 LinkedIn has collected from you. We use the data that we provide to LinkedIn to better customize your digital advertising experience and present you with more relevant ads. LinkedIn Privacy Policy
Yahoo! Japan
We use Yahoo! Japan to deploy digital advertising on sites supported by Yahoo! Japan. Ads are based on both Yahoo! Japan 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 Yahoo! Japan has collected from you. We use the data that we provide to Yahoo! Japan to better customize your digital advertising experience and present you with more relevant ads. Yahoo! Japan Privacy Policy
Naver
We use Naver to deploy digital advertising on sites supported by Naver. Ads are based on both Naver 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 Naver has collected from you. We use the data that we provide to Naver to better customize your digital advertising experience and present you with more relevant ads. Naver Privacy Policy
Quantcast
We use Quantcast to deploy digital advertising on sites supported by Quantcast. Ads are based on both Quantcast 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 Quantcast has collected from you. We use the data that we provide to Quantcast to better customize your digital advertising experience and present you with more relevant ads. Quantcast Privacy Policy
Call Tracking
We use Call Tracking to provide customized phone numbers for our campaigns. This gives you faster access to our agents and helps us more accurately evaluate our performance. We may collect data about your behavior on our sites based on the phone number provided. Call Tracking Privacy Policy
Wunderkind
We use Wunderkind to deploy digital advertising on sites supported by Wunderkind. Ads are based on both Wunderkind 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 Wunderkind has collected from you. We use the data that we provide to Wunderkind to better customize your digital advertising experience and present you with more relevant ads. Wunderkind Privacy Policy
ADC Media
We use ADC Media to deploy digital advertising on sites supported by ADC Media. Ads are based on both ADC Media 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 ADC Media has collected from you. We use the data that we provide to ADC Media to better customize your digital advertising experience and present you with more relevant ads. ADC Media Privacy Policy
AgrantSEM
We use AgrantSEM to deploy digital advertising on sites supported by AgrantSEM. Ads are based on both AgrantSEM 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 AgrantSEM has collected from you. We use the data that we provide to AgrantSEM to better customize your digital advertising experience and present you with more relevant ads. AgrantSEM Privacy Policy
Bidtellect
We use Bidtellect to deploy digital advertising on sites supported by Bidtellect. Ads are based on both Bidtellect 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 Bidtellect has collected from you. We use the data that we provide to Bidtellect to better customize your digital advertising experience and present you with more relevant ads. Bidtellect Privacy Policy
Bing
We use Bing to deploy digital advertising on sites supported by Bing. Ads are based on both Bing 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 Bing has collected from you. We use the data that we provide to Bing to better customize your digital advertising experience and present you with more relevant ads. Bing Privacy Policy
G2Crowd
We use G2Crowd to deploy digital advertising on sites supported by G2Crowd. Ads are based on both G2Crowd 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 G2Crowd has collected from you. We use the data that we provide to G2Crowd to better customize your digital advertising experience and present you with more relevant ads. G2Crowd Privacy Policy
NMPI Display
We use NMPI Display to deploy digital advertising on sites supported by NMPI Display. Ads are based on both NMPI Display 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 NMPI Display has collected from you. We use the data that we provide to NMPI Display to better customize your digital advertising experience and present you with more relevant ads. NMPI Display Privacy Policy
VK
We use VK to deploy digital advertising on sites supported by VK. Ads are based on both VK 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 VK has collected from you. We use the data that we provide to VK to better customize your digital advertising experience and present you with more relevant ads. VK Privacy Policy
Adobe Target
We use Adobe Target to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Adobe Target Privacy Policy
Google Analytics (Advertising)
We use Google Analytics (Advertising) to deploy digital advertising on sites supported by Google Analytics (Advertising). Ads are based on both Google Analytics (Advertising) 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 Google Analytics (Advertising) has collected from you. We use the data that we provide to Google Analytics (Advertising) to better customize your digital advertising experience and present you with more relevant ads. Google Analytics (Advertising) Privacy Policy
Trendkite
We use Trendkite to deploy digital advertising on sites supported by Trendkite. Ads are based on both Trendkite 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 Trendkite has collected from you. We use the data that we provide to Trendkite to better customize your digital advertising experience and present you with more relevant ads. Trendkite Privacy Policy
Hotjar
We use Hotjar to deploy digital advertising on sites supported by Hotjar. Ads are based on both Hotjar 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 Hotjar has collected from you. We use the data that we provide to Hotjar to better customize your digital advertising experience and present you with more relevant ads. Hotjar Privacy Policy
6 Sense
We use 6 Sense to deploy digital advertising on sites supported by 6 Sense. Ads are based on both 6 Sense 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 6 Sense has collected from you. We use the data that we provide to 6 Sense to better customize your digital advertising experience and present you with more relevant ads. 6 Sense Privacy Policy
Terminus
We use Terminus to deploy digital advertising on sites supported by Terminus. Ads are based on both Terminus 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 Terminus has collected from you. We use the data that we provide to Terminus to better customize your digital advertising experience and present you with more relevant ads. Terminus Privacy Policy
StackAdapt
We use StackAdapt to deploy digital advertising on sites supported by StackAdapt. Ads are based on both StackAdapt 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 StackAdapt has collected from you. We use the data that we provide to StackAdapt to better customize your digital advertising experience and present you with more relevant ads. StackAdapt Privacy Policy
The Trade Desk
We use The Trade Desk to deploy digital advertising on sites supported by The Trade Desk. Ads are based on both The Trade Desk 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 The Trade Desk has collected from you. We use the data that we provide to The Trade Desk to better customize your digital advertising experience and present you with more relevant ads. The Trade Desk Privacy Policy
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

Are you sure you want a less customized experience?

We can access your data only if you select "yes" for the categories on the previous screen. This lets us tailor our marketing so that it's more relevant for you. You can change your settings at any time by visiting our privacy statement

Your experience. Your choice.

We care about your privacy. The data we collect helps us understand how you use our products, what information you might be interested in, and what we can improve to make your engagement with Autodesk more rewarding.

May we collect and use your data to tailor your experience?

Explore the benefits of a customized experience by managing your privacy settings for this site or visit our Privacy Statement to learn more about your options.