Table of Contents
Page 1
 

Pro/ENGINEER allows you to attach any number of materials to the part database, but you can only assign one material to the part at any given time. What if the requirement is to have different materials for the instances of a part with family table? This technique lets you access parameters from one of the many material files defined in the generic model to drive the instances.

1. Construct a simple model with one circular protrusion.

2. Select Modify, Dimcosmetics, Symbol to change the symbol text of the dimensions to DIA and THICKNESS.

3. Select Part, Setup, Parameters to create the following set of parameters:

Name Type Value
MATERIAL STRING STEEL
DENSITY REAL NUMBER 0.0
VOLUME REAL NUMBER 0.0
MASS REAL NUMBER 0.0
UNIT_MATL_COST REAL NUMBER 25
MATL_COST REAL NUMBER 0.0

Note: If you set the config option new_parameter_ui to “yes”, you can work with the parameter editor.

4. To define the materials for your model, choose Part, Setup, Material, Define. Enter the names of the material files and the values for the mass densities as shown in the table below.

(Since our objective is to capture the value of the density from the material file, I’ve only assigned values for the MASS_DENSITY parameters of the corresponding material files.)

Name of the Material MASS_DENSITY
STEEL .00000784
ALUMINUM .000002643
COPPER .0000089
BRASS .000008553
TITANIUM .0000045
RUBBER .000001506
HDPE .000000955

 

5. Assign the materials defined in step 4.

6. Create the family table by adding both the diameter and thickness dimensions, plus the parameters created in step 3.

7. Select Insert, Datum, Analysis to create an analysis feature to compute the volume of the model.

8. From the Analysis definition dialog, enter MASS_PROP in the “Name” field and press Enter.

9. Click on the Model Analysis button and press Next.

10. Press the Compute button from the “Model Analysis” dialog, and then press Close.

 

11. As a final step in the creation of the analysis feature, enter VOL in the “Param name” field and then click on the green check mark.

The analysis feature you’ve just created calculates the mass properties each time the model is regenerated.

12. Now the stage is set for the magic…Select Part, Relations, Edit Rel and enter the relations exactly as shown below.

/* IF VALUE FOR THE PARAMETER "MATERIAL" IS ENTERED WRONGLY, DEFAULTS TO STEEL

IF(MATERIAL == "STEEL" | MATERIAL == "COPPER" | MATERIAL == "ALLUMINIUM" | MATERIAL == "HDPE" |\
MATERIAL == "BRASS" | MATERIAL == "RUBBER" | MATERIAL == "TITANIUM")
MATERIAL=MATERIAL

ELSE
MATERIAL="STEEL"
ENDIF


/*Captures the density from the material file
DENSITY=material_param("MASS_DENSITY",MATERIAL)

/* Captures volume of the model from the analysis feature
VOLUME=CEIL(VOL:FID_MASS_PROP,2)

/* Calculates mass of the model
MASS=CEIL((DENSITY*VOLUME),2)

/* Assigns the correct unit material cost always per the material
if (material=="STEEL")
UNIT_MATL_COST=25
endif

if (material=="HDPE")
UNIT_MATL_COST=125
endif

if (material=="BRASS")
UNIT_MATL_COST=175
endif

if (material=="TITANIUM")
UNIT_MATL_COST=500
endif

if (material=="RUBBER")
UNIT_MATL_COST=125
endif

if (material=="COPPER")
UNIT_MATL_COST=150
endif

if (material=="ALLUMINIUM")
UNIT_MATL_COST=75
endif
/* Caluculates material cost of the model
MATL_COST=CEIL((UNIT_MATL_COST*MASS),2)

13. Open the family table and verify the instances.

14. Now try changing the material parameter from the family table. The corresponding density is picked up automatically from the material file. The values for mass, unit material cost, material cost, etc. update as well.

Some Final Tips

  • When you enter the value for the material parameter in the family table, be sure to fill in the exact name (without extension).
  • Each time you modify the family table, remember to verify the instances.

Dwaraka Nadha Reddy.M is a design engineer (consultant) at Motor Control Centers, GE-IBC in Hyderabad, India. He can be reached by email at dwarakanadha.reddy@ge.com.