I can find a LOT on how to make one... but the question has been asked of me - Why should we use one?
Currently my company uses the age old Reference Part... which is basically a part that is used like a skeleton. where all copy geoms for references are taken from it - but itself is not used for anything more then a reference, and is not in the assemblies.
We use Windchill to manage the files - but the systems is really nothing more then a proe model manager.
Is is bad for all parts in an assembly to reference the same skeleton?
Woiuld every part now have to have its own asy with a skeleton that copies from the higher skeleton?
Does the Skeleton HAVE to be released with the parts?
I am sure there is more - but I have to run.
Thank you in advance!
Wow... I thought this would get some activity.
I found an image online showing a Skeleton Structure. It shows what I was asking about...
Does each part now have to be in its own asy with it's own skeleton that references back to the master skeleton (called Global Skeleton in the image)?
OR
Can the structure be flat, with all the parts using external copy geoms of the same Skeleton?
Skeleton and Inheritance master models are used to prevent circular references and failures in your assemblies. In these cases, references only exist in one place, not a bunch of different places from a bunch of different models.
I actually like to simply put th egeometry (curves and surfaces) in the top level assembly itself, essentiall, a skeleton model inside the assembly. Same cncept, it's just that I've noticed major layers issues with skeletons or inheritance models, whereas I've seen none with the geometry in the assembly itself.
A skeleton is a special kind of part file where the definition for your assembly lives. It allows you to lay out once the critical geometry that two or more parts share like outer surface contours, parting lines, hole locations, etc. It is typically only non-solid geometry - surfaces, planes, curves, axis, etc. - but there is no restriction on what kind of features you can put into a skeleton. Geometry is passed down through the use of publish geometry and copy geometry pairs.
A skeleton part behaves in some specific ways. It assembles in the default location ahead of the default datums. It is ignored by default for mass properties analyses, even if it has solid geometry. It can be filtered out of BOM tables and reports.
The use of a skeleton is one method, a powerful one, to implement top down design. There are many ways to do so. One is to have a single top level skeleton and pass the geometry down to all parts at any level in the assembly tree. The advantage is a simpler structure - you have a single skeleton with all shared geometry. The disadvantage is that every component is a direct child of the top level assy and requires it to be updated. A variation of this is to use the same skeleton at each level of the assy.
Another is to have a separate skeleton at each sub assy in the tree. You'd then pass the sub assembly's required geometry info form the top level skeleton to the subassy skeletons. You might then add geometry there that only is required at that level. Components then get their geometry from the skeleton in the assembly in which they reside, either the top level or a sub assy. The advantage is that each sub assy has the geometry it needs to regenerate. If a change is required at the sub assy level only, it can be made in that sub assy skeleton and that sub assy regenerated. Only true top level changes would require regeneration of the full assy. The disadvantage is a significantly more complicated assy.
The advantage of a skeleton over the master model technique (which I think is what you are referring to as 'reference part') is the ability to pass on only the geometry that the target component needs instead of the entire master model.
Some answers to your questions:
Is is bad for all parts in an assembly to reference the same skeleton?
No, it makes she assy structure simpler but the skeleton itself more complex. It also makes small changes a bit harder as the entire assy must be regenerated even if the change only affects a couple parts in a sub assy.
Would every part now have to have its own assy with a skeleton that copies from the higher skeleton?
No, there would be no advantage in doing that. There si some advantage, as stated above, for each sub assy having its own skeleton.
Does the Skeleton HAVE to be released with the parts?
I would say no, but that's going to be up to your company's process. In my mind the skeleton isn't a manufactured part, it therefore wouldn't be 'released' at all. There may be an advantage to giving it a release schedule, however, and certainly rev. tracking it.
I'm a huge fan of skeleton driven design, but it has its pitfalls. it adds complexity and adds part to part and part to assy dependencies. However, when done well, it can turn a late design change from a multi day proposition to a multi hour one.
Daniel,
Further to what Doug has said, I would suggest that using the same skeleton in the top-level assembly and multiple sub-assemblies makes it very difficult to avoid referencing the wrong one. When you click on the skeleton to select some part of it to reference, it is important that you select the skeleton that is in your sub-assembly, not the same skeleton that is in another sub-assembly, or in the top-level assembly. I have had recent experience of this, and it was tricky to avoid picking the wrong one.
In addition, if you use different skeletons for each sub-assembly, then, when you change one of them, the whole enormous assembly structure does not need to be regenerated, just the sub-assembly that is affected.
Having used both methods in two projects over that last few months, I would, if I could, go back and change the 'single-skeleton' model to a 'multi-skeleton' model. The latter has proved much more manageable.
If you are careful, however, the skeleton-based, top-down assembly method can (and does) save a huge amount of time when a late change or a variant comes along.
Like you, Doug, I am a fan.
A word of warning: It is very tempting to drive the top-down, skeleton-based model with one or more layouts. We have found layouts to be very flaky. We have one model that will only regenerate if the layout is rolled back to an earlier, issued version. Change it, and the whole assembly falls over. Layouts are a great idea, but not a very mature implementation (WF2, but I am not optimistic that anything has changed lately).
Have fun,
John
John Wayman wrote:
Daniel,
Further to what Doug has said, I would suggest that using the same skeleton in the top-level assembly and multiple sub-assemblies makes it very difficult to avoid referencing the wrong one. When you click on the skeleton to select some part of it to reference, it is important that you select the skeleton that is in your sub-assembly, not the same skeleton that is in another sub-assembly, or in the top-level assembly. I have had recent experience of this, and it was tricky to avoid picking the wrong one.
This can also be handled by using publish geoms and referencing the pulish geom in your copy geom by picking in the model tree. or, by opening the sub assy adn making hte copy geom there.
I would never reference a skeleon directly, except for assy references. Alsways use copy geom & publish geom pairs. Much more manageable.
That brings up another point. When using a skeleton, it's important to assemble components only to the assy or sub assy default datums or to the skeleton itself. Do not constrain part to part or you may find yourself creating circularreferences.
Doug,
As a relative newcomer to the world of skeletons, I am interested to know how you, or anyone else handle the naming and management of Publish/Copy Geometry.
I always name the Publish something half sensible (although it is limited by the number of characters) then pop it in the footer.
I then insert the Copy Geom in the sub-assembly and rename it, including something like 'from_skel' in the new name. If I don't do this, it seems very easy to lose track of where things have come from.
Do you have any recommendations?
The other one that has repeatedly caught me out is when I have dragged the insert arrow halfway up the skeleton model tree and made a change, then forgotten to drag it back down before regenerating the assembly. The stuff in the footer is suppressed and the assembly falls over, leaving you with the option of clip-suppressing and starting again! I think it is impossible to resume the stuff in the skeleton when it is the sub-assembly that has gone into resolve mode. I haven't worked out how, anyway.
There are all sorts of pitfalls for the unwary or incompetent (me), but it is still worth it.
Cheers,
John
I'm a compulsive feature renamer and do exactly as you've described for my publish geoms. Usually something like 'motor_bracket_pub'. I rarely name my copy geoms, however, simply because I typically only have the one and it would only come from the skeleton. It's always first in the tree as well.
I've run into that same issue with insert mode in the skeleton as well and it's frustrating. The ability in WF5 and on to leave features 'hanging' helps a lot. Let 'em fail, go back to the skeleton and cancel insert mode and regen again.
I'm so glad it is not just me! I am constantly harping on at the users here about the benefits of giving features sensible names in the model tree. They think I'm like a stuck record...
Hey hey,
Are you doing this in Windchill?
The concern is this:
Do all the poarts come up modified? I do know it can be worked around - but it is better if it just worked as planed and one part changed, check in the asy, skel and part... promote and move on.
Hello,
I am new to Creo 2.0 and agree with the uses for a skeleton structure. earlier in the thread you mentioned;
"It allows you to lay out once the critical geometry that two or more parts share like outer surface contours, parting lines, hole locations, etc."
-this is what we use them for in our company but I have found that you can no longer make parting lines useing the silhouette curve feature in skeleton models using Creo 2.0. I have asked PTC about this and they replied that is was a mistake that you could do it in previous releases and they "fixed the mistake" by taking away this function in skeleton models.
My question is this: What other way is there it creat parting line on complex geometry if you can not use the silhouette curve feature from the cast/mold application?
thanks,
Excellent thread, thank you to the contributors. Being new to ProE the skeleton has been one of the harder concepts to grasp. Part of that I beleive is in how the skeleton naming system was implemented on the project I started with.
So the only thing of value I can sort of add to the conversation is backing up what Doug mentioned about naming. I've see a mess of datums in the skeleton that were named something conveneint at the time to match their partner which was conveniently named, but as the development went on the partner's naming scheme became out of sync.
I too looked at the graphic Daniel posted a few weeks ago and was confused by not seeing a representation or chart of the other methods. Doug, your explanation clicked here, thank you.
Parting lines don't have to be at a silhouette, but I get that they frequently are.
Silhouette curves have always been part of the mold design package, not regular Creo, but you can use he surface trim feature to create silhouette edges. I just checked in Creo 2 and it's still there.
Hope that helps.