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

Can we automate creating a-quarter section models with mapkey?

祐内_10340413
4-Participant

Can we automate creating a-quarter section models with mapkey?

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,

スクリーンショット 2022-08-04 092225.png

The model have a shape like above.

 

スクリーンショット 2022-08-04 092257.png

We first draw a sketch to detaimine which region should be extluded.

スクリーンショット 2022-08-04 092430.png

Then we subtract the volume.

スクリーンショット 2022-08-04 092501.png

For another direction, we perform same procedures.

スクリーンショット 2022-08-04 092534.png

After that, we have a-quarter model.

1 ACCEPTED SOLUTION

Accepted Solutions

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 :

  • Generally speaking using datums offers robust operations vs using cut extrude for example, which can have side effects on model size and the extrude has to be large enough to cover all geometry. With Solid Cuts you don't need to worry about the envelope of the cut Creo is given the task to take out the whole plane and in the model date structure the footprint will also be minimal.
  • If all models include the planes then the mapkey will be minimal and will not need any tweaking

 

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).

View solution in original post

8 REPLIES 8

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


Martin Hanák

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:

pausob_0-1659627199579.png

If your models have the same starting structure (e.g., 3 datum planes + CSYS), you could just record this into a mapkey.

MartinHanak
23-Emerald V
(To:pausob)


@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:

pausob_0-1659627199579.png

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`;

 

 


Martin Hanák

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.

 

 

tbraxton_0-1659669744297.png

 

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 :

  • Generally speaking using datums offers robust operations vs using cut extrude for example, which can have side effects on model size and the extrude has to be large enough to cover all geometry. With Solid Cuts you don't need to worry about the envelope of the cut Creo is given the task to take out the whole plane and in the model date structure the footprint will also be minimal.
  • If all models include the planes then the mapkey will be minimal and will not need any tweaking

 

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).

Announcements