Continue to Site

Welcome to MCAD Central

Join our MCAD Central community forums, the largest resource for MCAD (Mechanical Computer-Aided Design) professionals, including files, forums, jobs, articles, calendar, and more.

circular reference


New member
I have created a circular reference. This happened because I created a cut out in assembly mode, then created a curve that references the cut out, so on & so forth. I understand why & how the circular reference is created.

My question to you, my forum friends, is what do you think about circular references? Are they a horrible thing to have in my assembly/part creation? The assembly & part both regen. with no problems. I don't see it as a problem, more of a technicality, I guess.

What does anyone think?


I worked with assys that contained multiple circular references without issue.

I have worked with assys that contained multiple circular references with lots of issues.

The severity of the problems is inversely proportional to how much time you have left to finish the project.

Mike said:

The severity of the problems is inversely proportional to how much time you have left to finish the project.

I had never thought of it that way, but that's fairly accurate. The only assumption is that the circular reference doesn't create lengthy or infinite regen's, which they can, but ususally don't.

My approach is to evaluate the severity by miked's algorithm with my addendum, and if time permits, try to understand what the cause is and create a reference structure that doesn't cause a circular ref.

When I first started doing mold design, I would get as many as 100's (they compound sometimes, one can cause others) and sometimes very deep. But as I delved to understand the cause (it is usually in the 2nd or 3rd level) I was able to begin to realign my reference structure and paradigm and now I seldom create them.

Circular ref's are like circular logic: not desirable, but not always avoidable in the deluge of daily survival, but you have to try to eliminate them to be epistemilogically consistent (assuming you are epistemogically self-conscious).

Who says philosophy and engineering don't relate?
I've had ones that were completely benign and ones that caused a sprawl.

By all means, remove them if you have the time. If you just need to grind something out, and they aren't killing you, make it a low priority...
I saw a demo a long time ago of a little assembly consisting of two cube parts. By intentionally creating a CRC situation, you could cause the cubes to move around simply by regenerating the assembly...

-Brian Adkins
generally circ refs are seen as bad modelling

it all depends tho`

If it is soley yourself working on the design then you realise all the history and it can be not so much off a problem

lets face it by circ referencing you can generally work quicker

then again you pass the model to someone/inherit someone elses problem then it can be an time consuming nightmare

in big corporations with multiple people working on assemblies this can get out of control very quickly - CAD guidleines and proper training can alleviate this, especially when considering new users

working in consultancy i have seen and worked upon assemblies for big global companies that come to us because basically they have schedule to meet and have to get the model finished for tooling deadlines etc.

I am suprised at the high profile of some of these organisations and how disorganised they can be :-o

best practice i have found is to use skeletons/top down design and published geom - these features are very powerful, looking back I am amazed i managed to cop with out them....
I would try to steer away from circular references, it is, however, not aways avoidable (hell I can't do them in UG).

Steve C
Circular references are bad. They are simply not a good design practice. In g's case, I would recommend adding a skeleton model to the assembly, and create in the skeleton the necessary non-solid geometry (i.e., datum- and surface- features) that you want to share amongst individual components (and in this case, assembly-level features). (You should also place all necessary assembly constraint references in the skeleton, but that's another subject.) This way you can create Copy Geom features in the individual components, and have the assembly-level features reference the skeleton as well. This eliminates circular references, consolidates design information in a central location for making changes later on, and reduces parent-child relationships, the number one cause of resolve mode failures.

Dave Martin

Torgon Industries
jabbadeus and others: I have many assemblies which have family tables. The top level assembly then controls which individual parts or instances of individual parts appear in which assembly instance. I have found that it is not possible to use a skeleton model to control the assembly because the assembly family table cannot manipulate dimension at the part level. This seems to make this aspect of top-down-design useless. Has anyone else found this to be an issue? How many people use family tables at the assemby level?
Are family tables of the skeleton model a possibility? Probably not.

Still within Top Down Design, you can you Layouts with Parameter Tables and choose which set of dimensions is the active set. The advantage of the Layout is that in the Parameter Table you can manipulate part dimensions at the TL assembly level (declare the layout to the individual components, then write relations between the parameters from the layout parameter table and the part dimensions).

There are probably better ways, but off the top of my head this comes to mind.

Dave Martin

Torgon Industries
Definitely bad.

Once had a part model with 11 circular references and for complete regen it took 12 (initial + one for each circular ref) model regens for everything to update.

In this case I was copying 11 datum-curves back into a part from an assembly.

Circular refs due to poor assembly constraining are not as bad - these don't usually cause regen issues - but still should be avoided, it's sloppy modeling.


Articles From 3DCAD World