Tuesday, May 17, 2016

A Quirk With iParts

Recently, I received an email from someone that saw one of my videos on YouTube.  They had watched the video that talked about how to read the iPart Table to get values for other components.  They had successfully copied the code and applied to their model.  However, they were getting an error stating that Inventor could not read the iPart table. 

The error message really through me because he clearly had an iPart and he had the correct syntax.  I had asked this user to send me his model so that I could see it first hand, and maybe the source of the problem would hit me.  While I waited, I happened to stumble upon this persons Inventor Discussion Group post regarding separate question on this model.  In reading his Discussion Group thread, I realized that the component that is giving him grief was not originally an iPart.  He had modeled component the component as a standard part then placed in the assembly.  After that had been done, he had converted the part to an iPart. 

Having that information, I realized the source of the problem.  Inventor has a quirk with iParts.  If you place a standard component in an assembly, then make that component into an iPart, Inventor does not realize that it is an iPart.  It will look like an iPart, but some of the iPart behaviors will not work.  My theory is that when an iPart is placed, certain flags are trigged that enable the iPart behaviors.  Since the change to the part happens after it is placed, the flags do not get triggered.
The solution to this quirk is relatively easy.  The component just has to be replaced with itself, using Component Replace.  When browsing for the component to be the replacement, just pick the same part file.  Now the flags will be triggered.  The only problem I have ever had with this is that the constraints always are broken.   Once they are repaired, the component will behave like an iPart. 
Having shared the source and the fix of the issue with the user I was working with, he applied the fix and his iLogic rule began working as designed.

Here is a Screencast I recorded to illustrate the issue and proper fix.


This is an issue that has been around as long as I have been using Inventor.  I run into about two or three times a year, and I don’t know if many people know or understand the issue.  So I wanted to share this with all of you.


Thanks for reading.       

No comments:

Post a Comment