If I constrain a part based off datums/features in a skeleton, how do I re-use that part constrained in a different location without creating a circular reference?
When I first create the part, I constrain it to the skeleton via coordinate system. What do I need to do in order to use that part in a different location within the assembly? I would like to keep it the same part number and remain parametrically linked.
I don't think you have provided enough information to answer your question. The external refs of all relevant models would need to be presented to address this question. If you can document the design intent among the files you would more likely get a solution to the specific issue. Are you familiar with the Global Reference Viewer? If not read up on that as it will be useful in this context.
Based on the general case of your question if you define multiple coordinate systems within a skeleton you should be able to assemble a component to more than one csys in the same skeleton. Then in your assembly you would have more than one of the component present but located by the same skeleton.
To elaborate more on what I'm trying to do -
Let's say I'm creating a part that is just an extrude made from a sketch.
I create the part and constrain it by coordinate system to the skeleton.
I then create a sketch and reference datums/features from the skeleton.
This sketch is now dependent relative to the coordinate system.
I then create my extrude feature.
Say that I want to use this part again in my assembly but in a different location - if I don't use the same coordinate system, my sketch will no longer reference the skeleton datums correctly. It will create a circular reference because of how my sketch is set up.
I am trying to understand the best way to structure everything to prevent this from happening.
If you use the part again, you will not create a circular reference. The part is defined by the first instance of itself in the model tree. The only time you would run into issues is if you attempt to use the part in a new assembly and don't have the original assembly in Creo's memory.
If you have questions about circular references (how they are made) or designing with external references, I'd be more than happy to share some info.
I'd be interested to see any info you have regarding designing with external references.
I have mostly designed without using external references. I'm trying to learn how to use them as well as using skeletons.
PTC does have training and docs for top down design planning, if you have active maintenance you should be able to find that (documentation) at PTC.com. The training costs extra.
This is an article that I wrote some time ago when the top down design tools were first implemented in Pro/E. The content is still valid today although some new functionality has been added (inheritance, multi body etc.). It deals with the planning process and implementation of a top down design approach to design.
Instead of directly referencing the features in the skeleton, you should import the relevant geometry by using publish geometry in the skeleton (not obligatory, but I recommend it), and copy geometry in the part. If you make sure to externalize the copy geometry feature (i.e. not getting the position info from the assembly, but constraining the skeleton in the part by coordinate systems), you'll have no dependency at all between the part and the assembly. Now you can Place it anywhere you want, including in a different assembly, without problems.
This is how I recommend working with skeletons. Never reference the assembly, Always use externalized copy geometry features. It's much more stable and hassle-free.