Inventor iLogic and Content Center – They play nice!

A customer recently asked me: “When I place a custom part from content center (in Autodesk Inventor) and specify a filename, why does the Part Number property show something other than the filename that I have given the part?” The answer is, that the content center library has predefined expressions that generate the Part Number and filename columns, and even though the filename is mapped to the Part Number column, it does this BEFORE you give it the filename that you want to save the custom part as. I can see why this was frustrating for them, as it meant that every time they created a new length of a structural section, they would have to type in the part number twice (once for filename, and again in the Part Number iProperty.) I started working on finding a solution.

So my first idea was simply to change the expression in the Part Number column and make it “=” in the hope that this would create an expression in the Part Number iProperty of the placed component that would then look at the current filename. This didn’t work as it seems that the File Name iProperty is not accessible through property expressions.

My next idea was a longshot. If I created an iLogic rule in a content center component that had been placed in an assembly as a custom part, could I get the iLogic rule back into content center if I replaced the family template? The answer was a surprising YES!

The process is as follows:

1. Create a custom content center library if you don’t already have one.

2. Copy a content center family into your custom library. My example was using the rectangular hollow section family from the Australian standard AS1163-1991.

3. Edit the expression for the “Part Number” column in the family table and give it a value such as”.” so that when the part is placed it doesn’t have a meaningful part number (we’ll replace this with the correct value later.”

Editing the “Part Number” column expression.
4. Create a new assembly and “Place from Content Center” a new component from the family that we have just edited and save it to a temporary location with any filename (we’ll delete this later.)
5. Edit this placed component and create a new iLogic rule (you may have to make the iLogic browser visible using the “User Interface” drop-down on the “View” tab of the ribbon. Name it “PartNumber” or similar.
6. Add the following text to the new rule:

7. In the “Event Triggers” on the “iLogic” panel of the “Manage” tab, add a trigger to run the rule “After Save” of the document.
8. Save and close the file, remembering it’s location.
9. Go back into the “Content Center Editor” and RMB on the family in question. You should see an option to “Replace Family Template.” Make sure you are viewing your library and not in “Merged View.”
10. Select the file that you previously saved.
11. Next time you place a member from this family in an assembly and then save it, you should see that the “Part Number” iProperty now contains the File Name. Job done!
Having said all this, I prefer to keep filenames and part numbers completely separate and manage all the data with Vault. This allows me to have descriptive names for parts, but still allows me to search for components by part number in Vault. Additionally, because Vault manages all the file references, I don’t have to worry about duplicate filenames. This comment will possibly start a flame war, but that’s how I prefer to work.

2 Responses to Inventor iLogic and Content Center – They play nice!

  1. You can put =< Empty > in the Content Centre Part Number column(but remove the space before and after the Empty – this blog treated anything in the <> strangely). This then creates blank (empty) Part Number iProperty. Note that this has implications on BOM row merges which exclude any blank Part Number cells from the row merge.

  2. I am trying to perform a similar function between iLogic and the content centre file.
    I have a part for which I want to specify a unique prefix before placing it. I also want the file name of that part to include this prefix. I basically want to be able to select the component size and then be prompted for the prefix before the part needs to be saved. I want the filename in the save window to automatically populate with the prefix as entered in the previous step.
    Is this possible.. if so, how?

Leave a reply