Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X
I would like to use one sketch to make a particular feature on a number of different parts. The section in these features will always be the same but the forms of the extrusions will vary.
Although it is easy enough to base an extrusion on the imported sketch, there does not seem to remain any linkage with the original sketch file.
When I change something in the sketch file, I want the change propagated to the features based on this sketch in every part where I've used it.
This seems so obvious a need that I'm sure there must be a way to do it in Creo. HOw?
Solved! Go to Solution.
This seems like an ideal use for a UDF. When you use a UDF, it asks if you want it to remain dependent on the UDF or be independent.
There is no relationship between sketches saved to a file (*.sec) and the places where it is used. If you want a parametric relationship maintained between the sketch and other features and/or models, you will need to either:
A.) Reference the sketch from the different components in an assembly. This could just be from one part to another, from an assembly to other parts, or from a skeleton model to other parts.
B.) Use a copy geometry feature to copy the curves from a 'master' part into all of the other parts that need to reference this sketch. Unfortunately sketches themselves cannot be directly passed via copy geom features.
Based on your constraints I can not think of a way to have a section serve directly as a parent reference across part models. There are two options that come to mind for this problem.
Option 1:
Use a subordinate UDF to propagate to any model needing it.
Define the master sketch in a reference model and then create a subordinate UDF. In theory the UDF would only need the features required to set up a sketch plane and the sketch itself. This will control all versions of the sketch from a single UDF. When you place the UDF in a model it will then contain the "master" sketch and be dependent on the UDF model.
A subordinate UDF gets its values directly from the original model at run time, so the original model must be present for the subordinate UDF to function. If you make any changes to the dimension values in the original model, they are automatically reflected in the UDF.
Option 2:
Employ a Creo notebook (.lay file). You can define global parameters and embed relations in the notebook and then declare that notebook to any part that should be controlled by it. You can not declare a notebook to a sketch file so you would still import the sketch but if the sketch is controlled by relations driven from the layout then you can change the layout and all models that have the layout declared to them will update when regenerated. This approach requires more up front work than the UDF to implement in a user friendly manner.
It looks like another way to make this happen is to make a "working" assembly which has all of the parts which want this section even though there would be no other reason for such an assembly. Like planes flying in formation.
does this make sense to either of you?
Generally I am not a proponent of creating assembly references in part models unless there is no other way to do it. If you understand the ramifications of creating assembly features in your part models then it can probably work. If you can share an example or some sketches of what needs to be controlled it may generate more ideas on how to capture the design intent.
finding out that sketches cannot propagate across multiple parts is almost as good as finding out they can; I won't spend any more time trying to figure out how to do it.
Having said that, it does seem like something which ought to be possible.
I can probably solve my problem by attaching notes to each part reminding me to coordinate the dimensions of the common section to assure that they will mate properly with the other parts referencing the same section.
This isn't all that big a deal, but the problem is forgetting what I've done. I brought up a part modeled with Release 12 the other day and was astonished at what I'd done in 1992 - it worked but was inelegant.
Thank you both for your suggestions.
This seems like an ideal use for a UDF. When you use a UDF, it asks if you want it to remain dependent on the UDF or be independent.