What did you think of Monday’s quiz? I was surprised by the responses I received, only about 1/2 the people found both circular references.
CircularRefs.SLDASM is a typical problem I often find when a user attaches a purchase part to his assembly. (i.e. mounting plate) Think of the yellow block as the mounting plate and the red block as the purchased part. The red block has the hole and the yellow block has its hole positioned via an external reference back to the red part. (The logic being you always want the hole to line up with the purchased part.) However, notice the red block is positioned by the Concentric1 mate! Thus the position of the red block is defined by the position of the hole, yet the position of the hole is defined by the red block.
CircularRefs2.SLDASM demonstrates a mating issue. Through mates, the yellow block defines the position of the red block. Through mates again, the red block defines the position of the blue block, and lastly through more mates the position of the blue block defines the position of the original yellow block!
Both of these examples aren’t terribly bad, yet there are very few parts here. Imagine (and I have seen examples of this) where there could be many parts involved in creating the circular reference. It works like a big chain reaction.
There is a third common circular reference type that I did not show in either of these examples. Equations (in both part and assembly files) can be an issue. One dimension defines the value of a second which in turn defines the value of the first. If you are an equation fan, you have to watch out for these too.
Lastly, you can have combination of these three scenarios: The mate defines the reference that defines the equation…oh the problems can go on and on!
Are circular references bad? Yeah, typically. Assemblies that contain them are difficult to change, and parts don’t update as you expect them to –sometimes they don’t update at all or they change for no apparent reason! Not to mention that it can bring your PDM package to its knees and kill your SOLIDWORKS performance. Bad, bad, bad and bad.
Have I frightened ya? I hear you cry: “Is there an easy way to find circular references??” Fine, I’ll tell you…..after the break….