Hi, I have a shape that I have to mill, making an assembly of foam plates.
So I have a creo master part as first part (skeleton) in an assenbly.
It's the whole shape.
Then I have to design about 30 plate parts.
Than, I'm looking for a way to automate this parts creation that would allow the shape to be changed and update all parts ?
I can model plane surfaces in an assembly using repetition, for example.
Planes parts could perhaps be design with family table ?
I can't figure how to get all of parts in an assembly and generate all steps and drawing files.
Any idea ?
This process is similar to slicing softwares for 3D printing.
It would be fine to be able to automate this as far as possible.
Master model merge technique would support some automation of the creation of the 30 plates. Since you mention a skeleton part you should have the AAX module to use the merge function.
You have the master model already, use that to create a single derivative part (merge function) for the first layer part and save that part to use for each layer (this will serve as a generic layer part to create the rest of the layers). If you have a cut plane defined in the derivative part you can then save a copy of this part for each layer 1,2,3,....30 using unique names for each. When saving each copy of the layer part just modify the cut plane position and that will create all of the parts quickly. You can create a map key sequence that would pause for the layer offset dimension to speed this up, this map key could also export the STEP. You could automate the slicing with pro program but for 30 dimension entries I would just use a map key as it will be done in a couple of minutes.
Automating the drawing creation is a separate problem, hopefully someone else will have something for you.
I don't know how to automate it, but the process I would use is not too difficult.
You should now have models and drawings for each slice. The merge will update to the master model with a regeneration.
This is an example of how to create the models using 3 "slices". The master and the 3 derivative parts are enclosed for reference (Creo 4 models). This is semi automated with a map key, you can extend this automation to additional steps for each slice as desired such as exporting the STEP files. Using an external script you could write a trail file to fully automate it. You can in theory create a nested map key to automate the whole thing but debugging that may not be worth the time to create it. You can also use one of the Creo APIs to fully automate this as well if it is something that you need to do repeatedly on many models.
Starting from the slice generic part model.
1) save the model as "slice1.prt"
2) run map key "sli" This map key pauses for user input to select the next slice plane. The current slice plane is highlighted.
3) select the next slice datum in sequence upwards, the map key will execute upon selection
4) Save a copy of the model (i.e. slice2.prt)
Repeat this until all slices are saved as parts. These parts will all assemble by default and maintain their relative positions.
This is a map key is used to increment the slice cut up from the bottom of the master geometry. Make sure you do not have any map key naming conflicts with "sli".
mapkey sli ~ Select `main_dlg_cur` `PHTLeft.AssyTree` 1 `node33`;\ mapkey(continued) ~ Command `ProCmdReroute@PopupMenuTree` ;\ mapkey(continued) ~ Trigger `Odui_Dlg_00` `t1.erui_new_ref_table` 2 `0` `new_ref_list`;\ mapkey(continued) ~ Trigger `Odui_Dlg_00` `t1.erui_new_ref_table` 2 `` ``;\ mapkey(continued) ~ Trigger `Odui_Dlg_00` `t1.erui_orig_ref_table` 2 `4` `orig_ref_list`;\ mapkey(continued) ~ Trigger `Odui_Dlg_00` `t1.erui_orig_ref_table` 2 `3` `orig_ref_list`;\ mapkey(continued) ~ Select `Odui_Dlg_00` `t1.erui_orig_ref_table` 2 `3` `orig_ref_list`;\ mapkey(continued) ~ Trigger `Odui_Dlg_00` `t1.erui_orig_ref_table` 2 `4` `orig_ref_list`;\ mapkey(continued) ~ Trigger `Odui_Dlg_00` `t1.erui_orig_ref_table` 2 `4` `orig_ref_num`;\ mapkey(continued) ~ Trigger `Odui_Dlg_00` `t1.erui_orig_ref_table` 2 `` ``;\ mapkey(continued) @PAUSE_FOR_SCREEN_PICK;~ Activate `Odui_Dlg_00` `stdbtn_1`;