I have been using the break external references to allow me to use
parts that were originally "in-context" parts in other assemblies
without leaving "->?" because the part is out of context. Is this
doing any good as far as performance is concerned? If I break the
external references on a model does Solidworks still try to resolve
those references or are they ignored?
Be careful when you choose to break external references!
Yes - after breaking the references, they will no longer need to be
resolved by SolidWorks; however, the "in-context" relationships from
the originally referenced assembly will be LOST.
If you don't need (or want) those original relationships to be
maintained, that's fine, but - if future "in-context" updates are
desired - you should make renamed copies of the parts to be used in the
Depending upon how you use the parts in the new assemblies, an
alternative is to simply LOCK the external references. While locked,
those references won't be resolved and this improves performance (even
in the original assembly). The locking can be reversed at any time;
however, if the part has been moved relative to its in-context
references within the 3D space of the original assembly, it may rebuild
in an undesirable form.
When locked, a part can NOT have NEW in-context references created
(until the user unlocks or breaks the original ones.
Keep in mind that after breaking, it may be necessary (or at least
desirable) to edit sketch and/or feature definitions in order to
restore fully defined status to the part(s).
Per O. Hoel