Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X
Hi there,
We have some parts/assemblies which have the cylindrical-like shape shown in the pictures below. We then cut the model into a quarter-section model for a reason. For the model creation, we must try two extrude and subtraction functions. We would like to automate these procedures because we have a lot of parts/assemblies. Previously we tried to use a mapkey to record the procedures and resume them, however, the record did not contain which region should be extruded and subtracted thus it does not work so well. The parts/assemblies are the almost same size so it should be fine if we subtract the same volumes from two directions. Do you guys have any idea to automate it with mapkey or anything else?
Let me hear if you have any questions.
Thank you,
The model have a shape like above.
We first draw a sketch to detaimine which region should be extluded.
Then we subtract the volume.
For another direction, we perform same procedures.
After that, we have a-quarter model.
Solved! Go to Solution.
Jumping on the band wagon and offering solution propositions: why not create 2 Solidify features?
The perquisite: all models include 2 perpendicular planes. If all models have been created with the same template it should not be a problem.
The pros :
and now the mapkey:
mapkey quarter ~ Trail `UI Desktop` `UI Desktop` `UIT_TRANSLUCENT` \
mapkey(continued) `NEED_TO_CLOSE`;~ Command `ProCmdFtPatch` ;\
mapkey(continued) ~ Activate `main_dlg_cur` `dashInst0.Done`;\
mapkey(continued) ~ Select `main_dlg_cur` `PHTLeft.AssyTree` 1 `node5`;\
mapkey(continued) ~ Trail `UI Desktop` `UI Desktop` `UIT_TRANSLUCENT` `NEED_TO_CLOSE`;\
mapkey(continued) ~ Command `ProCmdFtPatch` ;~ Activate `main_dlg_cur` `dashInst0.Done`;
mapkey quarter ~ Select `main_dlg_cur` `PHTLeft.AssyTree` 1 `node3`;\
mapkey(continued) ~ Trail `UI Desktop` `UI Desktop` `UIT_TRANSLUCENT` `NEED_TO_CLOSE`;\
mapkey(continued) ~ Command `ProCmdFtPatch` ;~ Activate `main_dlg_cur` `dashInst0.Done`;\
mapkey(continued) ~ Select `main_dlg_cur` `PHTLeft.AssyTree` 1 `node5`;\
mapkey(continued) ~ Trail `UI Desktop` `UI Desktop` `UIT_TRANSLUCENT` `NEED_TO_CLOSE`;\
mapkey(continued) ~ Command `ProCmdFtPatch` ;\
mapkey(continued) ~ Activate `main_dlg_cur` `chkbn.patchreferences.0` 1;\
mapkey(continued) ~ Activate `main_dlg_cur` `chkbn.patchproperties.0` 1;\
mapkey(continued) ~ FocusOut `patchproperties.0.0` `PH.PatchFeatName`;\
mapkey(continued) ~ Activate `main_dlg_cur` `maindashInst0.Direction`;\
mapkey(continued) ~ Activate `main_dlg_cur` `dashInst0.Done`;
where node3 and node5 are the planes.
From guessing (again because the syntax of trail/mapkey is undisclosed) the digits after "node" look like the position of the datums in the model tree starting from the top.
And usual precautions for successful mapkeys: selection is made exclusively on the model tree and ribbon buttons (refrain from picking entities in the graphics window).
Have you tried using an offset cross section definition in a start part? If the section is defined in the start part then it will exist in any new models created using it. You can activate this section with a mapkey.
Thank you for taking time to think about it.
actually, we have to export the quarter-section model into file format such as IGES/STEP, we thus physically manupurate (I mean subtract) the model. We've tried to use cross-section, however, the function could show the quarter-section but could not edit the model.
If the solid geometry was created with a revolve feature then change the included angle from 360 deg to 90 deg. You can then export the solid geometry.
Is it possible for you to post a sample model (Creo 7 or earlier) that includes your standard start part features? That would help with determining how to”automate” the process.
I can think of some other options but would need a model to determine if they are suitable.
Hi,
maybe you can copy quarter cut from "dummy" model to real model, export STEP and remove it again. See uploaded video quarter.mp4
Since your models are similar and presumably symmetric about the standard datum planes, you might consider using two solidify operations to generate the quarter-chunk. Just select the cutting plane, then the solidify function, then pick the side to cut-away, or accept the "default" with a middle click.
Repeat, and you're done:
If your models have the same starting structure (e.g., 3 datum planes + CSYS), you could just record this into a mapkey.
@pausob wrote:
Since your models are similar and presumably symmetric about the standard datum planes, you might consider using two solidify operations to generate the quarter-chunk. Just select the cutting plane, then the solidify function, then pick the side to cut-away, or accept the "default" with a middle click.
Repeat, and you're done:
If your models have the same starting structure (e.g., 3 datum planes + CSYS), you could just record this into a mapkey.
I created Creo 4.0 mapkey selecting TOP and RIGHT datum planes and using Solidify feature.
mapkey cc ~ Command `ProCmdMdlTreeSearch` ;\
mapkey(continued) ~ Open `selspecdlg0` `SelOptionRadio`;~ Close `selspecdlg0` `SelOptionRadio`;\
mapkey(continued) ~ Select `selspecdlg0` `SelOptionRadio` 1 `Edge`;\
mapkey(continued) ~ Open `selspecdlg0` `SelOptionRadio`;~ Close `selspecdlg0` `SelOptionRadio`;\
mapkey(continued) ~ Select `selspecdlg0` `SelOptionRadio` 1 `Feature`;\
mapkey(continued) ~ Update `selspecdlg0` `ExtRulesLayout.ExtBasicNameLayout.BasicNameList` \
mapkey(continued) `TOP`;~ Activate `selspecdlg0` `EvaluateBtn`;\
mapkey(continued) ~ Activate `selspecdlg0` `ApplyBtn`;~ Activate `selspecdlg0` `CancelButton`;\
mapkey(continued) ~ Command `ProCmdFtPatch` ;\
mapkey(continued) ~ Activate `main_dlg_cur` `maindashInst0.Direction`;\
mapkey(continued) ~ Enter `main_dlg_cur` `dashInst0.Quit`;\
mapkey(continued) ~ Exit `main_dlg_cur` `dashInst0.Quit`;\
mapkey(continued) ~ Activate `main_dlg_cur` `dashInst0.Done`;\
mapkey(continued) ~ PopupOver `main_dlg_cur` `sstbar_popup` 1 `Sst_bar.n_sels_show_bin`;\
mapkey(continued) ~ Open `main_dlg_cur` `sstbar_popup`;~ Close `main_dlg_cur` `sstbar_popup`;\
mapkey(continued) ~ Activate `main_dlg_cur` `buffer_clean`;~ Command `ProCmdMdlTreeSearch` ;\
mapkey(continued) ~ Update `selspecdlg0` `ExtRulesLayout.ExtBasicNameLayout.BasicNameList` \
mapkey(continued) `RIGHT`;~ Activate `selspecdlg0` `EvaluateBtn`;\
mapkey(continued) ~ Activate `selspecdlg0` `ApplyBtn`;~ Activate `selspecdlg0` `CancelButton`;\
mapkey(continued) ~ Command `ProCmdFtPatch` ;~ Enter `main_dlg_cur` `dashInst0.Quit`;\
mapkey(continued) ~ Exit `main_dlg_cur` `dashInst0.Quit`;\
mapkey(continued) ~ Activate `main_dlg_cur` `maindashInst0.Direction`;\
mapkey(continued) ~ Activate `main_dlg_cur` `dashInst0.Done`;\
mapkey(continued) ~ PopupOver `main_dlg_cur` `sstbar_popup` 1 `Sst_bar.n_sels_show_bin`;\
mapkey(continued) ~ Open `main_dlg_cur` `sstbar_popup`;~ Close `main_dlg_cur` `sstbar_popup`;\
mapkey(continued) ~ Activate `main_dlg_cur` `buffer_clean`;
It is possible to automate this. From your description you will need to apply this to existing parts and also "clock" the cut to get the desired cut away model for STEP export. You would be best served by a method that will auto clock by an incremental angle i.e. for a 90 deg increment you could select quadrant I though IV to be retained as the solid for export. You can make the clocking angle increment variable in a UDF for flexibility. Pro/Program is also an option to automate this process in the context of a single part.
Jumping on the band wagon and offering solution propositions: why not create 2 Solidify features?
The perquisite: all models include 2 perpendicular planes. If all models have been created with the same template it should not be a problem.
The pros :
and now the mapkey:
mapkey quarter ~ Trail `UI Desktop` `UI Desktop` `UIT_TRANSLUCENT` \
mapkey(continued) `NEED_TO_CLOSE`;~ Command `ProCmdFtPatch` ;\
mapkey(continued) ~ Activate `main_dlg_cur` `dashInst0.Done`;\
mapkey(continued) ~ Select `main_dlg_cur` `PHTLeft.AssyTree` 1 `node5`;\
mapkey(continued) ~ Trail `UI Desktop` `UI Desktop` `UIT_TRANSLUCENT` `NEED_TO_CLOSE`;\
mapkey(continued) ~ Command `ProCmdFtPatch` ;~ Activate `main_dlg_cur` `dashInst0.Done`;
mapkey quarter ~ Select `main_dlg_cur` `PHTLeft.AssyTree` 1 `node3`;\
mapkey(continued) ~ Trail `UI Desktop` `UI Desktop` `UIT_TRANSLUCENT` `NEED_TO_CLOSE`;\
mapkey(continued) ~ Command `ProCmdFtPatch` ;~ Activate `main_dlg_cur` `dashInst0.Done`;\
mapkey(continued) ~ Select `main_dlg_cur` `PHTLeft.AssyTree` 1 `node5`;\
mapkey(continued) ~ Trail `UI Desktop` `UI Desktop` `UIT_TRANSLUCENT` `NEED_TO_CLOSE`;\
mapkey(continued) ~ Command `ProCmdFtPatch` ;\
mapkey(continued) ~ Activate `main_dlg_cur` `chkbn.patchreferences.0` 1;\
mapkey(continued) ~ Activate `main_dlg_cur` `chkbn.patchproperties.0` 1;\
mapkey(continued) ~ FocusOut `patchproperties.0.0` `PH.PatchFeatName`;\
mapkey(continued) ~ Activate `main_dlg_cur` `maindashInst0.Direction`;\
mapkey(continued) ~ Activate `main_dlg_cur` `dashInst0.Done`;
where node3 and node5 are the planes.
From guessing (again because the syntax of trail/mapkey is undisclosed) the digits after "node" look like the position of the datums in the model tree starting from the top.
And usual precautions for successful mapkeys: selection is made exclusively on the model tree and ribbon buttons (refrain from picking entities in the graphics window).