Community Tip - Learn all about the Community Ranking System, a fun gamification element of the PTC Community. X
Hi all, I think there's something I didn't understand very well. Recently I designed a new product using top down design. So I have an assembly into which I have a skeleton model and all the parts I need in my product.
Today, I came back to open a part of this product without having the top assembly in session. It opens with a yellow light. If I try a regeneration, it fails because it says there's a missing model. Of course if I load the top assembly then regen, everything comes back to normal.
Is there a way to make the top assembly load automatically ? The system knows what assembly is missing because when I go to the reference viewer, it can display the name of it.
I have the retrieve_data_sharing_ref_parts config.pro option set to yes.
Solved! Go to Solution.
Hello Raphael,
l will upload video with basic princips of geometry sharing from main assembly to subassembly and parts.
Pricip of geometry sharing:
Also some documents about TOP-DOWN design are attached.
This method works well for me.
Regards Milan
Hi. Have you got additional skeleton model also on the lower level assembly, and not just the top one?
Hi, James62 has a point, you have to make a second skeleton, after you have to publish geometry that you need from the top assembly and then you will copy it in the second skeleton with Copy geometry.
I would avoid using internal copy geometry (assembly context) and only use external copy geometry if at all possible. Also you have the same object listed as a parent and a child which suggests there is a circular reference. When a circular reference exists the system can never be satisfied and the stop light will remain yellow.
Thanks for your answers. Actually, I only have one skeleton model in the assembly. I defined the general dimensions and references (planes, axis...) in that skeleton. But I didn't make other skeletons. I placed directly my parts in that assembly using references for placement. Then I modelled the parts in that assembly.
Here's what the assembly tree looks like. If I understand correctly, you mean I should have made a skeleton for each part ? And/or copy geometry from skeleton to part or from part to part ?
Hello Raphael,
l will upload video with basic princips of geometry sharing from main assembly to subassembly and parts.
Pricip of geometry sharing:
Also some documents about TOP-DOWN design are attached.
This method works well for me.
Regards Milan
Hello Milan,
Thanks for this documentation. I think the problem in my design assembly is that I didn't copy geometry from skeleton to the parts. I used directly the skeleton geometry !
In my case only one skeleton was enough as I don't have sub assemblies, but I noticed in the model tree you show that for each sub assembly you create a skeleton.
I'll use this way on my next designs.
Good luck in your next designs...
Mark your answer correct in order to help others in future...
Hi all, I'm still experimenting different methods to get to the best !!
New case, I have a simple case for speakers to design.
I made an assembly containing a skeleton into which I have defined the global dimensions and positions for screws, etc.
I used two different methods for getting references from my skeleton to parts.
On the first one named us06092a... I used a copy geometry (externe referencement) using a placement constraint with datums. It works fine, and if I open the part without the assembly into memory every reference is retrieved. In fact, in this situation, even if the part is not in the assembly it works also.
For the second part US06091A..., I used a different copy geometry. I used a copy geometry in assembly context. One thing I don't like with this method is that if I open the part if the assembly is not in memory Creo doesn't automatically retrieve the assembly to update references. So if something has changed in the assembly the part won't be updated. This is not the case with the previous method.
So my question, what is the point of using the second method ? I find it less reliable.
The difference between the two methods is how Creo locates the copied geometry into the target part.
With the External Copy Geom (ECG), you have to tell Creo how to locate the geometry, as you did in the Placement dialog above. It's then as if Creo temporarily assembles the parts over top of each other, as you specified, and then transfers the geometry items.
In a standard, in assembly, copy geometry (CG), Creo uses the relative position of the two components in that assy in order to transfer the geometry. The assembly itself becomes a parent of the CG feature in order to place the parts relative to one another.
The ECG has benefits in that it does not create the assy parent child relationship, but it also carries risks in that it separates the relative position of the components in the assy and the relative position of the components for the ECG. It's possible to have the geometry copied in ni a way that puts it in the wrong place.
For example, if you define your ECG to use the "Default" placement and assemble it using the "Default" placement but then later shift the component in the assy to be offset from the Default coordinate system, the ECG will not fail but the copied geometry will be in the wrong position. Use of ECG features requires some diligence to make sure that the assy method is consistent. I either use the default assy position or create a CS in the skeleton and use it to both place the component in the assy and position the ECG.
Thanks Doug for this clear explanation.
In fact I never use the default placement, I always make CS in skeleton and part. But now I'm aware of what could happen if I'm not rigorous.
There's one thing I like in this method. It's that we can just have a skeleton containing all the references and the CSs on one side, and the parts on another side. We don't even need an assembly to put all this together.
Maybe this is ok for me because I never work with very large assemblies.