We've been doing some testing lately, and discovered that iPart tables (and, presumably, iAssembly tables) with custom iProperty values in them do not correctly update and/or pass to assembly BOMs. This also occurs when using the "Export" checkbox for parameters that you want to use as a custom iProperty.
The specific circumstances that led to this discovery has to do with the custom iProperty being used to call out the length of an extruded part. We have tested with both exported parameters and a custom property column with the value of the dimension simply typed in as dumb text, both with similar results.
To replicate this issue:
- Create an iPart with a custom iProperty column, setting unique values to each row in the table. If you test the table out within the iPart, you can switch to each row within the iPart, and the iProperty appears to change correctly.
- Place an instance of the iPart into a normal, empty assembly. You can even place each of the iPart members into the assembly, if you wish. Shouldn't matter either way.
- Add the custom iProperty column to your BOM.
What you'll likely notice is that the column will not display the correct value. In our case, it displayed a value of "1", and refused to change to display the value entered into the iPart table. Placing different iPart members simply resulted in multiple rows of the BOM (due to unique part numbers), but the custom property column displayed "1" for each of those rows, instead of the property value we entered in the iPart table.
Again, the property seems to work fine in the iPart itself. But when you add that iPart to an assembly, this is where the issue comes out. It's as if it's reading the original value out of the iPart factory file, and not redirecting to the actual iProperty value buried down in the iPart member files.
If needed, I can generate a Screencast for this behavior. I have a feeling this is a limitation of the current coding of iParts and iProperties. But this doesn't behave as-expected, and we'd love to see this issue updated/resolved.