circular reference solved...

circular reference solved...

alan_ambrose
Contributor Contributor
930 Views
4 Replies
Message 1 of 5

circular reference solved...

alan_ambrose
Contributor
Contributor

OK I thought I would document how I solved a circular ref problem yesterday. It would be better if Autodesk provided this kind of documentation and help, instead of just saying 'fix your model' but whatever.

 

I've been using CAD Solidworks / Inventor / Fusion for a decade, but it's not my main job. I was also a developer for a couple of decades doing algorithm work and have written, for instance, spreadsheet engines. So I'm familiar with the inner workings of network graphs, graph dependencies, minimal recalc algorithms, circular refs etc.

 

This was a single file model with which has 100-200 hours of work in it. It has about 40 bodies (outside of components), 30 components, 35 sketches. All reasonably well organised, based on a decade's experience. Imagine my dismay when it stopped recalculating with circ ref errors and moreover I found after an hour or two's  investigation that the circ ref was actually introduced 30 versions ago. Of course, I didn't want to revert to that version and then work back through 30 revisions. Oh, and I'm up against a deadline.

 

As an ex-developer, it really upsets me that Autodesk can't be bothered to surface proper information in the user-interface so that model problems can be debugged easily. It wastes an enormous amount of their user's time and energy. The 'some stuff broke, fix your model' style of 'error message' is child-like and unnecessary. It cost me a whole day yesterday and also the anxiety that I might have to redo 100 hours of work.

 

I could go on, but I don't have the time, so let me cut to the chase...

931 Views
4 Replies
Replies (4)
Message 2 of 5

alan_ambrose
Contributor
Contributor

OK this is what I did after investigating and trying various investigations, fixes and workarounds for 6 hours:

 

(1) from the weird listing of circular ref features in the error message, I chose one - in this case I chose the earliest sketch, shown in the timeline, and mentioned in the circ ref list. Presumably it could be any of the features in the circ ref list.

 

(2) I opened up that sketch and removed all the 'incoming' projections. So, I ended up with a temporarily un-anchored sketch but it removed the circ ref error. Yes!

 

(3) I simply then re-made any references, ensuring that they came from features back in the time line. As much as possible I based them on my overall outline sketches at the beginning of the timeline.

 

OK job done and fairly simple solution. But if I had know of this technique, I wouldn't have been anxious or wasted 6 hours.

 

Along the way I  decided that I should use Ctrl B on a regular basis to check for circ refs and be v careful when moving features around in the timeline - which I do infrequently. It seems that the circ ref thing is probably caused by a bug and clearly the problem should be surfaced to the user as soon as it is detected (or the action which causes the circ ref should be prevented up front) - not 30 versions later.

0 Likes
Message 3 of 5

TrippyLighting
Consultant
Consultant

@alan_ambrose wrote:

... it really upsets me that Autodesk can't be bothered to surface proper information in the user-interface so that model problems can be debugged easily. It wastes an enormous amount of their user's time and energy. 


I could not agree more!


EESignature

Message 4 of 5

TheCADWhisperer
Consultant
Consultant

@alan_ambrose wrote:

OK job done and fairly simple solution. 


In my experience, the best way to get Autodesk attention to an issue is to provide actual files that illustrate the behavior and how you resolved the issue.

Message 5 of 5

alan_ambrose
Contributor
Contributor

Yeah, I'm not really interested in Autodesk's attention - at least in the short term. I needed to fix this problem now - not in 6 months or a year's time. I put this up here to help anyone else with a similar problem - hopefully they'll waste less time than I did. In the long term, if Autodesk want to fix their error reporting architecture, that'd be great - but I suspect they'll only do that when they see the equivalent of a user revolt. In the meantime, the product marketing guys are probably pushing for 'new features' rather than things that'll help the user experience for existing users.

 

However, it is the work of only an hour or so for Autodesk to document each weird error message, tell us whether it's a bug, feature or model corruption and suggest one or two ways for the user to progress. To not do that is inexcusable.

 

Lastly, I don't want to share my models. Some are under NDA, some are my IP and not for general sharing. Often the bugs are so obvious that they take 10 seconds to replicate anyway. And I don't have time to do the tech team's work for them and create a cut-down example.