Question:
What is the functional and practical difference between Merge/Inheritance and internal/external Copy Geometry functionality?
Abe Headley, Penske Racing
Answered by: Gavin B. Rumble, PE
Frequently we run in to cases where we need two very similar (but not identical) parts in an assembly. In this case, one of the similar parts was a standalone part and had clearance holes, while the other was part of a weldment and had tapped holes (see below). Let’s stipulate that the top profile shape was specific and complex and needed to be identical.
Since BOM issues precluded using a family table for both (the bottom piece is part of a weldment and the top has its own part number and drawing), this assembly was originally created using two separate unrelated parts. An as-built revision prompted us to seek a better way to eliminate the laborious feature redefine (twice…it wasn’t a very robust model and things started falling apart quickly).
The answer was Inheritance…it works like this:
The result is a Solid model with Dependency and all the original parts features. Here are the menu pic’s. First, select Merge/Inheritance on the Get Data from the Model Tab.
Then, place the Inheritance part into you current empty part…Default placement is generally best.
…and resulting Model Tree. Notice the duplicate section of the Model Tree in the new part.
The things to remember are:
1. If you select Dependent the resulting model is fully associative and there ARE NO ASSEMBLY REFERENCES to worry about.
2. You can modify (Edit) the features in the resulting SOLID model, but only if you define Variability in the Dims, Parameters, etc; however, you can quite easily continue modeling on the resulting part, creating additional features just like any other part.
3. All parameters come along, however they reside in the Inheritance Feature, not in the standard parameter table. You access them similar to Analysis Feature parameters by using relations to assign them to part parameters, but instead of using parameter_name:fid_id# you use parameter_name:iid_id#. In this case the material parameter would be made available to the part (and subsequently to the drawing) by creating the following relation.
/* Assign inheritance parameters to the new part parameters
MATERIAL = MATERIAL:iid_82
4. If you attempt to Show Dims in the drawing where the new part is displayed you will have trouble when you try to format the values (fractional or 2-place decimals, etc) because the system will force you to declare them as Variable Dims which you probably do not want to do. Use Created Dims instead.
5. If you later determine that one or more of the driving dimensions needs to be different in the resulting part, simply redefine the Inheritance Feature and declare that dimension to be Variable (Thickness_dim for example) and then give it the new value.
6. Not only are there no Assembly References, the source part need not be available (in your workspace or in session) going forward. You can redefine the Inheritance Feature locally if you like.
This procedure can also be used to make Mirror Image parts using surfaces from the first part which are mirrored and solidified in the second part.
Copy Geometry, while an extremely useful tool, cannot do most of these things. First, Copy Geometry can only bring in Surfaces, Edges/Curves, and Datums. Second, there is no resulting visibility of the source part’s features. Thirdly, no Parameters come along with the geometry. Finally, if you attempt to Redefine (Edit Definition) an External Copy Geom and do not retrieve the source part, you will be very limited in what you can actually do.
Hope this was helpful…leave comments or send me an email if you have questions. [GBR]
(4964)
Question;
Is the reason for mirroring surfaces and solidifying in step 6 because when mirroring the inheritance, creo only allows the mirror operation to be partially dependent?
I am using creo 2.0 M200 and the dependency check boxes are grayed out with partially dependent being the default.
Great question Jim, thank you.
First, the example and subsequent post were created a long time ago…WF1 or WF2. There are new ways of creating mirror parts that have been added…several ways now to skin this cat.
Second, realize that Sheetmetal parts offer their own set of restrictions with regard to this functionality. Not sure what kind of solid part you are dealing with.
So, in WF4, I don’t see a Mirror option in the Inheritance Feature. Not that the File/Mirror Part is really any different than a Mirrored Inheritance. In this case, for a Sheetmetal part, you cannot set it to Independent. For non-sheetmetal parts, you cannot keep the Dependency if you Include all Feature data.
In Creo 3.0, the File/Save-As/Mirror Part offers improved (slightly) functionality over WF4 File/Mirror Part, and works quite well. I still don’t see the Mirror option in the Inheritance functionality though. Perhaps you are instead saying that you may want to create a Mirror in the destination of the Inheritance operation. This can be done, and does display a greyed out Partial Dependence option. If, however, you inherit solid geometry and mirror it in the target part you cannot “hide” the source shape…you wind up with both the inherited geometry AND the mirror. This is because you can never Hide solid geometry. You can, however, Hide surfaces.
Finally, in reviewing this post relative to your question, I am unable to duplicate the Inheritance with only a surface feature/quilt from the source model. My comment may have been made in error…someone please chime in if you agree or disagree. Clearly, you can create an External Copy Geom of just a surface quilt from the source, mirror the quilt, hide the source, and solidify the mirror.
I love a question that makes me think hard…Jimmy Valvano once said, “Think about something difficult EVERY DAY”.
GBR
Many times when I try to use this, the merge works but after toggling to inheritance it fails. Has anyone seen that? PTC always goes back to their generic quote “There are geom checks in the model.” But merge works and inheritance does not. Insights anyone? Thanks. Lee.