Some thoughts on external references

Both, External References and In-Context design are excellent modeling techniques to make the lives of the engineers much easier. However, they’re riddled with details that every user should know and that every CAD admin or company has to take into consideration when letting the engineers use these features. In this article, I’ll share some thoughts and from real life, particularly from the data management side of things.

External References

The external references feature has been in SOLIDWORKS for what seems like forever. In essence, it’s a feature that allows for the relation, dimension or similar to be defined by other parts or assemblies. This helps save tons of time when you’re still in the product design phase and need to make lots of geometrical and dimensional changes. However, when the design is finalized, the honeymoon ends.


In-Context is particularly useful when a company uses weldments, but some of the parts used within those weldments might be standardized. Such a case, where a part is used within another part, is shown in the example below.

What’s going to happen after engineering?

Generally, after the engineering phase, the design will be approved, be it via the PDM/PLM systems or in the “traditional way”. This approval process will produce a drawing with a revision and when this revision is set, supplementary formats (PDF, DXF, STEP etc) will be created and the product materialization process will be taken over by production suppliers. It won’t be long until the parts are made and they’re ready to be assembled.

Now, let’s imagine that we have a simple assembly where we’re going to use external references.
When the engineering team uses the lock or break external references (how this is done will be shown later) then seemingly nothing extraordinary will happen.


There is a major risk that is included with such an approach that we’d like to point out!

Let’s imagine that revision A is currently in production and there will suddenly be a need to chance the length of a connection bracket from 70mm to 100mm.


In this very simplified assembly, it is easy to see that the yellow bracket will also need to be revised, but often in real life, it’s not so easy to tell what needs to be changed.

It’s most likely, that the engineer will start revision B for the grey part and suddenly the yellow component will fit perfectly and there seems to be no need for any further revisions. In such a case, it’s actually simple to see the affected file. But what will happen when 10, 20, 40 files with many parts will be affected as a result of changing a single dimension within a single component?

  • Are we going to be able to detect all those files and also handle the appropriate revisioning for them?
  • Are your colleagues (if you work with a bigger team) going to be able to follow these changes?
  • What if this yellow bracket is used in another assembly as well, in products where it cannot be changed?
  • What if only the grey part was opened and modified, but then the assembly was opened by someone else and they won’t notice that the yellow bracket was updated? Even when using automated tasks to convert the new drawing from the assembly, it’s easy to not notice that the yellow bracket in the assembly is different from the one in the approved drawing.

Most likely the part that was initially changed (the grey one) will get its revision B and the supply chain will deliver one B revision and two yellow parts. And this is for a revision that fit perfectly on the screen.

Now just imagine a company where different parts are reused in different products and you’re getting into the territory of using “as-built” vs “use latest” for revisioning. More about that in our book.

Checking References

Checking references isn’t that complicated. If you’re using PDM, it’s also possible to see where a certain file is used.


File\Find References

Feature tree – right click on “part” \ List External Refs…


This is where the user can also lock or break the references.

  • Break All – when references must be broken permanently. This cannot be undone.
  • Lock All – when references must be locked so that the parts can be moved into the assembly for example.


In PDM there are more ways to see references. In addition to seeing where the files reference to (Contains), it is also possible to see what files are referenced from this part (Where Used).

System Options

There are also some system options available to make it clearer that referenced or in-context approaches are used.

For example “load referenced documents: all” – opens all the documents that might somehow be affected. However, this will open a lot of files when working with large assemblies and a lot of references.


In conclusion, using either the referenced or the in-context design will have little things to be careful with. Users are not always visually notified of the files that may be affected and this can lead to trouble down the road. Generally, we wouldn’t recommend using references at all, but when you do decide to use them, be sure to at least break all the references once the design has been finalized. This is especially important in the product environment. This will ensure, that there will be no conflicts later on, as all the design should be revision controlled and managed in a clear way.


Some resources that might further help understand the topic:


One thought on “Some thoughts on external references

  • Josh

    Good thoughts on those pesky Gremlins we call External references. They also like to propagate when the parts get ‘saved as’ new ones.

    In a Product environment, it’s really best to completely remove them before ‘release.’

Share Your Thoughts!

Your email address will not be published. Required fields are marked *