The intent of this wiki page is to collect information related to working with large assemblies in Autodesk Inventor. This information is targeted at Inventor users looking to optimize performance and streamline design techniques.
As product designs become larger and more complex, they consume more computing resources. Inventor provides several tools and techniques that improve some consequences of working with large data sets, including longer than expected load times, out of memory errors, poor graphics performance, and difficulty creating drawings. This wiki page provides background and insight into several large assembly management and planning tools that are included with Inventor. Use this information to help plan your design approach or solve issues that arise as your design progresses.
Inventor assemblies can be as large as 50,000 occurrences and 10,000 unique parts. An occurrence is a reference to a part or subassembly from the main assembly. So, if you pattern a bolt 8 times, you would have 8 occurrences and 1 unique part. A more typical large assembly probably contains 3,000 to 5,000 occurrences with 1,000 to 2,000 parts but there is no exact number that defines a "large" assembly. Large assemblies are considered to be any assembly file that adversely affects performance. The reason for the performance impact could be number of occurrences, number of unique files, complexity of geometry, or hardware configuration. The information on this page is intended to help with performance and/or capacity. There is no single solution that helps in all situations. Use the solutions below that help in your design environment.
Performance relates to the speed at which a task is completed. The time to open a file, create a drawing view, or render an image are performance related.
Capacity is how much memory is required to perform an operation. Capacity typically affects the number of components you can effectively use in an assembly or show in a drawing view.
The table below describes issues that are related to large assemblies and the workflows that can improve your processes. Use this table to determine areas of interest. Then locate the information below to find more detail.
|Long open times||Display geometry||Position components||Model changes||Open drawings||Create drawing views|
There are many different approaches used to design in Inventor. The techniques used to model parts and create assemblies can affect performance. Number of occurrences, complexity of geometry, constraint methods, and assembly creation are all determined by your modeling approach. It is common to mix techniques to best fit your products and design intent. You might use top down modeling to design to build a frame then use bottom up modeling to place and constrain components from an existing library.
Bottom Up is the traditional way of building assemblies. You first define the individual parts. Then you put them into sub assemblies using assembly constraints. The sub assemblies are then placed into higher lever assemblies up to the top level assembly. In this way, you are working your way from the bottom up. This assembly method will create assemblies with a lot of relationships between parts and assemblies.
Top Down is a method where you start defining the end result and build in all of the known design criteria. This becomes the base for underlying sub assemblies and parts. In this way you will have a single conceptual file containing the overall information of the design with a single place for incorporating design changes. Working this way provides can provide faster updates, more available resources for handling larger data sets, an easier way of working in a collaborative environment and a better way of doing design work in general.
For more information: Top-down design.
There are many workflows used to design 3D models in Inventor. These workflows fit the top down or bottom up methods and sometimes both. Below are the descriptions of common workflows in Inventor.
Skeletal modeling is a method of working with large assemblies. Basically, you put all known factors into a skeleton file which is then used as a base for most of the sub assemblies and parts that make up the assembly.
A skeleton file can contain any type of elements in any combination. Typical information created in a skeleton file may be:
Common origin modeling refers to how components are constrained in an assembly. Components are constrained to the assembly origin or a single set of work geometry. Common origin modeling is often used in the automotive industry.
Common origin modeling can be applied later in the design process as well. Components are constrained together using traditional methods then those constraints are later deleted. New constraints are applied using the assembly origin and the Predict Offset option.
This method uses pre-determined workspaces to define the design criteria for components. Boundary surfaces, work geometry, or solids define the workspace. The workspace defines the size of components, position of components or connectors, keep-out areas, and other design considerations. Components are created inside the workspace using the envelope geometry where necessary.
This method is useful when laying out large assembly scenarios or with components that consist of complex geometry. You create placeholder components that are simpler than the master component. This includes using a single part to represent a subassembly, creating a part without holes and fillets, or creating a part with simpler geometry.
Recommended for large assemblies:
Win7 x64 (Ultimate, Enterprise or Professional)
Dual Six core processor (i.e. 12 cores total, hyperthreading not recommended because Inventor does not take advantage (except Studio rendering))
24 GB or more system RAM
DirectX 11 level graphics card with 2 GB or more video RAM (CAD workstation-class graphics card )
Two (or more) 1 TB hard disk drives, SATA, SAS, Ultra 160 and Ultra 320 SCSI, SSD, RAID 0 or 1, 7200 RPM or better
Minimum for large assemblies:
Win7 x64 (Ultimate, Enterprise or Professional)
Quad or Six core Intel Xeon processor
12 GB or more system RAM
DX 11 level graphics card with 2 GB or more video RAM
At least 1 TB of hard disk space
Autodesk certified graphics hardware: http://usa.autodesk.com/adsk/servlet/cert?siteID=123112&id=16391880
Adding more RAM to your system will provide better performance and capacity. The table below provides a general guideline for the recommended amount of RAM. Actual requirements vary depending on complexity of part geometry and number of occurrences.
|Number of unique parts||Recommended RAM in GB|
To simplify searching for updates drivers\BIOS\Chipset Utilities, choose a motherboard that uses a chipset made by the same manufacturer. When selecting a CPU, consider the onboard memory cache. The amount and type of onboard cache can significantly affect performance.
If you use a motherboard that uses a chipset other than that of Intel or AMD, some manufacturer’s chipset utilities can present stability problems possibly due to their implementation of the AGP interface. In this situation it may be necessary to uninstall them and rely on the generic windows drivers. This can adversely affect performance and a dialogue should be opened with the manufacturer to resolve this.
Even new machines rarely have the latest available BIOS from the manufacturer website. Download and update it.
Ensure you have the latest driver and BIOS installed.
Keep the PCI slot next to the AGP (graphic card) slot on the motherboard free if possible. Not only do many newer graphic cards come fitted with a fan prohibiting the use of the first PCI slot, they also generate a lot of heat so placing a PCI card right next to them can cause issues. They also use the same motherboard infrastructure and IRQ conflicts may result.
Autodesk certified graphics hardware: http://usa.autodesk.com/adsk/servlet/cert?siteID=123112&id=16391880
The more RAM you have installed in your machine the better. Check the motherboard spec to see the maximum amount of RAM that can be installed. Use the fastest RAM available.
|Number of unique parts||Recommended RAM in GB|
Intel Systems – choose RD-Ram or DDR RAM (RAMBUS) modules preferably. Similarly, AMD Systems – choose DDR RAM. Choose RAM that transfers data at the same frequency as the processor. For example, PC1066 RAM delivers data at 2,132MB/sec which is the same as Intel’s 850E. Pairs deliver 4.2Gbytes/sec. A P4 CPU @ 533 MHz also works at 4.2GBytes/sec.
Use Memprobe.exe to obtain detailed information on how your system RAM is being used. This utility is located in C:\Program Files\Autodesk\Inventor <version>\Bin\. When working with Memprobe.exe, add the Inventor Working Set and the System Working Set then compare to the Hardware value.
Hard Disk Drive Configuration
For the purposes of this section we can state that information stored on a computers’ hard disk can fall into one of the following four categories, each has a different requirement:
OS = Operating System
Application = Inventor application
Data = Inventor data files (ipt, iam, idw files and the Workspace)
Temp = Pagefile, undo and temp files
In the most basic scenario the above will probably be located on one or two partitions of the one physical disk in the system, in an ideal situation they will be on multiple volumes, where Temp is striped and Data is striped with fault tolerance.
There are a couple of reasons to separate these files:
1) Data Access:
Files located in OS and Applications will not be accessed frequently (when a program is started the files are loaded once into memory), whereas files located in Data and Temp are being read and written all the time when working with Inventor. So, the greatest benefit comes from increasing the read and write access speed to Data and Temp by using faster hard drives.
This is closely linked to Data Access: as files are heavily used, they will fragment faster.
Separating the OS and applications is mainly cosmetic and doesn’t bring that much difference in performance.
Putting the Temp files on a separate partition ensures they don’t cause fragmentation of other files. It’s also easier to eliminate fragmentation by deleting all files in the system Temp folder after closing all applications. Setting the minimum pagefile size to the same value as the maximum pagefile size, increases performance when paging to disk as the pagefile will not fragment or cause fragmentation of other files. Also, as the pagefile is set to the maximum size already, no time is wasted expanding it. Ensure the pagefile is the first file created on the empty partition, that way it won’t fragment (and there will be no need to delete and recreate it).
Solid state drives can improve performance for large assemblies. The time required to open or save an assembly is affected by hard drive read/write times. Solid state drives can improve this performance.
Inventor uses segment loading when accessing files which means that only the required parts of the file are loaded in memory and the rest remains on the hard drive. Consequently, when additional segments from the file are required it is beneficial if those can be read as fast as possible.
The following suggestions will help in improving the performance:
Some benefit can be gained from using multiple processors in Inventor, however a faster, single processor can be more desirable. By design Inventor is not a multi threaded application. This means that the processing load cannot ordinarily be balanced over multiple processors. However, some very specific functionality in Inventor does support multi-core technology. See this knowledge base article for more information.
The wisest choice would be to procure the fastest single CPU that your budget would allow. If your budget allows, buy the two fastest dual CPU’s.
Use the System Information dialog box to determine any hardware conflicts. Use winmsd for Windows XP or msinfo32 for Windows Vista/7. In the System Information dialog box, go to Hardware Resources > Conflicts/Sharing.
Make a note of any devices that are conflicting and update the drivers. (Especially anything that is conflicting with the graphic card or network card.) Windows dynamically assigns IRQ’s, so updating drivers will not resolve these conflicts. However, it will possibly help to manage conflicts better.
Update Drivers for Other Devices
Run Device Manager, determine the manufacturers for the following devices, visit their website and download and install the latest drivers\firmware. Any of which can cause problems:
Physical Memory Fragmentation
Working with any memory intensive application, the memory in your machine will fragment in a similar way to a hard disk. RAM fragmentation causes the OS to take longer and longer to fulfill I\O requests, slowing the whole system. The most common resolution to this problem is to restart the machine as it starts to negatively impact performance. One alternative would be the use of a RAM defragmentation utility that runs in Windows and automatically frees up RAM when fragmentation reaches alarm levels.
Always create the pagefile on a freshly formatted empty partition, ensuring fragmentation is minimized.
Set both the minimum and maximum value for the pagefile size to the same value. This ensures the whole amount of disk space is allocated in one go, minimizing fragmentation of the disk. It also guarantees memory allocation is not slowed down by resizing virtual memory.
Set the pagefile size equal to 1X to 1.5X actual RAM.
Keep in mind that if the amount of virtual memory compared to the amount of physical memory gets disproportionate (5:1), performance will suffer as the machine will perpetually reading and writing to disk.
Don't place multiple pagefiles on different partitions on the same physical disk drive. Preferably on a different partition or physical disk than the system (OS) files (for example, 1 pagefile on d:\)
Avoid having a pagefile on the same drive as the system files, i.e. the OS.
Avoid putting a pagefile on a fault-tolerant drive, such as a mirrored volume or a RAID-5 volume. Pagefiles don't need fault-tolerance, and some fault-tolerant systems suffer from slow data writes because they write data to multiple locations.
Defragment the Harddrive
Keeping your drive defragged will result in an improvement in the open time of Inventor documents, especially large assemblies. When you copy or save large files to a fragmented drive, the files are fragmented and the open time degrades. The slower your disk, the more fragmentation will affect performance. This is especially important when migrating a dataset to a new version of Inventor or downloading dataset to your machine for editing from the Vault or a network location.
You can defragment using the tool installed with Windows or you can use a commercial tool. The “free” tool is located under Start > Programs > Accessories > System Tools > Disk Defragmenter.
You also can improve the Inventor startup time by defragmenting the Inventor program modules installed on your hard disk. To defragment just your Inventor program files, use the following procedure:
If you still are seeing very slow startup times even after defragmenting your drive, there may be a problem with your disk or input device configuration. For drive issues, you may need to work with your local IT department to benchmark your drive to determine if there is a configuration or driver problem. If you use a specialized input device made for CAD products, you might want to uninstall it and use a normal mouse to see if this is causing a problem. Installing a newer driver for your input device may solve the problem.
Disk Cleanup is a tool for removing unwanted and unnecessary files. This is particularly useful to clear the Recycle bin, Temp files, old compressed files etc in a one stop tool. Defragment the hard drive after running Disk Cleanup for maximum benefit. Access Disk Cleanup from Start>Programs>Accessories>System Tools>Disk Cleanup.
Regularly empty the temp folder and Recycle Bin. Go to Start>Control Panel>System>Advanced Tab>Environment Variables to find where the TEMP file is located.
Ensure that the OS, Inventor Application files, or, Inventor work files are NOT located on a compressed or encrypted drive.
OEM Versions of Windows
If Windows came pre-installed on your machine it is possible that is has been “tweaked” by the manufacturer. It may not have been set up to use DMA access for all IDE drives and the alternative PIO mode is very CPU intensive. The first device on the primary channel is the main hard disk and is nearly always correctly configured but slave drives and devices on the secondary channel should be checked.
In Device Manager, click ”IDE ATA\ATAPI controllers”. Right Click “Primary IDE Channel” then click the “Advanced Settings” tab and change the Transfer Mode to “DMA if available”.
Windows Themes and Performance
Windows themes and visual effects use system resources with little productivity benefit. These should be kept to a minimum.
Set the Visual Effects to “Adjust for best performance”
Windows XP: Control Panel > System > Advanced > Performance settings
Windows Vista: Control Panel > System and Maintenance > System > Advanced system settings. On the Advanced tab, click the Settings button in the Performance area.
Windows 7: Control Panel > System and Security > System > Advanced system settings. On the Advanced tab, click the Settings button in the Performance area.
Use the Classic Theme to minimize OS graphics requirements
Windows XP: Control Panel > Display > Themes
Windows Vista: Control Panel > Appearance and Personalization > Personalization > Theme
Windows 7: Control Panel > Appearance and Personalization > Personalization
Turn off Sidebar/Desktop Gadgets in Windows Vista and Windows 7
Windows Vista: Control Panel > Appearance and Personalization > Windows Sidebar Properties
Windows 7: Control Panel > Appearance and Personalization > Desktop Gadgets
Minimize how much your AV software interferes with Inventor by reducing the security. Some antivirus software has the ability to disable “Real-time file protection”. Furthermore, it is advisable to configure it to only scan executables and not every file that is opened.
Clean Up your Registry
Clean up your registry. Regedit is a bare-bones registry editing tool that comes pre-installed with Windows. There are numerous tools available that will perform this task better.
To free memory, turn off services that are not in use. Stopping unused services saves memory and improves system performance. However, make sure you understand the consequences of stopping a service before you do so.
System resources are used inefficiently by services running on your machine that you rarely or never used. Manage services in the Windows Services dialog box. Left click a service to display a description. Double click on a service to display the Properties dialog box. Go to the Dependencies tab to see dependent and required services. If a service is not needed, change the startup type to “Manual”. Keep a note of any changes you make in case you need to revert to the previous settings.
Minimize the number of applications running in the background and in the Windows task bar.
The use of a document management system such as Autodesk Vault will copy the data to your local hard disk. Accessing data from your local hard drive will give you the fastest possible access during open, save, close and updates.
Segregate engineering to its own LAN segment. This will:
Lock all Engineering ports on switches to 1 Gb full duplex and disallow auto-switching.
This ensures that there is no interruption in the data flow across the LAN segment while large amounts of Inventor data are being used. When using Inventor in a shared environment, this setting is vital to achieving a predictable and stable network.
Lock all network cards to 1 Gb full duplex and do not allow auto-detecting.
This ensures there is no interruption in the data flow across the LAN segment while large amounts of Inventor data are being used. When using Inventor in a shared environment, this setting is vital to achieving a predictable and stable network.
Upgrade the Inventor file data server to handle anticipated peak load of engineering.
Ensure that there are no more than two hops between the workstation and the Inventor file server.
A simple method to check this is to use the DOS command “tracert” from the client machine to the server. The trecert command lists number of hops.
Ensure the Inventor file server is on the same segmented LAN segment as the Inventor users.
Optimize Network Performance
If you work in a shared environment and the bottleneck is not Inventor or the OS but the network, network traffic speed can be improved by setting the I\O page lock limit to improve performance of the system. Depending on your system configuration a page lock limit between 8 & 16MB is a good choice.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Add a new DWORD entry named “IOPageLockLimit”. Enter limit size in Byte ie 12MB = 12582912 Bytes (=12 x 1024 x 1024)
Monitor Network Usage
Measure the network usage on both the Workstation clients and the Inventor file servers. Overall network usage should not exceed 40% on the server. If server network usage exceeds 40%, performance suffers and the likelihood of data loss increases. Either upgrade the network or restrict the number of users accessing the server.
If all users are utilizing the server at the same time, upgrading CPU’s and memory for the server and possibly multiple network cards and LAN segments may be advisable.
Inventor uses segmented loading of files. This can have implications when working on files over the network. For example, you open an assembly file, and Inventor begins loading the b-reps (boundary representations) of each file, and you start editing some part files. The network then fails and you try to save, but can’t because the complete file hasn’t been transferred locally. It is then necessary to revert to an older version of the file. Therefore, it is recommended to work on local drives.
Project files organize Inventor data. Project files determine the location of the working data, templates, styles, and libraries.
Workspace should never be on a network location. It is intended to be local on the users’ machine. All work should be performed on files held locally and when finished. Failing to do this can have performance implications when saving all data across the network. Make the workspace local to each user’s machine.
Never define Workgroup or Library locations that point to subfolders of the Workspace or another Workgroup or Library.
Workspace - C:\Damper
Workgroup – C:\Damper\Section1
If the Workgroup or Library location is a subfolder of another defined location, Inventor will highlight the offending path in red. This will not prevent you from saving the project file. It is a warning that this does not produce the most efficient file structure.
The fewer Workgroup Search Paths defined the better. This makes searching for files much easier. Make your assembly structure flat. For example if you have an assembly file in a folder, place all idws of that iam in the same folder, in a subfolder place all the components in the iam. Inventor will use the “Subfolder Path” to locate the components it needs. If Inventor cannot find components immediately, it will continue searching which has a negative effect on performance.
For more information: Learn about projects
|Tab||Option||Large Assembly Setting|
|General||Show command prompting||Off|
|Enable Optimized Selection||On|
|Undo File Size||1000 MB|
|View transition time||0|
|Minimum frame rate||10|
|Show Origin 3D Indicator||Off|
|Show Origin XYZ axis labels||Off|
|Drawing||Retrieve model dimensions||Off|
|Display line weights||Off|
|Show preview as||Bounding Box|
|Section View Placement as Uncut||On|
|Enable background updates||On|
|Sketch||Autoproject edges for sketch creation and edit||Off|
|Enable Constraint Redundancy Analysis||Off|
Resolve all constraint errors
Ensure that all errors related to constraints are resolved. Do this by opening ALL subassemblies first, resolving the problem in the subassemblies and then open the main assembly and address any errors. In a large assembly, attempting to resolve constraint errors in lower level subassemblies can be very time-consuming.
Turn off the visibility of unnecessary work planes, axes, and points. The visibility of too many work features in an assembly can affect the performance. To quickly turn off all work geometry use View > Object Visibility.
Users should standardize on an amount of detail required to finish the design. Users may have very small components that have exceptionally high amounts of detail in the top level assembly. Standardizing on a simpler amount of detail will increase performance and capacity. Parts which require higher levels of detail can be created when needed. Our suggestion is that this only be done when the part meets some predetermined requirements. This helps engineers model only what is required to complete the design.
Coils or spring shaped parts can be resource intensive. Either replace these with simpler shapes or turn the visibility off. This is particularly applicable in drawings.
Similarly, it may not be necessary to display in full detail purchased parts. That is, simplify standard components externally sourced and inserted into an assembly, e.g. motors, actuators. Typically, the internal workings or details of purchased components are not necessary to complete your design.
Warnings- Inventor displays warnings when there is a problem.
Users should make all reasonable effort to remove warnings from an assembly before integrating it into production designs by using the Design and Sketch Doctors. Missing references & constraint failures are key warnings and will affect Inventor performance. While users can work with missing parts and failed constraints, it is not good practice to do so for extended periods of time. Inventor will find that something is sick, perform an audit and update it every time you switch back to that file. If all errors are removed, assemblies will behave more predictably and performance should increase.
Turn Off All Adaptivity
Leaving adaptivity switched on can reduce the responsiveness of Inventor. The adaptive components are frequently checked for re-computation. Therefore adaptivity should be turned off after a design is complete and turned back on when design changes are necessary.
For standard parts that do not change, consider placing them in a project library directory. Inventor searches these parts in a different way than normal parts. Don’t change the name of the library directory once created. If the name is changed, each part in the library would need to be resolved.
For more Assembly tips see: Increase performance and capacity
Fully constrain components or ground components that are not designed to move in your assembly. Assembly constraints require Inventor to perform a calculation. When there are a large number of components in an assembly and each component has multiple assembly constraints, these calculation times can become significant.
Avoid redundant constraints. Use the Application Option "Enable constraint redundancy analysis" to find redundant constraints then turn the option off.
Use a common constraint reference if possible.
Use Common Origin skeletal modeling for static assemblies. The productivity tools Place at Component Origin and Ground and Root are useful for Common Origin skeletal modeling.
Use the Design Doctor to find any constraint errors and fix the errors.
Turn off Adaptivity when not using it to design. Use Adaptivity for parts and Flexible for exercising degree of freedom of subassemblies.
For more information: Constraints
Level of Detail representations
Level of Detail representations allow you to manage which components are loaded into memory and therefore manage the Inventor’s memory consumption. Level of Detail representations suppress components (parts or subassemblies) in an Inventor assembly. The suppressed components are not loaded into memory.
Use LOD representations when opening assembly files so that only the necessary components are loaded into memory.
For more information: Level of Detail representations
Substitute Level of Detail representations
Assembly substitutes are a type of Level of Detail (LOD) representation. A substitute uses a single part file to represent an entire assembly.
There are three methods for creating substitute LODs:
For more information: Assembly Substitute Parts
Drawings of large assemblies
Use View representations and LOD representations to control the amount of detail in drawing views. Even if some of the bodies are occluded in the final drawing view, the data is still loaded into memory to compute them unless representations are used.
Enable the background updates option in the Drawing tab of the Application Options. This option displays a representation of the view before it is completely calculated. You can continue working in the drawing while the view is calculated and even dimension the view.
Avoid or reduce the use of property overrides at the edge level. Use feature, body or component level overrides instead whenever possible.
Turn on Defer Update mode to reduce unnecessary updates to the drawing. This setting is on the Drawing tab of the Document Settings dialog box. View creation commands and some annotation commands are not available when Defer Update is active.
Set Use Bitmap to Always in the Drawing tab of the Document Settings dialog box and use the lowest resolution that provides the desired result. With this setting active, Inventor uses a cached bitmap image for shaded views instead of rendering the actual shading.
For more information: Develop drawings for large assemblies
The Engineers Notebook is a useful tool for communicating design intent. Be aware that creating a note containing an image embeds a bitmap into the ipt or iam file and increases the file size. The larger the file size, the more hardware resources are used. Therefore you should restrict the use of notes with images to minimize file size.
The Engineers Notebook is also in its own segment in memory which only loads if notes are present. Not having notes means that that segment doesn’t get loaded and reduces the amount of resources required.
For more information: Engineers Notebook
If you need to share parameters between parts, do not link them by an Excel Spreadsheet. When a change is made to the Excel file, Inventor cannot determine which files are affected, so all parts must be updated. This can slow down the performance of large assemblies. Instead, use the derive command to link the parameters into the parts. In this manner, Inventor can determine which parts are affected by a change and only update those files.
For more information: Parameters in models
Support issues are listed on the Autodesk Services and Support site. Click THIS LINK to perform a search of the knowledge base for issues related to large assemblies.