Article
Article
Article

Inventor iLogic Best Practices and Fundamentals for Success

Share this Article

What Is iLogic?

For the most part, people who use any type of desktop application understand what automation is. If you’ve used Microsoft Excel you may have heard of Macros, tools developed and designed within Excel to accomplish a specific task. Inventor Automation is very much the same in the sense that while the automation can take the form of many different things, in essence, it is a tool or a series of tools to automatically accomplish a specific task, process, or function. iLogic is one form of Inventor Automation.

iLogic is a functionality of Inventor that allows users and administrators to create logic in the form of VB.net to accomplish tasks. Rules are developed and organized using snippets and other code writing statements to run at given times to consistently do some of the work engineers and designers need to do.

You could develop a series of iLogic rules to do things like updating iProperties based upon different model criteria or Replacing Components in an assembly based upon selections made in an iLogic Form, or even update text blocks within an associated Drawing. The list is long as to what iLogic can do. The question is, what do you want it to do for you?

Why Should I Embrace iLogic?

Now that we understand what iLogic is, let’s take a look at the reasons why you might want to incorporate iLogic into your engineering processes.

First, in my experiences working with manufacturing companies big and small, all over this world, fabricating and manufacturing many different types of products, one thing always rings true: there are patterns and repeatable plays in every environment. The key is to find the ones where iLogic can be of assistance. This simple task requires an intimate knowledge of all the places Inventor plays a part in your process.

Say for instance, you have a specific format for the iProperty Description of your 3D models or any of the iProperties for that matter. If the formatting is predictable, if it is standardized, then this is a situation where iLogic can come to the rescue. You could develop logic to collect information from the model, transform that information, and then overwrite the iProperties with the correct, newly formatted information. It is always correct, it is always consistent, and it never asks for a coffee break.

Related: Taking It to the Next Level: Drawing Automation with Autodesk Inventor with Thomas Fitzgerald

Configuring Inventor to Use iLogic

What do I need to do to Inventor to effectively use iLogic?

Although iLogic is included in Inventor and you can start creating and using iLogic right away, it’s helpful to understand that there are some settings that should be addressed in order to use iLogic to its fullest extent. The iLogic Configuration button allows users to configure different settings to define where Inventor will find supporting information.

config

Users and administrators will want to modify these settings to control where Inventor will find External Rule directories, as well as the order priority for those directories. Users can also define the directory location Inventor will find any DLLs, or Dynamic Link Libraries. DLLs are the output from Microsoft Visual Studio for the development of custom User Interfaces to drive and trigger iLogic rules and other logic.

The settings dialog box gives users the opportunity to set what file extension External Rules will be saved as and the default Logging level in which debugging information can be produced. There are also some Security Options settings to protect computer and network systems from potentially hazardous code running within the Inventor environment. There will be more information about External Rules and Debugging later in this document.

Internal Versus External Rules

Which one should I use and when?

iLogic Rules come in two flavors, Internal Rules and External Rules. Either type of rule is created similarly within the context of Inventor in the iLogic Browser.

browser

Internal Rules are rules that are created and stored within the context of a file. Part, Assembly, and Drawing files all have the capability to store, compile, and run rules to affect each file differently. External Rules are pretty much exactly the same, however, they are not stored within Inventor files. Because Internal Rules are stored within the files, they are exposed and accessible to the users that have permissions to those files. External Rules are stored in a directory either locally on a user system or central on a server, geographically agnostic.

Because External Rules are stored in a folder outside of the files, there can be a higher level of security to those rules. Yes, users can open and see the rule code, however, system administrators can control access and editability by defining Folder Permissions to the External Rules folder. For this reason, External Rules are preferred in an Enterprise environment where numerous users might want to run code throughout the design process. If conditions do not require permission control or if multiple users do not need to utilize the rule logic simultaneously, then perhaps Internal Rules are sufficient.

Both types of rules are visible within the iLogic Browser, as seen in the images below.

rules

Right clicking on either type of rule can control features like Suppressing or Unsuppressing rules to control when they are triggered, deleting rules, or removing them from the list.

Parameters and Properties

How should I use them?

Autodesk Inventor is a “3D Parametric Design Application.” Well, what does that mean? Parameters are named value placeholders of a specific type. Most parameters in Inventor are numeric in type and are associated to dimensions that control geometry. As parameter values change, the dimensions associated to those parameters change as well, graphically updating the models. There are essentially four types of Parameters in Inventor:

1) Model Parameters

2) User Parameters

3) Reference Parameters

4) Linked Parameters

Model Parameters are those parameters created by normal Inventor behavior. In the Parameters dialog box, these are automatically named as d0, d1, d2, etc. Model Parameters are controlled by Inventor, meaning they are created and deleted as necessary by the system.

User Parameters are those parameters created by users. They can be Numeric, Text or String, or True/False or Boolean. User Parameters are especially important because these are created by users, consumed by many different features as well as iLogic code, and are not created or deleted by normal Inventor behavior.

Note: Creating User Parameters by applying a naming convention and type is the preferred method of using parameter information in iLogic rules. Although you can rename Model Parameters, it is not the preferred method to use.

Reference Parameters are created when Inventor defines a Driven Dimension. If you’ve ever seen this dialog box when working in the Sketch environment:

sketch

Selecting Accept in this situation would create a Reference Parameter. In the Parameters dialog box, you will see the parameter name and value, but you cannot change the value. You can change the name, which is helpful in using the value in iLogic code.

Linked Parameters are those parameters linked to Inventor from, typically, an Excel Spreadsheet. When a user updates the names and values in the Excel Spreadsheet, those changes will reflect in Inventor, ultimately driving dimension values, controlling features, managing assemblies, etc.

Properties, or iProperties in Inventor lingo, are additional descriptors or other valuable information about your files. This is sometimes referred to as Metadata. Properties are nothing new and can be extremely useful when trying to collect a lot of data about files. Filename, File Size, Author, Modified Date; all of them are Properties. Most of the time, when working with iLogic and Inventor file data, Filename and File Path are the two most common Properties to handle. Other popular Properties are, Part Number, Stock Number, Description, Mass, Cost, and Custom Properties. All properties are Read, most properties are Write Enabled.

Declaring Variables, Typecasting, and Shared Variables

How important is it to use this coding mumbo jumbo?

iLogic is code, plain and simple. Although one does not need to be a programmer or even know how to write code, embracing some of the basics of code writing best practices will get you a long way. This is because there are some standards that all programmers understand. Declaring variables and Typecasting is one of those standards. Why is this important? Well, it’s like speaking any language. Having a standard relieves some of the confusion when writing logic.

Declaring Variables and Typecasting

Declaring variables is actually extremely simple. In iLogic, it’s simply writing a name and giving it a value:

Length = 20

Once I have a variable created, then I can do things with it. I can read the value and process it in a calculation, or I can write to it to update something else. Even though typing a name and value pair is acceptable in iLogic, a better way, leveraging a code writing best practice, is to type the name, give it a “type”, and then providing a value:

Dim Length As Double = 20

What this does is tells iLogic to create a variable that will only hold a “Double” value, and then provide the value. This is called Typecasting. It ensures that only a specific value can be provided to the variable. If I would try to provide a String or Text value to the Length variable, my code would fail. I have found that by providing a type allows me to use much more complicated code in my rules as well as understanding and visualizing the flow of information. As an example, if I write a statement in a rule that conducts a mathematical calculation, and I receive and error, then I know that any of my variables that are of the “String” type are not at fault.

The following are examples of different kinds of Declaring Variables and Typecasting:

Dim cylinderHeight As Double = Parameter("CylinderHeight")
Dim fileName As String = "This is a string value!"
Dim holeCount As Integer = 2
Dim occurrenceName As String = String.Empty
Dim plateWidth As Double = Nothing

You’ll notice that in the last two examples, I did not provide a value, or rather, an empty value or nothing. There will be occasions that you may need to declare a variable, but you may not know the value as of yet. In this case, you can maintain consistency by declaring the variable, typecasting, and providing something on the other side of the equals symbol. This is also helpful for debugging code to see if a value is or is not being provided programmatically.

If you were paying attention, you’ll also notice the first example where I declared a variable, typecast, and set the value to be equal to the value of a User Parameter. This method will be useful when constructing the logic needed for calculations, passing values to other constructs, and manipulating other parameters. It is also useful when you need the either get or set the value of the User Parameter immediately, at the time the code needs it. This is why new users to iLogic experience problems when running rules, expecting a specific behavior, but Inventor seems to “lag” behind a step. Take a look at the following examples:

cylinderHeight = CylinderHeight
Dim cylinderHeight As Double = Parameter("CylinderHeight")

Both these statements do similar things but not quite exactly. The first example declares a variable that could be of any type, with a value equal to the User Parameter. Because the text color is blue, Inventor recognizes the User Parameter. Because Inventor recognizes the User Parameter, any rule that is unsuppressed using this format, will automatically run. You many or may not want rules to run that way.

It also means that the variable will be set to the value of the User Parameter at the time from the last Update. If logic had changed the User Parameter value between the time the variable needs the value and the last update, then the User Parameter value is out of date. This is why an Update is required, and sometimes it seems numerous Updates are required to get the desired result.

To get past this, you can do two things. First, use the second statement. By declaring the variable, typecast, and use the “Parameter” function, you set the variable to be the value of the User Parameter directly, ensuring the value is up to date. It also gives you more control over when rules run. Second, use the “RuleParametersOutput()” iLogic snippet. This will keep all the User Parameters up to date. Then conduct an Update to ensure the models associated are up to date as well.

Shared Variables

Previously, we were discussing code practices about variables, but Shared Variables are a feature of iLogic. When declaring variables in an iLogic rule, that variable is only accessible within the context of that rule. If you need to create a variable and set its value to use within numerous rules, then Shared Variables are the answer.

In the iLogic Snippets Panel in the iLogic Rule Editor, you can find the Shared Variable functions under the Variables index.

To use Shared Variables, we will follow a similar process as when declaring other variables. First declare the Shared Variable, provide a name for the Shared Variable, then provide a value. The value can be a static value, or it can be the value of some other variable, parameter, or property.

SharedVariable("VariableName") = "This is the value" SharedVariable("cylinderHeight") = Parameter("CylinderHeight")

Once a Shared Variable has been declared and a value provided, then it can be consumed and updated as necessary.

Dim cylinderHieght As Double = SharedVariable("cylinderHeight")

Use the other Shared Variable functions to see if a Shared Variable exists, or to remove any and all Shared Variables from memory.

Conditional Expressions and Loops

Does a human always have to make a decision?

In normal interaction with Inventor, we have the luxury to look at the graphics window and select geometry to decide what to do with it. In an assembly, we can understand how components relate to one another. When we start looking at iLogic rules, we sometimes need to define the decision-making path by understanding the different conditions that might exist within a design. Using expressions that define the different conditions is a means for users of iLogic to accomplish those tasks.

The most common Conditional Expression is the If Then expression. It looks something like this:

If someValue = True Then
  'Do Something
Else
  'Do Something Else
End If

In code, we look to see if a condition exists and if it does, then the code will do something. If the condition does not exist or if a different condition exists, then the code will do something else. We can extend this functionality to look for numerous conditions, like the following:

If someValue = True Then
  'Do Something
ElseIf someValue = False Then
  'Do Something Else
ElseIf someValue = Nothing Then
 'Yet Do Something Else
End If

This all looks easy and it makes perfect sense; however, there is a limit. One could easily expect the conditions to continue indefinitely, but after a certain point, it becomes confusing as to what is really happening, especially when you start adding in additional Operators. In my opinion, once you get past three or four conditions, there are better ways to handle the situation.

Another common Conditional Expression is the Select Case method. It works similarly, but to me, it’s much easier to read and understand, not to mention, less code to write. Select Case looks like this:

Select Case someValue
Case True
 'Do Something
Case False  'Do Something Else
Case Nothing
 'Yet Do Something Else End Select

As you can see, it’s a little easier to understand and it’s very easy to scale for the number of conditions you might have to accommodate.

One of the most essential methodologies used in writing code is the concept of Loops. Using the example of iterating through an assembly to get the names of the occurrences, Loops allow us to go through all the occurrences without having to know how many occurrences exist. Constructing code and developing logic is all about understanding patterns, consistency, and predictability. Sometimes there are methods that can be used to accommodate unpredictability. Loops are those methods. Here’s an example of a For Next Loop:

Dim counter As Integer = 3
For t As Integer = 1 To counter
 MessageBox.Show("Number of Iterations: " & t)
Next

In the example, we defined the starting point of the Loop, number 1. We also defined the ending point of the Loop, counter which is set to 3. So that means, the Loop will iterate three times to produce a message box. If we don’t know the ending point for the Loop, we could do count the items in a collection and make that our ending point. Check out this example:

Dim items As New List(Of String)
items.Add("Pizza")
items.Add("Sandwich")
items.Add("Milk")
items.Add("Eggs")

For i = 0 To (items.Count - 1)
 MessageBox.Show(items(i))
Next

In the example, we created a collection, populated the collection, and then informed the Loop to iterate as many times as there are items in the collection. If you notice, we start the Loop at 0 and end the Loop at the count minus 1. This is one of those situations where understanding Indexing is important. Indexing is nothing more than identifying a starting point. Typically, it’s either 0 or 1. In this type of collection, the first item in the list actually starts at 0, not 1.

Thomas Fitzgerald is a senior implementation consultant specializing in Inventor Automation and Data Management. Thomas has consulted with a large number of companies with a very diverse exposure to both large and small engineering departments. Thomas has over 20 years of experience within the mechanical design and manufacturing industries using numerous Autodesk products. He is an Autodesk Certified Instructor as well as having his Microsoft Certified Systems Administrator credentials.

Want more? Download the full class handout to continue reading.

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