Inventor 2017 > 2020 changes to out of process API call processing

Inventor 2017 > 2020 changes to out of process API call processing

Anonymous
Not applicable
558 Views
3 Replies
Message 1 of 4

Inventor 2017 > 2020 changes to out of process API call processing

Anonymous
Not applicable

Hoping someone with some knowledge of how external API calls are processed can help and can shed some light on the issue below. 

 

We have quite a unique implementation of Inventor. We have windows servers that run up to 12 instances of Inventor each. Each instance has its own project file and separate inventor files. An application on each server listens for jobs to process. When a job comes along it opens a specified inventor assembly and executes an iLogic rule via a parameter trigger (the models contain very detailed rules written either in iLogic or contained in a .NET dll) 

Running the rule via parameter trigger ensures that the API processing is handled ‘in-process’ and has dramatic performance improvements compared to the RunRule API call which seemingly processes API calls out of process. 

 

We’ve just upgraded from 2017 to 2020 and are seeing some terrible processing speeds. 

I think I’ve narrowed it down the external API calls we execute from the job processing application, namely opening the file and secondly iterating the assembly to build an XML of the BOM after the internal rules have been processed. The BOM process is heavy on API calls - among other things we retrieve all iProperty values from each document - each document can have hundreds of iProperties. 

 

As a comparison generating the BOM in 2017 may take up to 15 minutes at worst. In 2020 worst case is well over 60 minutes. 

 

Nothing has changed in the hardware. 

 

We have a Windows 7 physical machine that is the most severely affected. This was previously the most efficient and most reliable server. Changes on there are the 2020 upgrade and the required Microsoft KB that Autodesk specifies. 

Other machines are a mixture of physical and virtual windows 10 machines. 

I will upgrade this server to windows 10 to see if it helps.

 

I can only assume that there have been changes in how external API requests are handled/prioritised within inventor. 

 

We are working with the developer of the job processing application to try and make the BOM processing logic process as in-process and crossing our fingers that gets us 80% back to normal. 

 

Any help and advice would be greatly appreciated. 

 

Thanks

Tom

0 Likes
559 Views
3 Replies
Replies (3)
Message 2 of 4

chandra.shekar.g
Autodesk Support
Autodesk Support

@Anonymous,

 

Please provide non confidential data and steps to reproduce the behavior.

 

Thanks and regards,


CHANDRA SHEKAR G
Developer Advocate
Autodesk Developer Network



0 Likes
Message 3 of 4

bradeneuropeArthur
Mentor
Mentor

Gi,

For my understanding:

An application on each server listens... What application is this. is this using the Jobserver form Vault?

 

Regards,

Regards,

Arthur Knoors

Autodesk Affiliations & Links:
blue LinkedIn LogoSquare Youtube Logo Isolated on White Background


Autodesk Software:Inventor Professional 2025 | Vault Professional 2024 | Autocad Mechanical 2024
Programming Skills:Vba | Vb.net (Add ins Vault / Inventor, Applications) | I-logic
Programming Examples:
Drawing List!|
Toggle Drawing Sheet!|
Workplane Resize!|
Drawing View Locker!|
Multi Sheet to Mono Sheet!|
Drawing Weld Symbols!|
Drawing View Label Align!|
Open From Balloon!|
Model State Lock!
Posts and Ideas:
My Ideas|
Dimension Component!|
Partlist Export!|
Derive I-properties!|
Vault Prompts Via API!|
Vault Handbook/Manual!|
Drawing Toggle Sheets!|
Vault Defer Update!

! For administrative reasons, please mark a "Solution as solved" when the issue is solved !


 


EESignature

0 Likes
Message 4 of 4

Anonymous
Not applicable

Apologies for the late reply.

We ended up reverting back to 2017 as we couldn't pin down the issue.

Since reverting the performace is back to normal

 

I am currently sourcing a dedicated server to investigate further but at this point it's looking like something Inventor side has changed. If this is the case it will be unlikely that we can action a change on the Inventor side, the best I can hope for is a workaround.

 

The calling application is custom built using Inventor API's.

 

I will report back when I have the dedicated hardware to investigate further.

 

p.s. I did find something that had changed with how iLogic rules are compiled. Previously they were compiled on the fly and you could see a *.vb file being created in %temp% with a random name. Inventor 2020 now permenantly saves the rules in a structured naming format in %temp%. When running multiple instances there can be file access contention between different processes trying to access the same file. This was fixed by creating an Environment Variable called iLogicRuleFolderForVS and setting the value to 0 - this looks to have returned the iLogic compilation back to normal.

0 Likes