Working with iProperties is a common task when automating Autodesk Inventor: managing metadata, preparing BOM exports, or enforcing naming rules. Developers typically access these properties through one of two interfaces: the Inventor API or the iLogic API. Although both expose the same underlying document data, they do so in noticeably different ways. The object models differ, the available property names are not always identical, and some operations are simpler in one API than the other.

This post outlines the practical differences between the two APIs when working with iProperties and serves as a reference for developers who want a clear overview of all iProperties accessible through both APIs.

The goal is to provide a straightforward technical comparison, plus a complete list of property names you can rely on when writing rules, add‑ins, scripts, or external automation.

Working with iProperties: Inventor API vs iLogic

iProperties are one of the most frequently accessed parts of Inventor automation, and because of that they tend to generate many questions. This section gives a short overview of how to work with iProperties using both the Inventor API and iLogic, shown side‑by‑side so you can see the differences clearly.

Every Inventor document exposes its iProperties through a PropertySets collection. In the Inventor API, you must navigate through:

  1. Document
  2. PropertySets
  3. Individual PropertySet
  4. Individual Property

iLogic provides a much simpler interface for the same underlying data. Below are examples for reading and writing the Part Number property.

Getting a Reference to the Part Number Property

Inventor API (VB.NET)

' Get the active document.
Dim doc As Document = ThisApplication.ActiveDocument

' Get the PropertySets collection.
Dim propSets As PropertySets = doc.PropertySets

' Get the Design Tracking Properties property set.
Dim propSet As PropertySet = propSets.Item("Design Tracking Properties")

' Get the Part Number property.
Dim partNumberProp As [Property] = propSet.Item("Part Number")

iLogic

Dim partNumberValue = iProperties.Value("Project", "Part Number")

iLogic uses category names from the iProperties dialog (“Summary”, “Project”, “Status”, “Custom”), not the internal Inventor API property‑set names (Inventor Summary Information, Inventor Document Summary Information, Design Tracking Properties, Inventor User Defined Properties ).

Reading the Part Number

Inventor API (VB.NET)

MsgBox("Part Number: " & partNumberProp.Value)

iLogic

MessageBox.Show("Part Number: " & partNumberValue) 

Setting the Part Number

Inventor API (VB.NET)

partNumberProp.Value = "SamplePart001"

iLogic

iProperties.Value("Project", "Part Number") = "SamplePart001" 

Refrence table

The table below provides a unified reference for all standard Inventor iProperties, showing how each property is exposed in both the Inventor API and the iProperties dialog inside Inventor. Although Inventor presents iProperties to users through four tabs (Summary, Project, Status, and Custom) the underlying API organizes these properties into PropertySets with different internal names. This often leads to confusion because the names visible in the UI do not match the names required in code.  To clarify this relationship, each row in the table includes:

Name

The display name of the iProperty as shown in the Inventor UI and commonly referenced in documentation, title blocks, and user workflows.

PropertySet name (iLogic)

This is the tab where users can locate the property inside Inventor’s iProperties dialog (Summary, Project, Status, or Custom).
iLogic uses these tab names as the first argument in calls such as:

Properties.Value("Project", "Part Number")

PropertySet name (Inventor Api)

This is the internal Inventor API name of the PropertySet object that contains the property. When using the Inventor API (VB.NET, C#, add‑ins), you must reference the exact PropertySet name, for example:

Dim ps = doc.PropertySets.Item("Design Tracking Properties") 

Type

The data type of the property.
This is especially important because Inventor expects the correct COM type when assigning values. For example:

  • String values must be plain text,
  • Date values must be valid filetime‑compatible dates,
  • Currency properties require numeric or currency‑formatted input,
  • IPictureDisp values represent internal picture objects (thumbnails, part icons).

Custom properties

Custom iProperties do not exist until created by the user or by automation.
In the table they are represented as:

  • Name: (custom property name)
  • Tab: Custom
  • PropertySet: Inventor User Defined Properties
  • Type: depends on creation (String, Number, Yes/No, Date)

How developers can use this table

  • iLogic authors can quickly determine which tab and name to reference using iProperties.Value(tab, propertyName).
  • Inventor API developers can map UI names to actual PropertySet names and avoid guessing or inspecting properties at runtime.
  • Add‑in developers can use the Type column to properly cast values before assignment and avoid COM type issues.
Name PropertySet name (iLogic) PropertySet name (Inventor Api) Type
Author Summary Inventor Summary Information String
Authority Project Design Tracking Properties String
Catalog Web Link Project Design Tracking Properties String
Categories Project Design Tracking Properties String
Category Summary Inventor Document Summary Information String
Checked By Project Design Tracking Properties String
Comments Summary Inventor Summary Information String
Company Summary Inventor Document Summary Information String
Cost Project Design Tracking Properties Currency
Cost Center Project Design Tracking Properties String
Creation Time Project Design Tracking Properties Date
Date Checked Project Design Tracking Properties Date
Defer Updates Project Design Tracking Properties Boolean
Description Project Design Tracking Properties String
Design Status Project Design Tracking Properties Long
Designer Project Design Tracking Properties String
Document SubType Project Design Tracking Properties String
Document SubType Name Project Design Tracking Properties String
Engineer Project Design Tracking Properties String
Engr Approved By Project Design Tracking Properties String
Engr Date Approved Project Design Tracking Properties Date
External Property Revision Id Project Design Tracking Properties String
Keywords Summary Inventor Summary Information String
Language Project Design Tracking Properties String
Last Saved By Summary Inventor Summary Information String
Manager Summary Inventor Document Summary Information String
Manufacturer Project Design Tracking Properties String
Material Project Design Tracking Properties String
Mfg Approved By Project Design Tracking Properties String
Mfg Date Approved Project Design Tracking Properties Date
Parameterized Template Project Design Tracking Properties Boolean
Part Icon Project Design Tracking Properties IPictureDisp
Part Number Project Design Tracking Properties String
Part Property Revision Id Project Design Tracking Properties String
Project Project Design Tracking Properties String
Proxy Refresh Date Project Design Tracking Properties Date
Revision Number Summary Inventor Summary Information String
Size Designation Project Design Tracking Properties String
Standard Project Design Tracking Properties String
Standard Revision Project Design Tracking Properties String
Standards Organization Project Design Tracking Properties String
Stock Number Project Design Tracking Properties String
Subject Summary Inventor Summary Information String
Template Row Project Design Tracking Properties String
Thumbnail Summary Inventor Summary Information IPictureDisp
Title Summary Inventor Summary Information String
User Status Project Design Tracking Properties String
Vendor Project Design Tracking Properties String
Weld Material Project Design Tracking Properties String
[custom property] Custom Inventor User Defined Properties [Custom]

 

Summary

Accessing an iProperty is simply a matter of navigating the Inventor object model (Inventor API) or using the simplified iProperties.Value(category, name) call (iLogic). The main challenge in both cases is knowing:

  • Which property set the property belongs to, and
  • The exact name of the property, which must match Inventor’s internal name.

Skills:

Autodesk Inventor, Vault, Git, C#, vb, .net, php HTML, css, js

Education:

University computer science.
HBO Mechanical engineer.
MBO Fine mechanics.

Experience:

Programmer and Mechanical engineer at Kelvion
(2016 - 20..)

Mechanical engineer at Strukton
(2009 - 2016)

Mechanical engineer at RDG-engineering
(2007 - 2009)

CNC Programmer at VMC
(2005 - 2007)

volunteer at Taizé
(2007)

Certifications:

Objectgeoriënteerd analyseren en ontwerpen, Objectgeoriënteerd programmeren in Java, Webapplicaties: de clientkant, Databases, Security Aware Programmer, Web Security Specialist