I assume you have a multi-body part and only have the problem when you move the parts? If so, would it be possible to make an assembly that uses the 2 bodies as created in their part file? It might be an inconvenience, but it should solve your problem.
I am working already in an assembly and top down design principles. The problem is the direction of both lip and groove comes from one of the parts. When the lid opens that is no longer valid.
John has several helpful work arounds in the post following yours,but all require extra work and open opportunity for errors.
I should submit a request for an enhancement to make the changes so the lip direction comes from that part and the direction for the groove comes from its part. Then moving the lid will also move its direction to keep the shape as desired.
Kurt, the problem is that you're combining top-down design with component positioning changes and the features are failing on rebuild
Over the years, I've devised a couple of techniques for handling these types of sistuations, but they all boil down to a single maxim: Don't move your top-down parts. It's also a good idea not to create drafts and finish rounds on top-down parts since these propogate across in-context relations.
Here are some suggestions:
1) make a seperate assembly from your in-context assembly. Insert your parts into that and use that assembly to create your product documentation. Your top-down parts will be out of context in that assembly and therefore, won't be affected by your moving them around. However, that does leave you with an assembly that doesn't fit into your document schema and it's hard to explain to the non-CAD's why you need it.
2)If you want to stick to one assembly, then make derived parts from your in-context pieces. You can then insert those into your assembly and they'll update as you make changes to the in-context pieces. In my case, I made the in-context parts into envelopes so that they'd be ignored by the BOM and mass-properties calculations (2013 required) and use the derived parts for your open-closed conditions. This still produces an extra files, but derived parts are easier to explain than context-defining assemblies.
3) use move-copy body, display states and configurations to make a version of the top-part in the open position. Basically wthin your in-context part, you have two bodies, one in the open position and one in the closed. You use display states to control wich one is shown. This messes up your massprops calculaltions and it's not readily apparent to other designers what you've done when they have to modify your assembly.
4)roll the Freeze bar passed the lip-groove feature on both parts or lock external references on the in-context parts before you open the assembly. I don't like this method because you have to remember to lock the xref's again when after you've made a change.
5) turn off 'allow multiple context for in place editing' in Options:system Options: External References and then hide the cover in the assembly and insert another instance of it and use the second instance for repositioning. the idea is that the hidden part will be responsible for all of the updates and the new instance of it will be out-of-context. You can make the original part an envelope to keep it out of the bom and massprop calcs and don't have to create any additional files. The downside is that you have to decide that you're not going to use multiple-contexts for top-down modeling. They are occasionally very useful.
These are all very helpful and useful work arounds. I bet the sharp developers could make the work arounds not necessary if they allowed the definition of groove direction and lip direction to come from the seperate parts instead of forcing both to come from the same part which is only valid at the one condition.
I will give you points for such a clear and complete list of optional procedures.
Well yeah. I have a couple of complaints with Lip/Groove features.
They lose their references easily. They create basically take over the body definition so that nothing downstream of them is preserved if they're deleted. they rename themselves when you edit their definitions and if they're created in the context of an assembly, they can't be edited in the part file-even if none of the references are external to the part.