cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Did you get an answer that solved your problem? Please mark it as an Accepted Solution so others with the same problem can find the answer easily. X

How to call out in a relation a user defined material property when changing the assigned material.

Paul6
12-Amethyst

How to call out in a relation a user defined material property when changing the assigned material.

Hi All,

I am building a compression spring generic model, which I would like to have multiple materials available for selection. For example. Music wire ( ASTM A227), Stainless 302 ( ASTM A313) etc.

In each of the materials available I have a user defined parameter "shear modulus" in each of the materials.

In the spring model I have a relation which calculates the spring rate from the shear modulus of the material.

 

Example :  RATE= SHEAR_MODULUS:MTRL_570*(WIRE_DIA^4) / (8*AC*(OUT_DIA-WIRE_DIA)^3)

 

MTRL_570 is the current assigned material ( music wire), If I switch the assigned material to Stainless 302, how do I get the relation to update to the new material ID ( MTRL_407).

If I leave the material ID out of the relation I cannot get the Shear modulus value.

 

Any suggestions on how to have the spring rate calculated from the assigned material would be greatly appreciated.

 

Thanks.

ACCEPTED SOLUTION

Accepted Solutions
Paul6
12-Amethyst
(To:tbraxton)

Hi 

Thanks for your reply.

I have not used conditional relations before and would need to do some background research.

 

However I believe I have found the solution for the way I have built the model.

 

I have replaced  "SHEAR_MODULUS:MTRL_570" with "material_param ("SHEAR_MODULUS") " to give

RATE= material_param ("SHEAR_MODULUS")*(WIRE_DIA^4) / (8*AC*(OUT_DIA-WIRE_DIA)^3)

and this relation gives me the correct spring rates when switching materials.

 

View solution in original post

4 REPLIES 4
tbraxton
22-Sapphire I
(To:Paul6)

Use conditional relations to determine which material is active. Then set the modulus value based on the material test conditions. Pass the current modulus value to the calculations.

I would also suggest looking into using a notebook file (.lay file type) to define these relations rather than in the part, it may make the reuse of the calculations more efficient if you have need to do that.

 

Conditional statements in relations support info.

http://support.ptc.com/help/creo/creo_pma/usascii/index.html#page/fundamentals/fundamentals/fund_seven_sub/Conditional_Statements_in_Relations.html 

========================================
Involute Development, LLC
Consulting Engineers
Specialists in Creo Parametric
Paul6
12-Amethyst
(To:tbraxton)

Hi 

Thanks for your reply.

I have not used conditional relations before and would need to do some background research.

 

However I believe I have found the solution for the way I have built the model.

 

I have replaced  "SHEAR_MODULUS:MTRL_570" with "material_param ("SHEAR_MODULUS") " to give

RATE= material_param ("SHEAR_MODULUS")*(WIRE_DIA^4) / (8*AC*(OUT_DIA-WIRE_DIA)^3)

and this relation gives me the correct spring rates when switching materials.

 

tbraxton
22-Sapphire I
(To:Paul6)

As long as the material definitions update the parameter for shear modulus then I would agree that is a better way than using conditional relations.

========================================
Involute Development, LLC
Consulting Engineers
Specialists in Creo Parametric
Paul6
12-Amethyst
(To:tbraxton)

Seems to work smoothly, as long as you regen, after switching the material.

😁

Announcements
NEW Creo+ Topics: Real-time Collaboration


Top Tags