AU Class
AU Class
class - AU

Using Dynamo with Fabrication Parts in Revit: How It Can Automate Mundane Tasks

Share this class
Search for keywords in videos, presentation slides and handouts:

Description

This class will cover using Dynamo with Fabrication Parts. It will be an intermediate class, which assumes attendees know the basics of Dynamo. We will add parameters to Fabrication Parts, look at the nodes available for Fabrication Parts, and build a few scripts to automate processes in Revit software. At the end of this class, we will look at additional possibilities for Dynamo within the Revit environment that will increase your departments’ productivity.

Key Learnings

  • Understand what Dynamo can do for you with Fabrication Parts in Revit
  • Learn how to use different packages within Dynamo to access information currently unavailable
  • Learn how to create a Dynamo script to write a specific parameter to a specific list of fabrication parts
  • Explore some additional Dynamo examples that work with fabrication parts, and discover how useful it can be and how it can increase productivity

Speaker

  • Kevin Allen
    Kevin Allen is currently employed at Comfort Systems USA (CSUSA)—a premier mechanical systems installation and service provider with annual revenue of $1.6 billion—as Director of Building Information Modeling (BIM) and Productivity. CSUSA is a national organization with over 7,000 employees and 45 operating companies (some being service only). Currently 26 of these locations utilize virtual design and construction (VDC), with 10 sheet metal fabrication shops, numerous pipe and plumbing shops, and 205 employees utilizing the Fabrication software products on a single database. Kevin is responsible for implementing, training, and advising on best practices for these companies, developing standards within the organization, and providing technology recommendations for the future, along with numerous other tasks.
Video Player is loading.
Current Time 0:00
Duration 1:00:20
Loaded: 0.28%
Stream Type LIVE
Remaining Time 1:00:20
 
1x
  • Chapters
  • descriptions off, selected
  • en (Main), selected
Transcript

KEVIN ALLEN: OK. Here we go. Class number two for the day. And we'll do three in a little while. So how many of you were in our first class this morning? About half. OK.

So we'll go through a little introduction here. And then, we'll actually dive right in. We're actually going to get into Dynamo create a few scripts here on the fly, and show you some of the things that we're doing with it here at Comfort. We alluded to that a little bit this morning. But now, we're going to do a little bit deeper dive into what it's doing for us currently today.

So I'm Kevin Allen, director of BIM and productivity. William Tucker's going to assist me here. He's in the gray jacket over there. And then, we have Josh here as well. So the three of us work here at Comfort as a team trading off responsibilities, if you will, helping train in the neighborhood of around 150, 160 users of the software in some way, shape, or form, whether that's CAD MEP Tracker, CAM Duct, FAB Parts and Revit, estimating all of the above.

So we work with 26 companies nationwide. And this year, we'll do about $2 billion a year in total revenue. So we're pretty busy, let's say the least. All right.

So let's start first with I'm not a Dynamo expert, but I've figured out what to do by going online, doing some reading-- Dynamobim.org-- and been able to make some things work. I know if I can do it, you can do it. So let's go through some things, let's show you what we're doing, maybe it'll give you some ideas about what you could be doing with it. And then, we go from there.

So everybody here, just be aware there's basically three packages that work for fabrication parts currently today. That's it. I would like all of you to get on some forum and ask for more people to develop nodes for us for Dynamo. Because the more nodes we have, the more things we could do with it. But we're really limited with what we can do with Dynamo and fabrication parts. It is what it is. This is where we're at today.

So Dynamo nodes are either written in C sharp or Python. And it takes the Dynamo node in order for us to hook up the wires, in order to make things function. Those nodes are tying into the API.

So we had a question this morning-- if you're in this morning's class-- one of the questions was, can we do things in Dynamo that you can't do with the API? The answer is no. It has to function in the API. You have to be able to do something by sitting down and writing code. First, somebody has to hook up the node into the API in order for Dynamo to work. It's open source.

Anybody can write nodes for Dynamo. But it gives people like me who, I don't even know any programming language-- I know maybe a little bit of list, but that was always backup. I forgot that. It gives us the ability to make Revit do things that normally we would have to hire a developer to do. We can sit down and do it ourselves.

So it's pretty robust in that situation. But when we only know the three packages, that limits what we can do. And we're going to talk about some of that. We'll go through that.

So one of the things that we got a node to do-- and my class is not as fun as the one next door it sounds like. (LAUGHS) What am I doing wrong? (LAUGHS) Maybe we ought to cheer and see if we can get louder than them. (LAUGHS) Just for the heck of it. (LAUGHS) OK. All right.

Part CID. For those of you who are in the fabrication database, you know what CID is, right? Our customer ID. That's our way of telling CAD MEP S Cam we can use that as a lookup. So if you're in the piping side, you're using 2041. And you're going to use 2041 to build a fabrication report and filter that report to get a report of linear footage of pipe for a job.

Well, in Revit-- what's that? No, I thought you had a question. In Revit, if you don't use this node and write that parameter to a-- write that data to a parameter, I can't run a schedule in Revit it and get linear footage of pipe at a Revit. Very easy. Trust me, you can do it.

But if you look at this, the way you build schedules, you have to tell it not this, not this, not this, not this. Well, at some point, you run out of "nots," and you can't even get the schedule to populate the way you want. If we run Dynamo, and we add this CID to a parameter that we've created, now I can build a schedule where some parameter equals 2041 because that's pipe, and I've got my schedule created. It's very simple at that point. I only need to filter one field, one parameter.

Same thing for service type. If you've been in fabrication and you've written reports, you use service type all the time for all kinds of things. Well, again without having the node and punching that data into a parameter, it's very hard to create a schedule, hard to do things with fabrication parts. You can do it, but it's not the easiest.

I actually have one. We're trying to get the easy button. I want to make it easy for myself. Build a schedule and it works every time. Don't get me wrong. If we don't run Dynamo first, our schedule doesn't populate properly, right?

So we've got a schedule that's dependent on a parameter CID-- or in this case, service type-- that won't work. That's OK. Just go to Dynamo Player and hit Run. OK, now we fixed it, and now our schedule works.

So some other pieces. Get fabrication configuration information. So in this case, I've loaded the default imperial build from Autodesk. And it gives it its GUID.

So how many of you understand what the GUID is in your CAD MEP database? Everybody know where that's at? Yes? Copy it out. I'm telling you. Go to your database, copy out your GUID, and store it in a safe location.

William had to remind me about this morning. I remembered this time. That is unique to you and your database.

If you're loading configurations, you want that to be yours and your configuration inside of Revit. We've had situations where we tried to load a configuration, it might already been loaded by the engineer. You're going to have to take that back out, rip out that information. Hopefully didn't draw anything in. And if they did, not very much so that you can take that out so you can load your database. That's what you want in there to start drawing with fabrication parts.

We've had our database. Mysteriously, that number gets changed somehow. Well, if you've already loaded a configuration into Revit with your previous GUID, and then you try to reload config, it's not going to work. Throws up an error on you. In that case, you want to make sure that you take that secretly stored GUID, put it back into your database, and then reload configure that work. So that's a node that's going to give you that information. And it gives you a lot of other stuff you see here, profiles and all kinds of good things.

Fabrication part dimensions. This is a new one. So somebody from quality put this package together, bio RPG, if you're on the Dynamo BIM or extra CAD. He put this package together.

This is a pretty good one, actually. So it gives the dimension type, the value, and the name. So what are we talking about? If I double click on an elbow, it's going to give me the dimension list. Top with bottom, size, width, depth. It's going to give me all of those dimension values for that particular elbow. And print it all out for me.

I can now take that data, punch it into a parameter, and I can build a schedule with all of this information. I can also use it to set a dimension value. So I'm going to show you a couple of notes here in a minute where we're setting dimension values.

So how many of you are a little bit frustrated with when you double click on an item in FAB parts and Revit, or you click on the item and you go click edit part, and you get the little spinning wheel, and you just sit there for a while, and you sit there for a while, and then finally the dialog box opens. Anybody know what I'm talking about? Yeah?

If I'm changing a dimension on an elbow, like I need to extend its throat, and I want to make it a specific dimension, I'm not going to edit the fitting. I'm just going to run Dynamo. It just changes the part value for me and I'm done. So I'm going to avoid that frustration of watching a little spinning wheel. So it's supposed be fixing that, but I haven't quite seen it yet.

So is same as-- So this comes from CAD MEP. Here's the list of ignore fields. So if you're in your renumber tool in CAD MEP, you have the ignore and you can go tick the boxes of all the things you want to ignore. This node does that for us. Now, if you want to put a script together to renumber fabrication parts inside a Revit, you can do that. I'm going to show you a sample of that. I didn't finish it, but I'm going to show you a sample of how we can utilize this node to start renumbering.

Don't get me wrong. There's other companies out there have renumber tools, we've already got our own renumber in Revit that we've built ourselves. So I personally, we personally at Comfort don't need this node, but there's probably a lot of you out there. If you're switching to fabrication parts, this is going to come in handy for you to renumber pipe, renumber duct. All that good stuff.

So different nodes showing what can be done. And I'm going to open this and actually run this, but I just put a lot of things together here all in one file. So in this case, here's the one. Right now, we're generating a list of everything false. But on that list, I want to change index 15 to true.

So if I go back one, what is index 15? Service. So in this case, I'm setting my ignore index 15 to true. I want to ignore service. I'm going to renumber ductwork-- and I've got a file with some straights and it will go right through this. I'm going to renumber ductwork, and I'm going to ignore service.

So if I have four pieces or five pieces of straight, two of them are on one service and three on the other, it's going to ignore service and give them all the same value. It's going to ignore that it's on a different system. That's what that does. I'll go through this, fabrication part elements. And then, here's the one with dimensions. I'll actually open that up.

Here's another one. Get all the services that are loaded, and get the groups and the buttons-- I haven't really found a good use for this yet, but the nodes here, I just wanted to show it to you in case you have a use for it. I personally haven't found a use for it, but maybe somebody in here can give me an idea about, hey yeah, that's what I could do that with. All right.

And then, I'm going to create these from scratch. So I'm going to open up the other one first. But then, we'll go through and actually create a couple of these from scratch. Blank, build it, run it, make sure it's all going to work. I'm going to make sure my parameter's in there because here's my parameter. I may or may not have that parameter, we might need to modify it, change my parameter.

William is going to help as well. So William is going to run a couple of things, I'm going to do a couple of things. We're going to switch screens back and forth here. And while he's running something, I'll be getting ready, and vise versa. So we're going to start with that.

But before we do that, though, does anybody have any questions about where we're at today, what we're doing with this? No? Pretty quiet group this afternoon. There was quite a few questions this morning. Yes, sir?

AUDIENCE: I was just going to make a statement on these package nodes.

KEVIN ALLEN: Yep.

AUDIENCE: Just to the people that aren't really actively using Dynamo yet, when you dive into it, you'll learn all the headaches you have to go through to make sure you get the right version of this and that. So that's something you definitely have to keep up with the package nodes.

KEVIN ALLEN: Yes. So what he's referring to is whenever you're in Dynamo, first off, you have to go search for a package and go download a particular package. Then, once you get that package, then the author of that package may have issued updates along the way. We may need to go update our packages as well in order for this node to function. So it really changes from version of Revit to version of Revit, and for version of Dynamo. I think I'm running 2.01, I think is the version of Dynamo that I'm running currently today. Yes, sir?

AUDIENCE: Is everything you're doing in Dynamo Pro or Dynamo [INAUDIBLE]?

KEVIN ALLEN: Dynamo Pro?

AUDIENCE: Either Dynamo Studio--

KEVIN ALLEN: Oh, OK. Sorry. Yeah. So Dynamo Studio runs outside of Revit. So what I'm running is Dynamo, which runs internally to Revit. So good question. Yeah, everything I'm running is Dynamo that runs internal to Revit.

AUDIENCE: There is one more question for the parameter. So if I have more than one parameter, shall I create a [INAUDIBLE]? I've already done in the call log.

KEVIN ALLEN: That's correct. That is correct. So the question was if I have several parameters that I want to write information into-- in this case, service type-- I'm going to write this to a parameter of service type. I would copy this node and this node, bring them down, and pull the same element.

But then, I would change the parameter. It's not going to be service type. It might be CID. So I'm going to write that.

So I can use all of the elements and write two values at the same time. I could write five, I could write 10. I mean, the list can go on and on. I'm going to try to keep it a little simple today. But yes, you can copy these things down and keep replicating this over and over. Good question. Yes. All right. Yep.

AUDIENCE: So my question is if you have nodes that can accept more than one parameter [INAUDIBLE]. Because I have 10. Then, I have to duplicate 10 times.

KEVIN ALLEN: Yes. That's the only way I know how to do it. Somebody in here might know of a better way. But if I'm trying to fill out 10 parameters, I need to copy that set parameter 10 times. Does anybody know of another way to do that? I think that's the only way to do that if it's 10 different values. Because I have to tell it that it's a different value for each one. So the only way is to copy.

AUDIENCE: You might be able to do some kind of string that--

KEVIN ALLEN: Yeah. You're getting a little further outside of what Dynamo can do just out of the box, if you will. There might be some way to take a code block and write some Python code to make something happen. Trust me, I don't write Python code. I'm going to show you how to do it with out of the box Dynamo nodes. Again, trying to keep it as simple as you can.

If you're not using it, my hope is that after this class, you will see enough ideas, you'll have enough information that you're going to go back and say, I'm going to start using Dynamo, and it's going to make my job easier. That's my goal. If you're not already doing that, that's what I want to accomplish today.

So let's talk about a couple of other things before we actually dive in. If you're in my first class, you saw this list. Bear with me, I'm going to talk about it again.

Some of the scripts that we create that we use here today, locate end connections on ductwork and pipework. If you're in FAB parts in Revit and you go hover over a piece of duct and a piece of pipe, you can't tell which is end one end two. If you're coming out of CAD MEP, you can hover over the piece of pipe or the piece of duct, and it'll tell you, con one, con two. We don't get that in Revit. So this Dynamo script helps us do that. So now I know which connector's which.

Match duct top or bottom elevation. Don't get me wrong, I can click on the piece of duct and go type in the dimension. We've got a script that just if you run it with Dynamo Player, you pick the one you want, and you pick the other one you want to match, and it moves it. Done. So why do I want to type when I can just click a button? That's the point of that one.

Plumb Bob. Those of you who were in my first class, you can't answer. But anybody else that wasn't in my first class, what do you think that one does?

Aligning vertical. So it doesn't actually align it, it tells me when it's not vertical. And here's what happens. If you're doing design to FAB conversion-- so you're checking an engineer model, and you're converting its FAB parts. When the engineer draws with Revit families, this riser can be sitting over here at an angle like this. When I convert FAB parts, it converts it to this angle like this. Well, we don't draw a pipe like that. We draw vertical.

Can I go into an elevation view and look and try to find it? Sure I can. But guess what? I can't always see it if it's just a little bit off. Dynamo doesn't care. It's going to tell me. It's going to flag it.

So we just insert a family on it. It's a big red and yellow family, about a foot tall, two foot wide, just a family that we put on there that tells us it's not vertical. Go fix it. We don't know which end is right, top or bottom. Figure out which end is going to match and go fix it.

P-trap checker. So we're checking the dimension between the drain and the P-trap. And if it's exceeds code, it's going to give us the same flag. Hey, go fix it. You've got to do something different. Some places you can't fix it. But at least you've got a warning to say, hey, there's a problem with this.

Revision updates on sheets. Again, avoiding the click revision on sheet update. Tick the box, go to the next one, go to the next one, run the Dynamo script, and add revisions to sheets.

Set FAB part elevation the same. Again, similar to this one. But for piping, really set elevation's the same. Set Revit materials. So inside of 2018 three, I believe, and 2019, you can apply materials to FAB parts and Revit. And if you load the Revit project into Navisworks, the colors come across. I don't have to run a parent's profiler.

It's another option for you if you don't like running a parent's profiler every time you reload because you drew some new doctor do pipe and now it's white. You run a parent's profiler, well, when you do this, you don't have to worry about that. So it's another option for you.

Stub-up elevation. All of the stub-ups that are on level one, they're all different elevations. I can window them all and set their elevation to six inches above slab and it does it, fixes them all. It's what that one does.

And then, auto tagging. We built the family with visibility in it with a bubble that gets bigger and bigger and bigger based on the number of characters. And I changed the type and changed the visibility, and I run a Dynamo script so that now I have a tag that's always as close to the characters as possible. I don't have this big long tag and a short little item number. That's what that one does. So it adjusts the tags for me based on the character string count in that tag. So it reads that value. That's what that does.

So hopefully ideas. Go back and start thinking about what else you can do with it. And then, come show me how to do something next year that's what I want. OK?

So let me get into building this right here. Well, I think I got one up first though. Let's go to Revit. So manage and Dynamo. So if you have multiple versions installed, it's going to prompt you, which one do you want to run? In this case, I'm going to run 2.01.

I probably just need to go uninstall the other one because once I made the switch, I've been using 2.0 ever since. 1.3 was part of 18. So I'm going to open that. Come on. Maybe? OK.

So let's open a bunch of stuff when we'll start with that. So that's the one I was talking about earlier about setting the values and giving me a list. So in this case right now, I am not feeding the ignore field to tell it that I want to change the value from false to true. So by default, in that node, everything is false.

So it's going to number each piece and not ignore service. So it's going to give the values separately. So just so you see what's happening here-- let me minimize this-- 1, 2, 3, 4, 5 pieces of duct. I've got a transition and an elbow.

So a very simple project. This is how I start with Dynamo, something very simple where I can watch what's happening and see, yes it's working the way that I want. If I'm trying this on a job with lots of things in it, I have no idea of knowing.

So when I run this-- let me get back over here. I'm going to click Run. OK. So right here, let's look at this node. Let me pin that so we can have a look at this. So here would be either a transition or an elbow. I don't know which one, doesn't really matter. Here's another transition or an elbow because they're the single part.

Now in this list, I have two parts, which would be two pieces of straight. And down here, I have three pieces, which is three pieces of straight. So this is telling me-- so I had five pieces of straight in that model. So because they came in a separate list, it recognized service as a difference, and it put it in a different list for me. I'll run it again, but I'm going to connect the node up and tell it to ignore service.

And then, we're going to watch this list change. So I'll come right here. Because I'm telling it with 15, I want to set that to true. So if I look in this list, if I go down to 15, you'll see the value is set to true. But I didn't feed it in yet.

So now, I'm going to feed it in. So in this case, just connect the wire, and we're going to run it again. And we're going to watch the parts move. Now, they all came in to the same list, which means it ignored-- I think I have some supply and return, or supply and exhaust, or something in here. But now, it ignored the service and put all those in the same list.

Now, we would need to generate a list. I'm not going to finish the node, but now we need to generate a list, generate a value, do I want the string to be supply, return, exhaust? How do I want to renumber it? Start the sequence and use Dynamo to now renumber.

Very simple, but the basics of getting Dynamo to do what you want it to do. So without this is same as node, we couldn't even do this. This just came out earlier this year. Anybody using this node, by the way? Anybody got it all wired up and functional? No? Nobody?

So I think it came out February, March maybe, of this year. The guy put that together. So pretty powerful. I can renumber hangers. I mean, I renumber whatever I want now based on that node. So it's up to you on how you take that now and run with it.

So let's take it back out, run it again, and you'll see them change. So again, I'm just telling it true or false at that point. That's all I'm doing with that node is to get that value. And now, it's separating out those fabrication parts. I could give it a name and we could actually see it, but those are the values.

Inside of here, let's look at a couple of other things. So as you see what I'm doing here on these nodes, if you click this little pin, the fly out for the text will stay there. And when you unpin it, you could come over here and hover over it, and it'll fly out. But as soon as you take your mouse off, of it'll go away. So you just pin it if you need to see those values.

So here's another one. Let's get this one where we can read this a little better. So element parameters. So in this one, I can see alias. How many of you used alias and CAD MEP to annotate something? Anybody in here done that? Yes? Right now, in Revit, you can't get to alias. But with this, I know what that index is, I can now write that out to a parameter, now I can use alias to annotate something.

I just want to go through this list because this is information that I can get to from Dynamo. So here's a cut type, machine cut. So the same thing.

So we can start scrolling down this list. Let's go down. Some of this not that big a deal, primary width, depth, overall size. Some of this we're seeing in the properties pallet, but some of it we're not.

So we can dig through this and find out is there something in here that I'm looking for? Maybe part material, do I want to build a schedule in Revit it based on part material? So I can take that and write that to a parameter. I want all my galvanized ductwork together, and all my stainless together, so on and so on.

So that's just a element parameter node inside of Dynamo. I'll just scroll down through here. I'm just picking out some other things. Water gauge. I want to build a schedule in Revit based on water gauge. Top and bottom, element ID. All right. So that's the first piece. So zero list and one list.

So once you get into Dynamo a little bit, you start understanding that OK, this is my first part as zero, then my next part one, my next part is two. So it's a zero index based system, which means that when you start counting parts, you never start at one, you start at zero. Zero is actually one in Dynamo. One is actually two. No. Did I say that wrong? Yeah. One is two. Yeah, I was right. I had to think about it a minute. So a zero based index.

So again, just some more information that is handy. Let's go with William, what do you have ready over there?

WILLIAM TUCKER: The dimensions.

KEVIN ALLEN: OK. William is going to go through a dimension inline. So we'll flip over to William. How many of you create a bunch of dimensions, and then you start grabbing the text, and starting to move it in manually because I need a little bit more room and I want all my text to be all in line with my dimensions.

Well, here's a script. Select a dimension. It's going to find the curve, it's going to find some values, and then it's going to move the dimension-- the text in line. Bang, done.

I don't want to sit here and grab text and move, grab text and move. Run a timer script. What else do you have on there William? You're going to do another one, I think.

So what we find with Dynamo is if you try to run multiple Dynamo scripts, multiple Dynamo sessions, it doesn't like it very well. And if you open one file and run, and then you try to open another file run, sometimes it doesn't work so well. I found the best way to start running Dynamo is just opening and closing it. If I'm going to run a different script without player-- now, we're in Dynamo here right-- without player, sometimes it works, sometimes it won't. It just gets hung up. It just gets lost and it doesn't know what to do. So if that happens to you, just close Dynamo, reopen Dynamo. So that's what William is doing here now.

WILLIAM TUCKER: I'm actually running this out of Dynamo Player.

KEVIN ALLEN: Oh, he's going to run this out of Dynamo Player. OK. So in this case, we've got two grills. Again, trying to keep it simple here. William's going to run what? Air terminal tagging.

All right. So he's going to hit the little button. Now, everybody know what the little button to the side right there is versus play? Anybody know what the difference is? No?

OK. So if he just hits play right now, it's going to try to run. But in this case, in this particular Dynamo script, there's an input. We need information from the user. So which one do you want me to annotate for you?

WILLIAM TUCKER: Well, in this one there's not. But it's usually the safest thing to make sure there is nothing to model.

KEVIN ALLEN: Yeah, no inputs. Yeah. So in this case, yeah OK. So we're going to show the difference. Bang. Just annotated my grills. Can we do it another way? Sure you can. There's lots of ways to do annotation in Revit. But if I'm in that view-- and I that's what this is set up to do is it annotate what's in the current view-- it's going to put all the tags on. Again, simple but effective.

Here's another one. service type equipment. There we go. Bang. So I just labeled my access panel. So volume control dampers, put all the text on there. Now go move it around, and we're done. So I potentially could be tagging along and miss that access panel because I didn't see it on the side of the dock. Well, if I got a big piece of text hanging out there, I know, hey, move the text, there's something there. So again, just looking at some of the automation that can occur using Dynamo.

So which one do we have? Oh, set dimension values. That was in your other project, William. Yeah.

WILLIAM TUCKER: Oh, forgot that one.

KEVIN ALLEN: OK. So we're going to run Dynamo Player again.

WILLIAM TUCKER: Well, I think I'd talk about Dynamo again.

KEVIN ALLEN: OK.

WILLIAM TUCKER: For this session.

KEVIN ALLEN: Oh, got you.

WILLIAM TUCKER: Yeah, forgot that.

KEVIN ALLEN: So here we are. We're switching back and forth. We've got two different files going. So he's re-initializing, if you will, Dynamo to recognize this session of Revit. So set dimension values, square elbow. Down at the very bottom, William. So hit the little button right there.

So in this case, of course, Dynamo has to fire up the first time. But now it's going to say, select which element you want to change. So we want this one. And now, what do you want your values to be? You want one to be nine, one to be 12, whatever. William's going to just type into values here. And we'll see the elbow change. Done.

Question is, is that faster than sitting there waiting on the little wheel run? It just depends on your project. In this case, William could probably double click on that elbow and it would open up the edit dialog box right away. Small little file.

But if I'm in a bigger project, I'm going to sit there for a little while. Take your mouse and go around in circles. Does it speed it up? Probably not. All right. Here's another one. Oh, open the other view, William. Open this section view.

WILLIAM TUCKER: Section view?

KEVIN ALLEN: Oh. Yeah. Double click this. Yeah. Go to view right there. So right now-- oh, set it to central. So we were testing this. Offset depth, but set them both to central instead of a value.

No. Value. Go left. Right there. Set it central. There you go. All right.

So here we have a transition. When you put it in a transition in five parts in Revit, it automatically comes in central every time. You have to double click it now and go change the value to get it to either be flat top flat bottom, unless you had another piece of duct you're connecting it to, and then you can just grab the grip and stretch it to it and it'll do whatever offset you had. But by default, it's centered.

So here he is, he's going to select it, and run. Just set a flat top. So it does the math internally to figure out what the depth is, and sets a flat top.

Again, practical, to me, in a lot of situations. We do it a lot. We drop that transition in and we go change it. What else do we have in here?

WILLIAM TUCKER: That was it.

KEVIN ALLEN: I think that was it for that.

WILLIAM TUCKER: Yeah, I think.

KEVIN ALLEN: Did I have-- oh, I was going to open-- so let me browse. I should have been browsing, but I was doing something different. Let me go browse. And let me-- what do we got, about 20 minutes? Revit support. Dynamo.

All right. I'm just going to open-- I'm not going to run this, but one of those examples of where we have to copy a lot of things around over and over and over and over to do things in Dynamo. And in this case, this is set the FAB parts material for ductwork. So this is where I was telling you we're using the materials to drive the colors inside of Navisworks.

So in this case, we're going to process over here, but we're gathering the data up here. So this is actually getting all elements of the ductwork, get the parameter service name. So I was just showing you the node a while ago to element dot parameter. So it gives you a list of 70 or 80 parameters. Well, now I'm using that to get something specific.

And then, I'm grabbing the materials from my project. I'm not going to run this because it's not going to work in this file, because I don't have the materials in here. I just wanted to open it up and show you. Now, I'm grabbing the materials, getting all of those categories, and then taking that string and punching it into all of the different systems. So in this case, we'll just pick one of these.

So really fair, two inch water gauge. So grab that service, search for that string. If it matches, then set the display color to that value right there, and it assigns all my colors for me. So I do that multiple times for every service over and over and over and over and over. How many services you have?

So this goes back to your fabrication database. Do you have standards? Am I naming my systems the same? They're always the same. Am I using profiles? How am I doing that? That's not service. Sorry, here's my service name. If I create a new service name, my Dynamo script's going to fail because that service name didn't exist. I've got to go copy that whole group and add another one, right?

So there's probably some other people that know a much better way to do this. But I personally haven't figured it out yet. So this Dynamo script, we just run that with Dynamo Player. And it punches all the values in, sets all the material. So you've got options, whichever way you want to make that work. So I just wanted to show that quickly. So let me close this one. And let's start a new project.

We've got about 15 minutes left. So inside of Dynamo-- we were talking about the packages while ago-- we can see right here that there's the packages that I have loaded, Dyno fabrication 2017, 2018, and fabrication. Up in packages. I could do a search for a package. It's not going to work for me because I'm not hooked up online. But this would go here, I could type a search in, and go find the package that I wanted.

But now, I need to select a model element. So I'm just going to right click on the screen-- and if I could type-- so I have two options here. I'm going to do select model element, not plural. I could make this plural if I wanted to, but I'm going to do just one part right now. Select model element.

So I did a search on that, I click on it, it adds it to my screen. Why did it turn yellow? Anybody know why it turned yellow? Exactly. Because I'm set to automatic.

One of the first things you should do-- I'm breaking my own rule-- set it to manual. Because I don't want it to process anything until I'm ready for it to process. I want to put a bunch of nodes in here and do a bunch of work first. Then, I want to process. So it turned yellow because it's thinking I already selected something, which I didn't.

So we'll set it to manual. And then, what are we going to grab next? We're going to grab service type. So I'll type in part service type. And then, what I need to look at-- and I'll verify here in just a second, but then we want element dot set. See if it's going to come up. Set parameter by name.

So let me save this just to make sure because again, I like to-- Yeah, that's fine. I'll just call that AU for now. I always make sure that I'm covered.

So now, inside of Revit, I'm going to go see under project parameters, I don't have the parameter that I want to write to. Doesn't exist in my project right now. So it's just a blank project out of the box. We're going to go into this in a lot more detail here in just a little bit in our next class.

But I'm going to go ahead, and I'm going to do service type, leave that there. And we'll call it text, and I want it to be for, in this case, ductwork. So I've got a parameter called service type.

So now in Dynamo, I need to feed the parameter name. What's it going to be? I'm going to do quotes, service type, because I just created that parameter. So double clicking on the screen will give me a code block. And anything that I put inside of quotes, that's basically a text string or a field that's looking for that value.

So I just double click on the screen again, I don't really need that other node there. Let's take that one back out. But that's going to be my parameter. What's going to be my value? It's going to be service type. Well, first off, I need to select something.

So let's go out, and let's select this elbow. Now, let's hit run, just a test. What did I get? Rectangular duct. That's what that is, a piece of rectangular ductwork. So that's working so far, so good. That's exactly what I wanted to see there.

What element am I going to set the value to? Well, it happens to be the same element that I just selected. And then, what do I want its value to be? I want it to be that service type.

So let's go look. I may have to close down Dynamo because I created a parameter after the fact. But let's go look and see, does this now have a parameter called service type?

Now, where did I put it? In common? There it is. It's under text, service type. It's blank. This is a joys of-- now, what does it say? Rectangular duct.

It's not rocket science, really. It's easy, but that's for one piece. Now, we have to do it for multiple pieces. We have to expand on this. But for you, if you haven't done anything with it, that's an accomplishment. I got something done. OK, I'm starting to figure this out.

So we could go through, go create another parameter called CID, go pull CID, and write it to that just the same. It's the same process over and over. It does get more complicated with more things.

The hardest part for me, not being a code writer, is working with lists, and understanding how lists work inside of Dynamo, and how to pull the information that I need from that list, and how to sort that list. That's been my biggest struggle personally, is getting the data. I might see the data in my list, but I can't filter it, I can't get to what I actually want to do. And I'm on Dynamobim.org. I'm asking hey, can you help me, I'm trying a different node, I'm looking at somebody else's graph, what did they use? Oh, list filter by bool mask, or list dot filter, or flatten, or whatever it may be. There's all these additional nodes out there.

We're close. It's going to take you a little bit of time to understand how some of that works. If you've written code, it probably makes a lot of sense to you. Chris, I'm looking at you because I know for you, it just clicked, probably. Not for me. Because I know Chris, Chris has written code before. So he sees this as like, oh yeah, I got this. He probably goes the other way, he probably writes it in the API. But for me, not being able to write code, this is my tool.

So here at Comfort, we do have a developer that we have contracted that we do things with. But I use Dynamo to prove the concept, to prove what I'm trying to accomplish. Can I get it done? Is it available? Can I actually do what I think I want to do?

And then, we pass that over to the developer, and he just looks at the code or the script and says, oh well, OK, I see what you're doing here. And he goes and hammers away on the keyboard. And I connected a little wires together to get where I needed to go.

So anybody got any questions on that? That make sense? I mean, again it's simple. But hopefully that gets you-- Oh, yeah?

AUDIENCE: How many [INAUDIBLE] do you find you're operating [INAUDIBLE]? Is there [INAUDIBLE].

KEVIN ALLEN: There is. So actually, there's one website. If I can think about it, I'll actually put it on the material. I didn't get all the material put for the class handouts and stuff. I'll try to put the link on there. There's actually one guy who put together sorting lists, and filtering lists, and he put every node and everything all together all on one page. It's like, wow, this is handy.

So it doesn't always work. What I find is a lot of my Dynamo is trial and error. I'll hook something up, run, click. Look at that list. No, I still don't have what I want. No. Go try it again. OK, find another node. OK, now I'm getting closer.

And quite honest, I may end up with four nodes to get to where I need to go, somebody else would look at that and say, well, if you to use this other node, you could have done it all in one. I'm like, well, OK fine. I don't know that, but I got there. It works.

So yes, dig in, try it, make it work. What I see the advantage that you would have if you've used fabrication parts in the past, is that you understand the fabrication database. You know what you're looking for, you just need Dynamo to help you get it. You already know what you need.

If I go to my fabrication report, I'm filtering that report by service type. Some reason, somehow, I need service type in FAB parts of Revit. How do I get it? Here's the way.

And again, CID, list goes on. I mean, you start looking at those parameters, any of that stuff, start putting it into a parameter field. Start organizing that parameter field. Next class at 4:30, we're actually going to cover setting up the parameter field, making them visible, non-editable-- what else? And then, I think we'll expand on this Dynamo script, and make it work for multiple elements.

AUDIENCE: When is that?

KEVIN ALLEN: That is at 4:30 this afternoon. FAB parts-- where's my data, I think, is the name of the class. Where's my data using fabrication parts and Revit, where's my data. So that's at 4:30. Do you know what class it's in?

AUDIENCE: 3303.

KEVIN ALLEN: 3303. Look there, somebody's already looked it up. Thank you. I don't know. I'll just show up there. Anything else? Any other questions? Yes, sir.

AUDIENCE: So you guys only do mechanical plumbing or do you do any electrical plumbing?

KEVIN ALLEN: We do. Yes. So we're just starting electrical, but our thoughts are we're probably going to go down the evolve route and use evolve electrical from applied software. Because it has a lot of content that we don't have in fabrication database.

AUDIENCE: All electrical.

KEVIN ALLEN: Yes. It's a add-on on top of Revit, that's correct. Yes.

So if you go to the Expo Hall, go find applied software and go look at it. That's probably the route we're going, just because it's already there and done, and we're not going to sit around and build content for electrical. This works for us, FAB parts, because we already had our database. We had sheet metal piping and plumbing already built out, labor and material pricing, everything already done. So we just load that right into Revit and go.

On the electrical side, we didn't have any of that. And we're going to start supporting some electricals within Comfort now. So we don't have time to sit around and go build boxes, and switch gear, and elbows, and BIMs, and on, and on, and on. We don't have time to do that. What else? Yes, sir? Sorry.

WILLIAM TUCKER: I was just going to say, back to this here, where you use the select model element or elements tab, I use that a lot for when I'm trying to build a script or test a script. Just say, hey I just want to test it on these two or three elements or something. They get the full perspective of the automation. You're typically going to want to start with the find all elements of this, and the model--

KEVIN ALLEN: That's correct.

WILLIAM TUCKER: [INAUDIBLE] of this--

KEVIN ALLEN: That's correct.

WILLIAM TUCKER: --like your duct. If you're going to do all your elbows and put some text field in there, it's going to be the same. You're going to say, get Revits and find all elbows. And then, apply that parameter to that.

KEVIN ALLEN: That's correct. So William, since you opened this script up-- so this is the other script setting material. So you see these things can get pretty massive. Zoom in to the far left green piece up there, William.

WILLIAM TUCKER: Far left?

KEVIN ALLEN: Far left green. So what he's talking about here is I'm going to find anything MEP fabrication pipeworks or a category, and I'm going to get all elements of that category. That's exactly what he's talking about. I'm not going to do a Windows selection in this case. I don't need to.

In this particular script, it's setting materials for all pipework. I don't want to select it. I don't want to do anything. I just want to run. OK? So that's exactly what he's referring to.

More than likely when I was building this-- the very first-- I was doing it for one element, just like we're talking about. Then, starting expanding it, making it work for lots of things. So it's a progression. You have to get something successful and then build on that. It's just a lot of repetitive. That's all it is. Yes, sir?

AUDIENCE: Those color coded blocks again, there. Do they function as part of the logic or are they just--

KEVIN ALLEN: They do not. They are for human interface. They are for us to be able to differentiate all the different groups. And when we start copying them around-- so you can window a bunch of nodes, and right click, and say create group, and assign that group. So it's a good policy if you're building things.

As you build a certain piece and it functions, put it in a group and make yourself a little note. This gets all fabrication parts and filters by service type so that that little group, that's what that does. Then, move on to the next little piece and assign it a group again so that when you come back here a year later, or six months later, you can remember what you thought.

Code writers, when they're writing code, a lot of guys writing code-- C Sharp, Python, whatever-- they'll put notes in their code just the same. But they've got characters that differentiate a line of code versus a line of information. So people writing code will do the same thing. And that's what that's for here in Dynamo. Yes.

We haven't gone this far, but there's some companies who have color codes designated on grabbing parts, processing parts, adding data. So each one of those is a specific color. So that when they look at overall scripts, everything makes sense to them. They can see it based on color. That's what this does. All right. Anything else?

AUDIENCE: Can you save groups to different files like--

KEVIN ALLEN: You cannot. That's one thing that I've found I haven't been able to do yet. Have you done that?

WILLIAM TUCKER: Well, you can't save it necessarily. But a lot of times, when I've-- again, six months later, you're like, damn, how did I do this--

KEVIN ALLEN: How did I--

WILLIAM TUCKER: --you'll open a script that you've written before and you can just do a control C copy--

KEVIN ALLEN: Copy.

WILLIAM TUCKER: --open the new one and paste--

KEVIN ALLEN: --and paste. Yeah. So it's going to take those nodes from one to the other. Yeah. You have to redefine the group. But at least you had that processing. You get to take that and use it again. Beg, borrow, and steal, right? I've already done it once, I don't want to do it again. Yes, sir?

AUDIENCE: So one of the things [INAUDIBLE] is [INAUDIBLE] the task over C Sharp [INAUDIBLE].

KEVIN ALLEN: Oh. So I'll tell you all day long, the API is faster, hands down. If I'm going to run a process in Dynamo, and I create the same process with an API through code, it'll run 5 10, maybe 15 times faster with it written in code. Not everybody has access to somebody to write code. So Dynamo is the alternative to that.

In essence, you're connecting wires to nodes, you're writing code. I'm not a developer. But behind the scenes, it processes the individual elements separately, then accessing it directly through the API. It's just the way Dynamo functions.

Is it an issue? No, it still works. It's still way faster than me sitting down and doing it by hand in most cases. But we take it one step further. We prove it, and then we add it to the API, we add it to a button on our ribbon. That's what we do. Yes. What else? Yes, sir?

AUDIENCE: So in Dynamo, whenever you have a service type called out, so you have [INAUDIBLE] service type. But if you do that same thing in API, then you're [INAUDIBLE].

KEVIN ALLEN: No, because now he's collecting all elements. I don't care whether it's pipework, ductwork, taps, whatever. Take all of my MEP fabrication parts, ductwork, pipework, electrical, all of that, and write its service type. I don't care what it is. Write everything. Yes.

So once he does that-- and we just have a button on our ribbon, it's for parameters. We just hit the button. And it writes a whole list of parameters for us for every part. You just hit the button. Hit the button. It just writes data. That's all it does. That's all we use it for. But then, all of our schedules populate at that point. OK? All right. There we go.

[APPLAUSE]

______
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.