
Circular references are some of the most heinous problems to crop up in assemblies this side of ancient feudal Japan. The two worst things about these type of problems is that they’re not shown as errors and you have to dig them out of the miry clay of SolidWorks features. Two items no amount of Katana swordplay will work against. However, there are ways to slice up assembly issue and destroy Circular References.
AssemblyXpert: When to use it
The SolidWorks AssemblyXpert is a great idea in theory. It’s suppose to diagnose your model and tell you where and how your sly modeling practices could be improved. However, I find it provides too little information when you really need to grind down assembly problems. It also gives different results at different times. This image is the result right after the assembly was open.

I knew there were circular references and other problems. After I hit rebuild, I got an all clear – Diagnostic Test Past. In fact, each time I performed a Rebuild (Ctrl-B) or Complete Rebuild (Ctrl-Q), different results were shown. The information provided by the AssemblyXpert is basic. It will go as far as to tell you which components have problems, but not down to what level.
This isn’t a review or critique of the AssemblyXpert, so, all this to say, run the AssemblyXpert after you first open the assembly, rebuild it and run it again. This can help pinpoint components that have issues, but beyond that you’re on your own when you need to find out where the conflict is actually happening.
Finding the Circular Reference
How do you know it’s circular reference?
You’ll usually know you have a circular reference when geometry is moving that should not be moving, or vice versa. After you get a few errors popping up and a sense of panic, you’ll quickly want to know…
How to find a Circular Reference
The most evident way of finding where the Circular Reference may be is the Rebuild symbol appearing on a feature in the FeatureManager. This is the only way you’re really going to know where to start making changes. If you rebuild and still see this symbol, there is most likely circular reference.
The Master ‘Try This Before You Kill Someone’ List
These are the steps I go through, before getting really fed up and throwing printer cartridges at doors and fake plants.
Before You Kill SomeOne
___ Run AssemblyXpert when you first open the Assembly
___ Hit rebuild
___ Look for a rebuild symbol in the Feature Manager
___ Look at the relations in that feature
___ Suppress relations and rebuild to see if symbol disappears
___ Close model. DO NOT SAVE.
___ Open model and delete/fix relation causing the issue
This is the fastest way I’ve found to diagnose and repair assembly issues, especially ones that involve unknown circular references. Sometime with simple sketches, I’ll blow away all the relations and re-relate them or add dimensions to make sure that nothing is referencing something it shouldn’t.
This is nothing New
It’s really easy to over-simplify solving these types of issues. You usually need an intimate relationship with the model to know exactly where all the interaction is taking place. Solving the issue is easier if you know each feature, but if you’re working on another person’s model, you’ll wish for tools which tell you exactly where conflicts are occurring. Here’s hoping those tools appear in the future.
As I’ve gone through this, I’ve found there’s not much new to tell about how to deal with Circular References or assembly issues in general. There are tools that can get you closer, but it’s still digging down to (where you think) the problem area is.
Are there better ways? How do you slice up assembly issues and circular references?

