Model States, Parameters & iProperties

Model States, Parameters & iProperties

NachoShaw
Advisor Advisor
2,005 Views
13 Replies
Message 1 of 14

Model States, Parameters & iProperties

NachoShaw
Advisor
Advisor

Hey

 

i feel like ive been here before but im going to ask, to see if anyone has a good resolution to this either natively or programatically.

 

Seeing as the preferred modelling route is from a base model, i have a base model. I also have a separate part that derives the base model parameters. In the separate part, i have some model states, each with a parameter named LENGTH.

 

Parameters

BASE MODEL: Param1 = 150, Param2 = 200, Param3 = 300

PART1: Linked Params = Param1, Param2, Param3

Part1: ModelState 1 - LENGTH = Param1

Part1: ModelState 2 - LENGTH = Param2

Part1: ModelState 3 - LENGTH = Param3

 

the Parameter LENGTH is set as exported so that i shown as an iProperty

when i review the iProperty per model state, i get the correct value based on the assigned value to LENGTH. For example@ ModelState2, LENGTH = 200.

When i place Part1 into an assembly 3 times, i change each instance to its respective ModelState. Then i can review each state and see the correct value assigned to Length.

 

When i review the assembly BOM however, it shows the name of the assigned parameter instead and NOT the value as seen in the iProperty LENGTH.

 

1. Why can we see the value in the iProperty but not in the BOM that reads the same iProperty?

2. How can i get the value to show instead of the Parameter name

 

Thanks

 

Nacho
Automation & Design Engineer

Inventor automation Programmer (C#, VB.Net / iLogic)
Furniture, Sheet Metal, Structural, Metal fab, Tradeshow, Fabrication, CNC

EESignature


Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.


0 Likes
Accepted solutions (1)
2,006 Views
13 Replies
Replies (13)
Message 2 of 14

BDCollett
Advisor
Advisor

It might depend how you are doing this, can you share an example?

I did a test based on what you said and the iProperty is coming across with a value in the BOM for each model state.

0 Likes
Message 3 of 14

NachoShaw
Advisor
Advisor

Hey

 

see example attached. Screenshot below explains the following

 

  • parameters in BM model
  • parameter assigned per model state
  • how the parameters are displayed in the assembly BOM with the component aded and each instance set to a different model state

i have set the parameter LENGTH in each ModelState as the respective parameter name to catch the value

 

props.jpg

 

Nacho
Automation & Design Engineer

Inventor automation Programmer (C#, VB.Net / iLogic)
Furniture, Sheet Metal, Structural, Metal fab, Tradeshow, Fabrication, CNC

EESignature


Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.


0 Likes
Message 4 of 14

NachoShaw
Advisor
Advisor

Hey

 

It seems to work if i add ilogic like this

 

iProperties.Value("Custom", "LENGTH") = INT_LENGTH

where INT_LENGTH is a Parameter that is not exported.

 

It works but i feel that autodesk should resolve this seeing as Basel Model is standard development method, deriving parts from that base model is stadnard and model states are variations of a part most likely from a base model.

Nacho
Automation & Design Engineer

Inventor automation Programmer (C#, VB.Net / iLogic)
Furniture, Sheet Metal, Structural, Metal fab, Tradeshow, Fabrication, CNC

EESignature


Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.


0 Likes
Message 5 of 14

johnsonshiue
Community Manager
Community Manager

Hi Folks,

 

I see the issue. This is a very interesting catch! The problem here is about how to present an exported parameter and the custom iProperty (expression vs value). The derived parameters are irrelevant here. I personally think this is a bug. It should work regardless. The BOM should show the proper value.

Let me work with the project team and see what we can do.

Many thanks!



Johnson Shiue ([email protected])
Software Test Engineer
Message 6 of 14

johnsonshiue
Community Manager
Community Manager

Hi Natchito,

 

Just a update on this issue. It has been reported as INVGEN-59847. We are investigating the issue and hopefully it will be fixed soon.

Many thanks!



Johnson Shiue ([email protected])
Software Test Engineer
Message 7 of 14

NachoShaw
Advisor
Advisor

much appreciated Johnson,

 

Thanks 🙂

Nacho
Automation & Design Engineer

Inventor automation Programmer (C#, VB.Net / iLogic)
Furniture, Sheet Metal, Structural, Metal fab, Tradeshow, Fabrication, CNC

EESignature


Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.


Message 8 of 14

BDCollett
Advisor
Advisor

I just came across this issue myself, it's still there with recent patches.

A workaround seems to be that you just create a new custom iProp and have that reference the one you want. It will then bring through the parameters and not the equation.

Be nice to fix to get a fix though.

0 Likes
Message 9 of 14

NachoShaw
Advisor
Advisor

Hi

 

Are you saying that by creating another iProperty and getting the value from the iProperty showing the parameter name will show the correct value like

 

Base Model Param = Length = Param1 = 100in

Part linked Param = Length = Param1 = Param1

New iProperty = Length2 = Param1 = 100in

 

An established fix would be good

 

 

Thanks

Nacho
Automation & Design Engineer

Inventor automation Programmer (C#, VB.Net / iLogic)
Furniture, Sheet Metal, Structural, Metal fab, Tradeshow, Fabrication, CNC

EESignature


Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.


Message 10 of 14

johnsonshiue
Community Manager
Community Manager
Accepted solution

Hi Folks,

 

I just checked the latest status for INVGEN-59847. It has been resolved. It will be available on the coming 2022.3 update (April).

Many thanks!



Johnson Shiue ([email protected])
Software Test Engineer
0 Likes
Message 11 of 14

NachoShaw
Advisor
Advisor

Excellent news!

 

thanks 😃

Nacho
Automation & Design Engineer

Inventor automation Programmer (C#, VB.Net / iLogic)
Furniture, Sheet Metal, Structural, Metal fab, Tradeshow, Fabrication, CNC

EESignature


Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.


0 Likes
Message 12 of 14

BDCollett
Advisor
Advisor

@NachoShaw wrote:

Hi

 

Are you saying that by creating another iProperty and getting the value from the iProperty showing the parameter name will show the correct value like

 

Base Model Param = Length = Param1 = 100in

Part linked Param = Length = Param1 = Param1

New iProperty = Length2 = Param1 = 100in

 

An established fix would be good

 

 

Thanks


Yes exactly! That seems to work from my tests.

 

You also need to push user parameters to custom iProps with iLogic if you want them to work as well.

Message 13 of 14

NachoShaw
Advisor
Advisor

Hey

 


@BDCollett wrote:

 

You also need to push user parameters to custom iProps with iLogic if you want them to work as well.

Which is pretty much what i show in my original post 😀

iProperties.Value("Custom", "LENGTH") = INT_LENGTH

 

 

Nacho
Automation & Design Engineer

Inventor automation Programmer (C#, VB.Net / iLogic)
Furniture, Sheet Metal, Structural, Metal fab, Tradeshow, Fabrication, CNC

EESignature


Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.


Message 14 of 14

BDCollett
Advisor
Advisor

@NachoShaw wrote:

Hey

 


@BDCollett wrote:

 

You also need to push user parameters to custom iProps with iLogic if you want them to work as well.

Which is pretty much what i show in my original post 😀

iProperties.Value("Custom", "LENGTH") = INT_LENGTH

 

 


Yes going around in circles a bit there 🙂

0 Likes