AU Class
AU Class
class - AU

Leveraging Civil 3D Property Sets for Design and Collaboration

Share this class

Description

As designers, we tend to focus on what is in front of us when it comes to developing our models and preparing construction drawings for delivery. If we take a step back and think about this more holistically, we can formulate ideas as to how this type of property set data can be leveraged in our daily workflows as well as later down the road. We are currently experiencing a major digital transformation where our Civil 3D models are becoming part of the actual digital deliverable. This will ultimately provide our design teams, clients, and contractors with meaningful data that can be leveraged for interdisciplinary coordination, construction, and asset management purposes. In this session, I'll share tips and tricks on how to leverage metadata and property set data throughout the design development phase to prepare our design models for future integrations into construction and asset management solutions.

Key Learnings

  • Describe how to configure property sets
  • Automate mapping of metadata to property set data within Civil 3D
  • Automate mapping of metadata to property set data within Dynamo
  • Identify exporting options for collaboration and asset management solutions

Speaker

  • Avatar for Stephen Walz
    Stephen Walz
    I have been in the AEC Industry since 2003 and have taken on many roles from drafting and designing, to Model Management to Implementing Company-Wide BIM and CIM standards, procedures and workflows. In my current role as the Civil Infrastructure Digital Design Lead at HDR, I collaborate and strategize with Business Groups and Technical Leadership, alongside ITG, across HDR to: o Drive Consistency with various Platform and Technology Adoption and Implementation o Manage and Assist in Vendor Engagements and Activities o Establish Best Practices for transitioning into Digital, Model-Based, Delivery o Identify Staff Development Opportunities o Develop Software Training Programs and targeted Skill Based Learning Paths o Identify strategies and initiatives for driving BIM | CIM Implementation company-wide o Monitor BIM | CIM tool usage, technology challenges, and elevating technical capabilities within HDR o Advise and assist in the development of HDR’s BIM | CIM strategic roadmap o Lead HDR's Digital Design for Civil Infrastructure Working Group o Assist with Key Project Pursuits o Build and Support a community of practitioners for various Design Platforms and Technologies being utilized o Work closely with HDR’s and Industry Thought Leaders to promote new platform and technology solutions
Video Player is loading.
Current Time 0:00
Duration 55:53
Loaded: 0.30%
Stream Type LIVE
Remaining Time 55:53
 
1x
  • Chapters
  • descriptions off, selected
  • en (Main), selected
Transcript

STEPHEN WALZ: All right, welcome, everybody, to my class, Leveraging Civil 3D Property Sets for Design and Collaboration Purposes. Quick safe harbor statement. Wanted to just make it a point that I'm going to be talking about some things that are currently in production, currently being developed right now. So I'll make some forward-looking statements as it relates to some of the things we're being worked on behind the scenes related to property sets and some other things going on.

Just really want to bring light to these things, let you know that things are being worked on behind the scenes. If you visit the Autodesk Infrastructure Futures website, you could certainly join them and test out some of the products, the tools that are currently under development that are in alpha and beta form. But definitely, they're looking for feedback on these tools and looking for testers to go out, check this stuff out. There's a lot of cool things out there being developed.

But really, just want to make it a point that do not make any purchasing decisions based on what I'm going to be saying. There's no guarantee that these are going to be integrated in future releases. But they are being developed and being worked on for potential release.

Quick introduction about myself. I'm Steve Walz, OK? Seventh time attending AU in person. Obviously the past two years, we had the virtual. But this is my seventh time attending in person. And this is my first time as an Autodesk speaker.

I work at HDR as a civil infrastructure digital design lead. And in that role, I work, collaborate with business group and technical leadership covering all of our major market sectors, supporting all our major market sectors. And we evaluate existing technology, look at the new things coming out, look to the future, and try to make sure we are establishing a good foundation to adopt new technology solutions.

We look at things about adoption strategies for the new tools, developing standards, workflow documentation. And right now, we're very heavily focused on developing a data strategy. And that's what spurred the interest in developing this presentation around property sets because it's all around the data being plugged into our design models.

I also sit on the buildingSMART International US chapter within their Education and Professional Certification Committee. And I've also sat in previous years on their international awards as a jury member looking at all the new cool things that are going on around the globe, all the submissions that are around open BIM and open data standards and applying them within our daily workflows.

buildingSMART International, for those that are fully aware of who they are-- they're a non-profit organization. And they're really paving the way for open BIM and open data migration standards that are being adopted and pushed out across the industry. I also want to make it a point that I'm not a programmer. There are some things that I'm going to be talking about related to automation. But I do want to let it be known that I don't have much of a programming background, but I know enough to be dangerous.

So the focus areas we're going to be covering today, we're going to do a quick introduction on Property Sets. We'll talk about property set values and how to automate within the Civil 3D platform itself. And then we'll jump into ways to automate using Dynamo.

And then we'll talk about how we could leverage the property sets outside of the design environment. What is the value, the great value of plugging this information into our design if we can't leverage it outside of that design environment? So we'll talk about ways that we can leverage it outside of that design environment.

I do want to point out that I'm using Civil 3D 2022 in my demonstrations. I understand with '23, there's some slightly different user interfaces. But everything that's going to be covered today is forward-compatible to 2023.

All right, so Property Sets introduction. What are they? So in a model if I were to select a pipe, we get access to some basic information around the color, the layer assignments, the styles. We get some data reference information, the alignments of surfaces and so on. We get some basic geometric information.

If I were to select that pipe and right-click in my model space, I'd be able to gain access to the pipe properties, which would give me all the metadata-- which would list out all the metadata associated with that pipe. So it's a little more expansive than what's available within the Properties dialog box. But as it relates to property sets, if I were to click on the extended Data tab, we get this section where we can apply custom attributes-- custom metadata to our objects. Whether it be 2D or 3D geometry, we are able to extend the metadata association with our objects.

Quick high level of some of the terminology. I'm going to be tossing around some of these names. So just want to give that level set real quick. Property sets were going to be covered within this demonstration. And within the property sets, we have property definitions, which we will be creating on the fly in our demonstrations and the values that are associated with them. So we have the property values assigned to the property definitions all contained within the property sets.

So quick high-level benefits and caveats and pros and cons about property sets. Obviously as I mentioned, it allows for the ability to add some additional customized metadata to your objects, associate that with your objects. You can also leverage it for labeling, tabling, and reporting purposes. So if you want to extract that information for labeling or even reporting out to a Word file or an Excel file, whatever it may be, you could certainly leverage the metadata, the property set data for those purposes.

It also allows for quick referencing and linking to pertinent details. So say we're designing a pressure network, a water line that has a gate value that we want to link out within the custom attributes within the property sets to, say, a cut sheet or a manufacturer website. We could certainly add that type of linking to it as well.

All of these property sets-- it's important to note-- are supported through IFC conversion. So as I mentioned with buildingSMART International, they're really paving the way for open BIM and open data standards through IFC formatted files so we could export our models now from the Civil 3D environment to IFC. And it could be carried into construction management solutions and asset management solution as well. So we're essentially preparing our models for construction and asset management purposes as well.

Some cons. Right off the bat, get this out of the way. There is some manual configuration still initially. There are ways to streamline some of these workflows.

So once we set these up, the property sets, within our drawing environment within Civil 3D, we could certainly save those into our drawing templates, which we could use to create new drawings moving forward so we have all those being carried over from drawing to drawing. They could be project specific or company specific depending on which route you want to go. But there is still that manual configuration, which can be quite time consuming and quite laborious of a task.

Manual input. Manual property definition is one thing we're going to be covering today, although, manual-- most aspects of the manual are manual input. There are ways still even within that manual definition to automate it. And I'll talk about that in a little bit. And it's also important to note that not all platforms will recognize the custom definitions if the design is referenced in native format DWG formatted file.

So when we jump into ways to automate, later on in the presentation, I'm going to be showing how we can embed formulas and tap into the Civil 3D APIs. Those APIs aren't necessarily read in some of the collaboration tools that we're going to be referencing our DWG files into. So there are ways around it, and I'll show you what those look like.

It's also important to note that we have Dynamo, and we have a Standardized Data Tool that will certainly help. Standardized Data Tool, as I mentioned earlier, is available on the Autodesk Infrastructure Futures site. It's currently in beta. Go ahead, test it out, go sign up, and test it out. They'd love your feedback. And the Standardized Data Tool will streamline a lot of those workflows to integrate and carry over property sets, and create those on the fly, just streamlining a lot of the workflows associated with property sets.

So the three major property definitions we're going to focus on today are the manual, the automatic, and the formula. These are really the major property definitions that are supported within the civil-- on the civil infrastructure side of the house. You'll notice that when you jump into this when you start creating property sets and getting yourself familiar with it, there are some additional property definitions available to us. But those are really more supported on the MEP and architecture side.

Manual, automatic, and formula are ones we're going to focus on because they're fully supported within the civil infrastructure workflows we're going to be discussing today. Also, the last time we were in person, wanted to point out that Jo and Andrew led a great presentation called Dynamo and Civil 3D Introduction-- Unlocking the Mystery of Scripting where they dove a little further into the formula where they included plus-COM API and .NET automation aspects as they relate to property sets. So additional ways to automate.

Go ahead on the AU classes from previous years and check that out-- definitely some great resources out there. But I will note that the Standardized Data Tool that I just mentioned also that's in beta does cover a lot of what was discussed during that presentation, as well, and incorporates a lot of those workflows. So it's just getting a little easier for us and less manual labor and time-consuming tasks.

So what does that workflow look like for creating and assigning property sets? We got that introduction of property sets. Let's look at that workflow. What does that look like? So if we were to type at our command line, PROPERTYSETDEFINE to gain access to our style manager, we could also type style manager. And I'll show you what that looks like. But for the purposes of this demo, I just want to keep things simple.

So we type propertysetdefine at the command line. We gain access to the Style Manager dialog box. We've got our property sets listed out. We're going to go ahead and right-click on Property Set Definitions, create New. And we're going to call this AU Demo to keep things consistent because this is a demonstration for AU.

We're going to switch over to the Applies To tab once it's created. And we need to define or associate-- we need to define where the objects, the types of objects that we want to associate the property sets to. So we could either select All. As you can see, this list is quite extensive. It covers all 2D, 3D, objects, but we're going to select Pipe for now.

We just want to focus on some of our gravity pipe networks. And we'll give it a description, always good practice to give it a description. This isn't a great description, but there it is. So if we hit OK, we've created our property set. We select the Pipe. We get our properties. As you can see, we've got that great basic information about it. If we switch over to the Extended Data tab, we'll click on the Add Property Set. And we get a dialog box to add the property sets.

We only want to assign the AU Demo at this point. So we'll check that box, hit OK. And if we pull up the properties again of that selected object, you see it's not listed. And that's because we haven't added any actual definitions to it. So we've got the property set created. Now, we need to create some definitions so it will show up in our model.

So let's type propertysetdefine one more time to pull up the Style Manager dialog box, go up to our AU demo, and switch over to the Definition tab this time. And for starters, we're just going to start very simple, create a manual property definition. The name we're going to give it is Manual_PS for property set. We'll hit OK. The type is a text, which allows us to manually type a text value to this definition.

And if we pull up the properties, you can see the AU demo is now listed because we have the definition. Let's give the value to it, Manual Property Set. And there you go. It's as simple as that. So now we've created a property set that contains a property definition and a property value and associated with an object.

Like I said, we're just going to keep these demonstrations real simple, straightforward to give you an idea of what the process looks like. Obviously based on what you guys are going to be trying to assign or associate with your objects, this list of definitions could become quite cumbersome and quite expensive. But definitely try to work it out so that you're minimizing what you do from a initial setup standpoint, an initial configuration standpoint.

So let's jump into ways how we could automate it. Let's understand-- try to incorporate some automation into our workflows as it relates to property sets. So we just talked about the Manual Property Set definition. And as I mentioned earlier, there are ways to automate it even by using that manual. So within the manual, we assigned it as a text type. We could also apply it as an auto increment character, which is essentially a, b, c, d, e and so on.

And this, as we assign or associate these property sets to the objects, it will automatically increment based on character or based on integer. So 1, 2, 3, 4, 5-- it's a whole number. We have the opportunity to apply an integer, which is a manual input, which again, is a whole number. No opportunity for decimal placement.

The next option is List, which is accessed through the STYLEMANAGER. And I'll show what that workflow looks like later. I mentioned earlier there were two ways to access that STYLEMANAGER dialog box. One was the Property Set Define command. The other is by typing STYLEMANAGER. And then by typing STYLEMANAGER, you get access to the List Definitions. And that essentially is defining a preset-- a predetermined list of values that you want to assign or associate to your property definitions.

Real is an actual number. So this actually allows for decimal placement, but this is also a manual input. Text is what we just showed in the previous demonstration. And then we have a Boolean, a true/false. So that's the Manual Property Set definition. And those are all the opportunities-- the value options that we have that could be applied.

Next, we're going to be discussing the Automatic. So with the Automatic, these are automatically populated directly from the object itself. So if we have a color assignment of cyan applied to pipe, this will automatically populate in that field in the value associated with it. Same thing with Layer. If it's on C Domestic Water or something like that, we'll automatically pick that up, recognize it, and assign it.

The one thing that we're going to be focusing on for the purposes of this demonstration is the Handle. The Handle is essentially a GUID number or an object ID number that Autodesk assigns each object as they're created behind the scenes without us even knowing. And we need a way to tie and identify the object that we're going to assign some formulas to.

So the formula real quick-- this is going to be about the most extensive coding example I'm going to show you. And a lot of this is copy and paste. Like I mentioned before, I know enough to be dangerous. But I'm not too fancy. I don't get too-- I try not to get too fancy with it, I guess.

Essentially everything highlighted in yellow is a copy and paste from coding from lines of code that I've seen before and is available on Autodesk Knowledge Network and several other sites that I'll mention later. But one thing to note is everything highlighted in green. These need to be looked at, identified, and potentially replaced. So this one right here, this crazy-looking one, this is the Civil 3D API Library that we're going to be assigning, pulling information from.

This 10.5 refers to the version of Civil 3D we're currently using. This one refers to 10.5 as Civil 3D 2016. I hope nobody's on 2016 right now. But in any event, I do have these listed out, these version values and associated with their versions. And then we have another line of code that includes the handle, which refers back to that Automatic that I just discussed, that Automatic property set definition, and then the object's StartStructure Name.

So in the instance that we're assigning this to a pipe, we're going to pull this Civil 3D API, which is the starting structure of the pipe, to automatically be populated in that value. This is available and listed out within that library. And I have resources-- links to resources available later on. So it's pretty much plug and play.

This Civil 3D API is found in this library. This is the version we're using. And this is the automatic, the object, the tieback to the object so we know which object we're referring to. So for the purposes of this workflow that I'm going to be showing shortly, I switched it up a little bit. So we're going to be using obj.Length3D.

Again, going back to this library, we're using 13.3 version and tying back to the handle. So what does that workflow look like? Let's type PROPERTYSETDEFINE at the command line. We'll go to our AU Demo, go to the Definition tab. And we're going to create that automatic property definition here.

And as I mentioned, we're going to be tying it to the-- we're going to be adding the handle, which is that GUID number, the object ID. We'll hit OK. We'll select that object again, that Pipe, go to our properties. And we see that handle, that object ID automatically being populated. So it's already recognizing which is great.

Now, let's jump back into the Style Manager using the PROPERTYSETDEFINE command, go back to our AU demo, and now, we're going to add that formula property definition. And then the formula, like I mentioned before, it's just a copy and paste with some minor replacement. So let's copy from Word into the formula field.

We see over here, Sample Result. That's a dash dash. That means that it's not going to work. So this handle needs to be tied back. So we double-click on Handle under the Insert Property Definitions here. And we see that sample result automatically populate. So we know we're on track. We're on the right track, at least.

So let's hit OK. And then we'll go select that object again, go to Properties. And we see now that value automatically being populated because it recognizes that object. So we're tying it all into that GUID number, which is great.

But next thing we want to do is we want to give this a proper name. We don't want to leave this his name. So we'll call it Formula_PS_3DLength. Make it a little more intuitive for us, for the average person looking at this information. And then if we select that, you could see everything automatically update in this property set. So it's being listed there.

So that's a quick high level. How we could tie into Civil 3D APIs-- leverage Civil 3D APIs through formulas using the automatic assignments or association of the objects. So real high level. Like I mentioned, there's a lot of great resources out there. Here's a quick list. These are also available in my handout.

But these are the libraries that I mentioned earlier, which has all the Civil 3D APIs listed out. And it's really just a matter of identifying what you want to-- the information you want to extract and assign and plug in for that value. And it's just a matter of plug in and play and moving things around.

There's also a lot of great blog posts about this information out there. This is definitely how I got started. I was introduced to some of these blogs. And I saw some of the great things other people were doing. Some of them are attending this class, actually.

So really appreciate all the assistance, all the guidance. And as everyone else who's watching this or attending this class jumps into property sets and understanding how this works, I'm sure you guys are going to be posting a lot of information about it as well. So obviously there's more to come. So some great resources to check out.

So we talked about how we can leverage or incorporate automation in Civil 3D by leveraging automatic and formula property definitions. Let's take a look at Dynamo and see how we could leverage Dynamo to automate some of these tasks. What is Dynamo? Just a quick level set, it's a visual programming tool for those that aren't as familiar with it.

It's a visual programming tool. So things unlike, I guess, .NET, C#, and so on, some of those other visual coding programs, this is very workflow-oriented. So it's not looking at a whole bunch of lines of code and trying to decipher what's what. It's really just understanding the workflow. And really, I was able to pick this up relatively easily because I understand what that design workflow and progression of design actually looks like.

And that's really, in my opinion, the major experience that you need to start picking up Dynamo and understanding it a little bit. So like I mentioned, the design progression, understanding that design progression. So if you want to create a corridor, that's your end goal, right? You know that to create that corridor, you'd start with an alignment.

You need to reference surfaces. You create your profile view, your vertical geometry. Then you have a subassembly or an assembly composed of many subassemblies. And then you can create your corridor. So understanding what that design progression looks like within Civil 3D. Those types of concepts can be applied within Dynamo.

Important to note that it was introduced in Civil 3D 2020. Unfortunately, anyone who's using a version that predates 2020 will not be able to access Dynamo for Civil 3D. But if you do have 2020 or newer releases, you could certainly access it.

And then behind the code-- behind the workflows, like I mentioned, it's a visual programming tool that is workflow-oriented. But behind these workflows is Python coding. So if you do understand coding, you could certainly develop custom nodes, custom workflows using Python coding language.

So how to access it within the Civil 3D environment, we would go to the Manage tab. And then we'd go to the Visual Programming panel where we have Dynamo and Dynamo Player. Dynamo Player is essentially the equivalent to clicking the Easy button. So if we have a bunch of Dynamo scripts that we've already created, we want to apply them or run them on our current file.

We can just pull up Dynamo Player, get that list available in our library. We had play, play, play, play, play, and it runs. If we click Dynamo, we get the program itself. On the left side, we're seeing some recently activated or recently worked-on scripts. We can create a new one. On the right, we've got a bunch of resources. And I have these links to the resources later on.

If we click New, we jump into the program itself, or we could start building out our script. Up at the top, we've got some pull downs. On the left side, we've got our Library. We've got our out-of-the-box functionality, the basic functionality that comes with Dynamo installations. As we click on these arrows, it'll expand. So Civil 3D. If we were to expand that, we'd get Civil 3D functionality and workflows.

We have the ability to search. So if we know exactly what we want to do, we, like, say we want to do something around alignments. We would just type alignment in the search box, and we get a preset list of all the workflows and nodes that are associated with alignments.

And then the Add-on section down on the bottom here is, like I mentioned, the Python coding is behind the workflows. There's a lot of great people out there that are building these custom nodes and workflows and making them available for free. So these are all those add-on packages, which are accessible through this packages pulldown. So definitely go ahead and check those out. And I'll be pointing some good ones out and right now.

So packages and workflows and things I wanted to-- some packages I've really wanted to highlight and that have helped my day-to-day processes. CivilConnection is unfortunately only available in Revit. But it does allow communication between Civil 3D and Revit and back. This is really more focused on extracting, say, like linear objects, like a corridor model. So you have a retaining wall applied to your corridor model.

You can use CivilConnection to extract that information, bring it into Revit through your structural detail, design, and analysis rebarring whatever you may want to apply to it, and then push that information back into Civil 3D. These last four are available within Civil 3D-- Dynamo for Civil 3D. The Civil3DToolkit leverages a Civil 3D API. So really extends the capabilities of out-of-the-box functionality within Dynamo.

Camber has hundreds of nodes that utilize the AutoCAD and Civil 3D .NET APIs. So not just the Civil 3D objects but also basic AutoCAD geometry. BumbleBee is one that I've used quite often in the past. It communicates between Dynamo and Excel, great for developing custom reports. And then there's AMR Sheet Set Manager, which allows for creation, editing, and customizations as it relates to Sheet Set Manager within the Dynamo environment.

All right, so Property Set Automation with Dynamo. So what does that look like? We talked about ways to automate within Civil 3D. Let's talk about ways we could automate with Dynamo. So if we select the Pipe, we see that there's no property set information assigned to it. So let's pick up Dynamo, open this up, and work through that process of creating a script to assign property sets to our objects using Dynamo.

So about 90% of your scripts are going to start with this document current node. Because we're working in the current document, we need to make sure that we're applying things to that document. So we're tying it back to that. We're also setting this to Automatic so we could see these lists populate automatically on the fly. And we're pulling up our add-ons.

The Civil3DToolkit, which I mentioned, which extends the capabilities, this is a custom installation package that's available. And what we want to do-- like I said, we're going to add property sets to our objects. So we need to understand what that progression looks like. So we're starting with the current document. And then we're going to filter down to the pipe networks. We want to identify all the pipe networks that are in our current document. And then we want to identify the objects within contained within our pipe networks. So we want to get the pipes and structures.

So it's working through that progression, right? You've got to work down to the objects themselves. And on the left side of these nodes, these workflows, that's the output. And the input is on the left side of these nodes. So we're just essentially making connections to develop that workflow. And as you can see since I have automatic set, we see these lists being pre-populated, which shows that we're on a good track. These lists are exactly what we want to see. We want to see all of these filtered down to the pipes and structures, now, the objects themselves.

So now if we leverage the search, we type propertyset. We get a preset list of nodes and workflows that are associated with property sets. We're going to want to add the property set to the object. So we're going to call up that node. And as we hover over these, we get great descriptions. We get some basic information about the inputs and outputs.

We saw that the input for property set definition name is string. String is a manual input that we need to apply. And that's the property set name. So we're going to call this string a U demo because that's the property set that we created already within our file. So we'll just simply type a demo, connect the output to the input of the object add property set. And then we're going to connect the pipes to the object. That is the object that we want to assign these property sets to.

And as you can see down on the bottom, it says Run completed. We get a list of 17 objects here. All the pipes are listed out. So if we jump back into our file and start looking at our pipes, we see all the information. The property assets being assigned to it. So we're obviously on the right track.

So what happens if you want to assign the property set to multiple objects? To do so, we need to generate a combined list. So we use the List.Join node. And we connect the pipes and structures output to that to make one consolidated list, connect that to the input of the object. We'll hit Run, and we see this list number grow to 36 objects.

Jumping back in our file, we'll select some objects just to make sure everything's checking out. We see that that's assigned. We see this pipe is assigned that information. And even the structure now is assigned. But if you see the handle, that's a question mark. And that's because that's the automatic that we assigned to only pipes.

So now pulling up the Style Manager, we'll jump back into our Property Set Definitions, go to the AU Demo. We see the source for Handle. It's just listed as pipe.handle. And we only see Pipe as an option. So we need to add that to the Applies To tab. We need to add the structures to the Applies To because right up here, we're only seeing Pipe.

So if we check the box next to Structure, we see that populated. And now, if we hit Apply and go back to the Definitions tab, click on the ellipsis, we now have the Structure section here. So we'll check the box next to Handle. Under Structure, hit OK, Apply and OK. And now if we select that structure again within our environment within Civil 3D, we see that handle, that object ID being automatically populated, that value.

So that's a quick way to demonstrate how we could leverage Dynamo to assign property sets. And you could do this on a bigger scale. Again, this is very simplistic version-- simplistic workflow that I just reviewed. But if you think about how many objects you may be potentially assigning these things to instead of manually selecting and highlighting and assigning, we could start developing scripts that would automatically generate this and assign an associate all this great metadata-- customized metadata with your objects moving forward.

So what does it look like if we want to extract this information and create an Excel report? Say you want to share this with a project manager or an engineer, you definitely don't want them jumping into your Civil 3D environment if they don't know what they're doing within Civil 3D. So preferred practice is to create a report so they could actually look at this information and then make their updates. And you push it back in. So we'll talk about that workflow using Dynamo to export all the metadata to an Excel report.

So jumping back into Civil 3D, we're going to type stylemanager so we could access the List option, the Multi-Purpose Objects and really just want to start showing you real quick how we can continue to build this out on the fly. And then we'll work on the extraction. So if we expand the multipurpose objects, we get the list definitions. And we have the status of asset. And this is that predefined list that I've already created of values that we could assign to the Manual Property Definition.

So showing you what this looks like, as well, we'll jump over to the Property Set Definitions. We'll create a new property set manual property definition. We'll give it a name, call it Status_Of_Asset just to keep things consistent with the list definitions name itself.

You could start with something that's already created, or you could just start with the default. For now, we're just going to-- it's automatically defaulting to text for the type. We need to change that to List. And then we get some different options over here. For the source, we obviously want to pull up the status of asset list.

And the default, if you know like, 80% of your objects are going to be assigned one specific predetermined value, you could certainly set up some defaults. In this case, we'll just apply Unknown to everything for now. We could certainly overwrite them individually or change that value individually later on down the road in our Civil 3D environment.

But also important to note is that we're not limited to the order in which we create these property definitions either. There is the Order column, which we can reorganize, reshuffle some things around. So if we want that status of asset to show up in the number two spot, we could certainly do that here.

So Status_Of_Asset shows up as number two there if we select the Pipe here in our environment, go to our Properties tab, our Extended Data tab. We see that Status_Of_Asset in the number two spot now. So all these updates that we make in that Style Manager in the Property Set Define are being applied here live within our environment.

So let's pull up Dynamo again and talk through the process of extracting the metadata and creating an Excel report. So let's open up our previously created one, the attached property sets. Let's start there, and we'll work through that progression. So understanding-- well, first off, let's do a Save As. We don't overwrite this.

We'll call this PropertySetsExport. And then we want to go further from these objects. We've already assigned or added the property sets to these objects. So we're just going to delete these for now. And we want to continue to build this out. So thinking about that progression, we've identified the objects within the pipe networks.

Now, we want to extract the properties, the property set data from those objects. So continuing to just work through that progression, we're connecting the pipe object, which we're just going to focus on pipes for now, connect the pipes to the objects for the object property sets. We'll call up the properties of the property set.

And then we're going to call the property name, which in Dynamo, it's called the property name. But in Civil 3D's property definition, don't get too confused. It's just the way they call it, the property Name and then property Value. At least that's consistent.

So we're going to make those connections. So we're identifying building a list of the names and the values. And for the names, when we export this to Excel, we want to have the names listed only once as the column headers. So we need to identify just the unique items. There's a couple of different ways we could do that. We could do the unique items. We could do the first or the last list from the property names. But we obviously don't want status of assets, status of asset in each of the rows.

So we want those as the column headers and then all the values associated with the objects listed within. So what we're going to do is make these connections. We're going to recombine them using that List.Join. So we have all our-- we have our consolidated list of data now. And now we're going to pull up the Excel-- Export to Excel node.

So we'll make a connection, the List.Join to the data. We're going to create a Boolean-- add a Boolean, a True/False statement to the overwrite. So if it actually exists, if this file exists, we want to overwrite it. The starting row and starting column is essentially we want to start in the top left of our Excel. Typical common practice is to do so.

So we'll set that as zero for the integer input. And then the sheet name requires a string. This is our AU demo. We're going to call this AU Demo just to keep things consistent. But essentially, this sheet name is that tab in Excel. And then we need the file path. So making all these connections, pretty straightforward. We're going to define where we want to save it, the file name we want to save it as, and we're going to override it.

So making those connections, and then we're going to click Run. But before we do that, let's clean it up because we just threw a whole bunch of workflow nodes out there. We could select everything and either hit Control-L or go up to the Edit Cleanup node. And it will reorganize, reshuffle things around to make things a little cleaner, crisper, especially if you're going to be sharing it, it's definitely good practice to do so.

And as you can see, this Excel report is created now. It's got all the information. We have our headers. The definition-- the property definitions is the headers and all the values listed within it. So it's great. We've exported this information. We've extracted it from our Civil 3D model. We've exported it to an Excel report. And now we're going to share it with our project manager-- project manager, client, whoever it may be.

So how do we get the updates pushed back into Civil 3D? Let's select one of these objects, check out the properties. And we see that the Manual_PS does not have a value associated with any of these. So let's focus on the Manual_PS first.

For the purposes of this demo, we're going to pretend like we're the project manager now. So in this Manual_PS column, we're going to start typing some values that we want to push back into our environment. So we'll do testing 1, 2, 3, 4, 5, 6, 7, 8. We're going to save it. And that project manager's going to send it back to you for you to incorporate back into your model.

So if we pull up Dynamo again-- I'll review the script in a second, but I want to show you how this works. So if we click Run, we see "Run completed," So let's check things out in our model. So now if we were to select one of these objects, go to the Properties. We see the Manual_PS has a value of 3 tied to the handle 33E.

If we were to pull up that report just to do some quick spot checking just to make sure things are actually being assigned right, we see the Handle, 33E with the Manual_PS value of 3. Let's make sure that's not a fluke. So we'll select one more pipe. We have a handle of 446 with a Manual_PS value of 7, 446 and 7.

So things are checking out. So I think we're good. We're in good shape. So we've now successfully imported our updates back into our model and applied it and associated with those objects. So what does that workflow look like, the Dynamo strip? So before, we were ending with the Excel. Now, we're ending with the update property set. We're starting with the importing Excel. So it's understanding what that workflow looks like.

So we need to first grab the data from the Excel file, which you're seeing right here. We're making all these connections. And as you can see, it's reading column or rows. It's reading by rows. So we need to invert that by using the List Transpose. And we just want to focus on the Manual_PS column right now because that's all we were doing, right? Those are the only values we were going to be focused on.

So this reorganizes the List Transpose from reading horizontal to vertical. And then we want to list just that first item. So we go from 40 items to 10 items. And we're only seeing that Manual_PS column now. Inputs required for updating the properties require strings. It's important to note that the lists are identified as objects within the Dynamo environment.

So we need to convert that, the object to an actual string that can be pushed into the input of our update property. So now we're seeing that list being convert it to a string. And we're using the List.Deconstruct, which gives the first item as one list, and the rest of them, which are the values, that we're going to plug into using the outputs, the first and rest into the property name and property value.

Property Set Name is going to be that AU demo. That's the property that we created from the get go. And that's being tied into the sheet name, as well as the Property Set Name. Then the object is going back to the document current. So we're working on the current document, the PipeNetworks. We're finding the pipes, and we're creating a list, and tying that back into the object. So it's that progression.

So that's it. So now we've successfully updated our property set values for all of our definitions contained within our property sets.

Some additional resources are available online, like I mentioned, right at the beginning of this section. On the right side when you launch Dynamo, you've got some great resources out there. And these are a lot of those. One important resource that I want to point out is the discussion forum. There's a lot of great people in this community, a lot of great people willing to help.

You work through your issues, work through whatever roadblocks you're up against. I know I've gotten here many, many times, definitely check this out, do a quick search because I'm sure somebody is actually experienced whatever you're up against, the roadblock you're up against. But there's a lot of great people out there willing to help.

So it's great. We've got all this great information. We're understanding the value of property sets. We're understanding the ways we could automate some of these workflows so it's not as daunting of a task as it was many years ago. But how can we leverage that data outside of the design environment? So what does this look like outside of that?

Taking a quick high-level look at that data progression timeline, way back when, we started out. 2D plans obviously in early days of CAD, even manual drafting-- hand drafting. We relied on call outs, notes, tables, keynotes, whatever it may be to convey a lot of the information that we're now plugging into our models.

We moved into an environment where we were starting to convert our 2D plans into 3D models. But 2D plans were still the expected deliverable. In that sense, we still had to convey all that information by way of call outs, notes, keynotes, tables, et cetera, to be displayed and convey that information out to contractors, to clients, whoever it may be.

We're now moving into a digital delivery environment where we need to have the assurance that all of our elements contained within our models contain that associative information. All the additional customized metadata and all these linking attributes and values are embedded in our file because that's what's being delivered, the files themselves now. We're moving into an environment where 2D plans are not the deliverable anymore.

So understanding what is and isn't translatable. As I mentioned at the beginning, if you were to reference your DWG into some collaboration tools, that information-- some of the information is not going to be translated properly. As you can see in this instance with a DWG, if I were to export that-- or sorry-- import that into Navisworks, that formulaic equation that I applied within the Civil 3D environment is not picking up within Navisworks because it's a Civil 3D API that it's referencing. Navisworks doesn't understand that. So it's putting a dash, dash there.

We do get access to all the additional metadata that I mentioned if you were to select that pipe within your model space, right-click, and go to Pipe Properties, you get access to all of this great metadata. So it's carrying a lot of it over. But from a customization standpoint, it doesn't carry everything. So DWG is bad if you're going to reference it into certain programs.

But if you were to use the NWCOUT command, you are able to view that information. Those values do get picked up and do get exported. But understanding that NWCOUT is a command within Civil 3D, it exports to a static file. It's no longer linked to the Civil 3D model. So as it's doing that-- performing that export to an NWC file, it's essentially taking a screenshot of that value and pushing that out as well. So that's one workaround to get around that.

Similarly with Autodesk Docs, if you were to pull this DWG up in the Autodesk Docs environment, you see the actual formula instead of a dash, dash. You do still, however, get access to all the great rich information that's available within Civil 3D. However, if you were to export this just like Navisworks through an NWC file, you do get access to those values. But again, it's a static import or static export from Civil 3D.

Similarly in addition to NWC, we want to highlight IFC. Now, IFC will do the same thing. It's essentially a static export. But IFC on a global scale is being adopted by companies all around throughout the industry-- import, export capabilities. It's reading the data. We're able to migrate things. We're no longer forced to be-- well, we're moving into an environment where we're going more vendor neutral, right? It's a more vendor neutral type environment-- design collaboration type environment.

So we could actually export our Civil 3D models to an IFC formatted file where it's taking and carrying all this information over. It allows for full digital exchange, system to system integration. And we could start thinking about ways we can leverage this data associated or assigned within the IFC files for automated quantification, class detection, machine guidance, asset management, blockchain, not the cryptocurrency, but individual asset tracking. And there's so many more ways we could start leveraging the data.

It's important to note that IFC 4.3 Import/Export tool is available in beta on the Autodesk Futures website. As I mentioned at the beginning, if you're not a member, please sign up. But IFC 4.3 is currently in beta. And it's being tested in 4.3 for those that aren't familiar with the progression of IFC.

Version 4.1 supported alignment geometry. But all other geometry, like surfaces, pipe networks, and so on were being exported. But they were being identified within IFC viewers as building proxy entities because IFC historically has been very supportive on the vertical side, but not so much on the civil infrastructure side. There's been a huge shift through buildingSMART International leading those efforts to support civil infrastructure workflows and expand the capabilities with these IFC files.

So as you could see, we're no longer looking at building proxy entities. We're looking at pipe segments, chamber elements, pipe fittings, and so on. So all the civil infrastructure design objects are actually being read intelligently outside of Civil 3D environment through IFC. Quick high-level list of all the major vendor supports-- major vendors that are supporting IFC by way of import and export capabilities. Obviously Autodesk is up there. And so are a lot of major players across the industry.

So a quick plug about the data and some things we're working on here at HDR-- wanted to just highlight Project Explorer to give a quick shout out. I know this isn't a Project Explorer course. And currently, Project Explorer does not necessarily support property sets. But it is on the roadmap. It is on Autodesk roadmap for future integration. There's no telling which version or hotfix it's going to be available in. But it is on the roadmap at least.

And as you can see in this data set, we've got a lot of great information. We have gravity networks, pressure networks, alignment surfaces, corridors, sites, assemblies, all this great information. If we pull up Project Explorer, we can view all this information in what I like to consider it as a panorama on steroids.

It's great for model validation, some quick checking of your model. You could create bill of materials. You could do all kinds of things. You could update your geometry all within this environment. And again, in future releases hopefully sooner rather than later, they'll be incorporating property sets and the value-- the definitions and the values associated with these objects as well.

But essentially what I wanted to show you is how we could export these two reports that could be brought into other tools, visual reporting tools like Power BI. In this instance, we're just going to select all of those-- all of those objects. And we're going to run all actions here to create those reports.

Now, if we pull up one of those reports, this is our gravity pipe network. We could export these two reports through to Excel formatted files, to Word, to PDF. There's a couple of different options that we have the ability to export to. But what I like to do is I like to resurface everything from all the tabs into this Summary tab. So I create this after the fact, and I resurface it. And then I bring it into programs like Power BI.

So Power BI for those that aren't as familiar with this, it's a great way to do some quick model validation, quantification, cost estimation, and whatnot. But in this case, we're going to show you the IFC. So we've taken an IFC that we exported from our Civil 3D environment. We did create an automation tool that would perform some level of class detection as well so we could view all that information within this environment within Power BI.

Power BI itself, these are desktop. But we could share these as dashboards to clients for public outreach. You could share this information out relatively easily. And as you can see with these clashes, we're identifying the network names that they stem from, which pipes are being clashed.

You could check it against solids. You could check it against corridor models. Whatever it may be, I mean, the sky's the limit at this point. As it relates to surfaces, we're able to identify how a surface was constructed within the model. So we see the surface operations. And we can start dissecting and really validating our models themselves.

So as I mentioned with the digital delivery environment, model is a legal document. We're moving into this environment where we're handing off our model to our clients for integration into asset management solutions, construction management solutions and whatnot. But how do we check that IFC file? How are we going to be OK with what is being delivered if it's a static export? So we need ways, like Power BI, to check those things.

This is a same thing. Power BI, that dashboard concept. But this is through Project Explorer reports. We don't get that fancy viewer of the model itself. But we do get to see some cool visuals within this reporting program itself. We have that alignments, the surfaces, the gravity networks, the pipe networks listed all at the bottom. These are all individual tabs from the reports that I uploaded.

And as you can see down here, we're seeing the minimum coverage of the pipes. We get the names. We get the coverage. We could even start to plug in some basic formula equations within here because it's very Excel-driven to start generating some idea of quantification and some building some rough cost estimation tools. So as we start highlighting and selecting some of these different components that are being reported, we could see this stuff update live.

So if we wanted-- if we were applying a different value to our pertinences we could see that it's multiplying it by 3. And we get that total rough cost estimation of what it's going to cost for the design. So we get some great perspective of the constructed aspect as well. So some really cool things we're doing. And these are just some simple ways that we could leverage data itself being built into the design models.

So what did we learn? We did a quick introduction of property sets, quick high level, got everyone familiar with it, hopefully comfortable to leverage them. We learned about ways to automate within the Civil 3D environment as well as the Dynamo environment. And then we learned a couple of different ways about how this information is being carried through, be outside of the design environment itself for collaboration purposes, for integration into asset management reporting tools, construction management, and so on.

So just really wanted to get your mind going, thinking about ways and the potential for leveraging property sets. Just a quick reminder. I did use 2022. 2023 has some slightly different interfaces that I understand. But let it be known that these workflows that were discussed today are forward-compatible.

All right, so quick, where you can find me. Don't hesitate to reach out. This is my work email, Stephen.Walz@hdrinc.com. Or you could reach out to my personal email, SteveWalz@hotmail.com. You could also reach me out on LinkedIn. I have a YouTube channel. So feel free to check that out.

I do occasionally post workflow videos and demonstrations on there. Feel free to go out there and like some of the videos, add some comments. And Design to Visualization Blog. Everything essentially that I post on my YouTube channel is resurfaced on the Design to Visualization Blog.

And I do want to point out that I do have a book being published. Currently it's available for pre-order. It's called Practical Autodesk Civil 3D 2023 that I co-authored with Tony Sabat. It's essentially a step-by-step guide that walks through real-world applications of civil infrastructure design, modeling analysis. And as I mentioned, it will be available at the beginning of next year.

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