I'm wondering if there's any standard advice for minimizing the pain and trouble of maintaining modified versions of external models. The question probably isn't immediately clear, so let me describe it as a scenario:
Essentially, you want Insert Derive, but with a source you can manage by replacing the entire model. As far as I can tell, the underlying problem is that there's no way to transparently replace one body with another while maintaining the identity of faces, edges, and points.
I'm not expecting a magical solution for this; Fusion 360 just doesn't really support this kind of workflow at present. But I've found a few things that seem to make the update process require less manual fixing:
Are there other points of this type that would help?
The problem here is "entity tracking". With geometry created in Fusion itself, we tag the geometry with enough information to reliably associate references to geometry (for instance, a sketch created on a planar face), so that, when that geometry changes, we can (most of the time, there are limits) map that sketch plane to the modified face. However, with imported data, that geometry does not have any tag info on it, so this is pretty near impossible. The same is likely true with any CAD application.
There is a capability, called "AnyCAD" which can extract some of this identification data from other CAD applications (they all do pretty much the same thing), so that updates to that geometry can be more reliably mapped to the updated version. I don't think that it works for STEP data, but I don't know for sure
ANYCAD-CONSUME-INVENTOR-SOLIDWORKS
Oh, that's very interesting @jeff_strater. I think you're right, though - it doesn't look like STEP has enough information to support this kind of translation. It does have IDs, but they seem to be just serially assigned for internal reference within the STEP file.
On the other hand, it seems like geometric information should be enough, at least for the 95% case. I'm envisioning an extension that implements "conform body A to the shape of body B." Any faces that are geometrically identical in both bodies stay in A, and the remaining faces are added or deleted as needed. Then the whole thing is restitched. That seems like it should be sufficient to preserve the small-scale IDs.
I might give this a shot!
"On the other hand, it seems like geometric information should be enough, at least for the 95% case."
Very good observation, and an indicator that you are well on your way to becoming a CAD developer. Yes, there are cases where geometry information can help, and that information is sometimes used to resolve these references. However, relying on geometry only has problems. For instance, if the body just moves in space, the geometry could match to the wrong entity. Another is a case like this. If we are tracking the red hole here:
What happens if an edit causes both holes move so that the non-red hole is closer to the position we are tracking from the red hole:
we will match to the wrong hole.
Now, you are correct that, in the workflow that you mention, where design iterations are most likely more incremental, and to isolated areas of the design, so that 90% of the geometry is in the same location, a geometry scheme can work. And, as you pointed out, even if we can match correctly 80% of the references, you are still ahead. The main problem, I guess, is not in the failures (we don't find any geometry where we look for it), but in the silent "false matches", like the holes above - we think we have the right hole, but actually we have the wrong one, and no one knows until much later.
This is the kind of stuff that makes CAD so challenging. And, why we get frustrated when someone (not you...) says something like "that should be a one day project for an intern, I don't understand why you have not implemented this years ago"... 🙂
Can't find what you're looking for? Ask the community or share your knowledge.