Community Tip - New to the community? Learn how to post a question and get help from PTC and industry experts! X
How is it possible to remove from an assembly the weight of a part without changing part parameters and without changing part density? I mean just to remove the part mass from an assembly total mass
Solved! Go to Solution.
Hello
Yes, you can do it using flexibility:
Make the component Flexible if it is not already
Add these parameters to Varied Items and give these values:
PRO_MP_SOURCE: PARAMETERS
PRO_MP_ALT_AREA: 0
PRO_MP_ALT_MASS: 0
PRO_MP_ALT_VOLUME: 0
The weight, area and volume of the components will not be included when calculating the mass properties of the assembly
You can select the component and run mapkey com0 to do this:
mapkey com0 ~ Activate `main_dlg_cur` `page_Model_control_btn` 1;\
~ Command `ProCmdEditMakeFlexible` ;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `Parameters`;\
~ Open `params_dlg` `ParamsPHLay.OMPrmType`;\
~ Close `params_dlg` `ParamsPHLay.OMPrmType`;\
~ Select `params_dlg` `ParamsPHLay.OMPrmType` 1 `alternative_mp`;\
~ Select `params_dlg` `ParamsPHLay.ParTable` 56 `rowPRO_MP_SOURCE` `name` \
`rowPRO_MP_SOURCE` `value` `rowPRO_MP_SOURCE` `attribute` `rowPRO_MP_SOURCE` \
`access` `rowPRO_MP_SOURCE` `source` `rowPRO_MP_SOURCE` `description` \
`rowPRO_MP_SOURCE` `restricted` `rowPRO_MP_SOURCE` `unit_quantity` \
`rowPRO_MP_SOURCE` `unit` `rowPRO_MP_ALT_MASS` `name` `rowPRO_MP_ALT_MASS` \
`value` `rowPRO_MP_ALT_MASS` `attribute` `rowPRO_MP_ALT_MASS` `access` \
`rowPRO_MP_ALT_MASS` `source` `rowPRO_MP_ALT_MASS` `description` \
`rowPRO_MP_ALT_MASS` `restricted` `rowPRO_MP_ALT_MASS` `unit_quantity` \
`rowPRO_MP_ALT_MASS` `unit` `rowPRO_MP_ALT_VOLUME` `name` \
`rowPRO_MP_ALT_VOLUME` `value` `rowPRO_MP_ALT_VOLUME` `attribute` \
`rowPRO_MP_ALT_VOLUME` `access` `rowPRO_MP_ALT_VOLUME` `source` \
`rowPRO_MP_ALT_VOLUME` `description` `rowPRO_MP_ALT_VOLUME` `restricted` \
`rowPRO_MP_ALT_VOLUME` `unit_quantity` `rowPRO_MP_ALT_VOLUME` `unit` \
`rowPRO_MP_ALT_AREA` `name`;~ Activate `params_dlg` `PBInsert`;\
~ Arm `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 PRO_MP_SOURCE*TYPE*5*` \
`NewValue`;\
~ Select `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 PRO_MP_SOURCE*TYPE*5*` \
`NewValue`;~ Update `flexdiffstabdlg` `ParamTable_INPUT` `PARAMETERS`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `GeomTolerances`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `Parameters`;\
~ Arm `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 \
PRO_MP_ALT_VOLUME*TYPE*5*` `NewValue`;\
~ Select `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 PRO_MP_ALT_VOLUME*TYPE*5*` \
`NewValue`;~ Update `flexdiffstabdlg` `ParamTable_INPUT` `0`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `GeomTolerances`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `Parameters`;\
~ Arm `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 \
PRO_MP_ALT_AREA*TYPE*5*` `NewValue`;\
~ Select `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 PRO_MP_ALT_AREA*TYPE*5*` \
`NewValue`;~ Update `flexdiffstabdlg` `ParamTable_INPUT` `0`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `GeomTolerances`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `Parameters`;\
~ Arm `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 \
PRO_MP_ALT_MASS*TYPE*5*` `NewValue`;\
~ Select `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 PRO_MP_ALT_MASS*TYPE*5*` \
`NewValue`;~ Update `flexdiffstabdlg` `ParamTable_INPUT` `0`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `GeomTolerances`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `Parameters`;\
~ Activate `flexdiffstabdlg` `OkButton`;\
~ Activate `main_dlg_cur` `dashInst0.stdbtn_1`;
Hi,
in https://community.ptc.com/t5/3D-Part-Assembly-Design/Volume-calculation-with-interfering-parts/m-p/879902 discussion you can download my example and see how mass properties feature can be used.
Hello
Yes, you can do it using flexibility:
Make the component Flexible if it is not already
Add these parameters to Varied Items and give these values:
PRO_MP_SOURCE: PARAMETERS
PRO_MP_ALT_AREA: 0
PRO_MP_ALT_MASS: 0
PRO_MP_ALT_VOLUME: 0
The weight, area and volume of the components will not be included when calculating the mass properties of the assembly
You can select the component and run mapkey com0 to do this:
mapkey com0 ~ Activate `main_dlg_cur` `page_Model_control_btn` 1;\
~ Command `ProCmdEditMakeFlexible` ;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `Parameters`;\
~ Open `params_dlg` `ParamsPHLay.OMPrmType`;\
~ Close `params_dlg` `ParamsPHLay.OMPrmType`;\
~ Select `params_dlg` `ParamsPHLay.OMPrmType` 1 `alternative_mp`;\
~ Select `params_dlg` `ParamsPHLay.ParTable` 56 `rowPRO_MP_SOURCE` `name` \
`rowPRO_MP_SOURCE` `value` `rowPRO_MP_SOURCE` `attribute` `rowPRO_MP_SOURCE` \
`access` `rowPRO_MP_SOURCE` `source` `rowPRO_MP_SOURCE` `description` \
`rowPRO_MP_SOURCE` `restricted` `rowPRO_MP_SOURCE` `unit_quantity` \
`rowPRO_MP_SOURCE` `unit` `rowPRO_MP_ALT_MASS` `name` `rowPRO_MP_ALT_MASS` \
`value` `rowPRO_MP_ALT_MASS` `attribute` `rowPRO_MP_ALT_MASS` `access` \
`rowPRO_MP_ALT_MASS` `source` `rowPRO_MP_ALT_MASS` `description` \
`rowPRO_MP_ALT_MASS` `restricted` `rowPRO_MP_ALT_MASS` `unit_quantity` \
`rowPRO_MP_ALT_MASS` `unit` `rowPRO_MP_ALT_VOLUME` `name` \
`rowPRO_MP_ALT_VOLUME` `value` `rowPRO_MP_ALT_VOLUME` `attribute` \
`rowPRO_MP_ALT_VOLUME` `access` `rowPRO_MP_ALT_VOLUME` `source` \
`rowPRO_MP_ALT_VOLUME` `description` `rowPRO_MP_ALT_VOLUME` `restricted` \
`rowPRO_MP_ALT_VOLUME` `unit_quantity` `rowPRO_MP_ALT_VOLUME` `unit` \
`rowPRO_MP_ALT_AREA` `name`;~ Activate `params_dlg` `PBInsert`;\
~ Arm `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 PRO_MP_SOURCE*TYPE*5*` \
`NewValue`;\
~ Select `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 PRO_MP_SOURCE*TYPE*5*` \
`NewValue`;~ Update `flexdiffstabdlg` `ParamTable_INPUT` `PARAMETERS`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `GeomTolerances`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `Parameters`;\
~ Arm `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 \
PRO_MP_ALT_VOLUME*TYPE*5*` `NewValue`;\
~ Select `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 PRO_MP_ALT_VOLUME*TYPE*5*` \
`NewValue`;~ Update `flexdiffstabdlg` `ParamTable_INPUT` `0`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `GeomTolerances`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `Parameters`;\
~ Arm `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 \
PRO_MP_ALT_AREA*TYPE*5*` `NewValue`;\
~ Select `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 PRO_MP_ALT_AREA*TYPE*5*` \
`NewValue`;~ Update `flexdiffstabdlg` `ParamTable_INPUT` `0`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `GeomTolerances`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `Parameters`;\
~ Arm `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 \
PRO_MP_ALT_MASS*TYPE*5*` `NewValue`;\
~ Select `flexdiffstabdlg` `ParamTable` 2 `*ID*1 -2 PRO_MP_ALT_MASS*TYPE*5*` \
`NewValue`;~ Update `flexdiffstabdlg` `ParamTable_INPUT` `0`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `GeomTolerances`;\
~ Select `flexdiffstabdlg` `VarItemsTab` 1 `Parameters`;\
~ Activate `flexdiffstabdlg` `OkButton`;\
~ Activate `main_dlg_cur` `dashInst0.stdbtn_1`;