{"id":6618,"date":"2021-04-30T11:04:39","date_gmt":"2021-04-30T10:04:39","guid":{"rendered":"https:\/\/www.solidapps.co.uk\/blog\/?p=6618"},"modified":"2021-04-30T11:04:39","modified_gmt":"2021-04-30T10:04:39","slug":"solidworks-2021-circular-reference-detection","status":"publish","type":"post","link":"https:\/\/www.solidapps.co.uk\/blog\/2021\/04\/solidworks-2021-circular-reference-detection\/","title":{"rendered":"SOLIDWORKS 2021: Circular Reference Detection"},"content":{"rendered":"\n<p>Have you ever rebuilt a model repeatedly and it still doesn\u2019t update properly?&nbsp; Or rebuilds alternate between different results? Or the performance if slow?&nbsp; If so, it might have a circular reference.&nbsp; A circular reference happens when the dimensions or relations in a part reference another part, and that second part also references the first part.&nbsp; This phenomenon can happen when using \u201cTop Down Modelling\u201d which means parts are designed using the geometry of other parts, to ensure fit.&nbsp; But Top Down Modelling isn\u2019t the problem \u2013 in fact Top Down Modelling is a great way to use SOLIDWORKS, and the best practice is to use one part to drive all others, a methodology called \u201cskeleton modeling\u201d.&nbsp; But what if you didn\u2019t use just one part to drive all the other parts?&nbsp; What if some parts have these circular references?<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"http:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/jd1.png\"><img decoding=\"async\" src=\"http:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/jd1.png\" alt=\"\" class=\"wp-image-27787\"\/><\/a><\/figure><\/div>\n\n\n\n<p>In SOLIDWORKS 2021, there is now a quick and easy check to see if your models have circular references.&nbsp; Previously, you would need a good understanding on the references in your model, and you\u2019d need to check the External References for each part to see if any those parts have references to other parts within the same assembly that reference the first part that interfere. Now SOLIDWORKS does that work for us!<\/p>\n\n\n\n<p>In your assembly, simply go to your Command Manager, click on the Evaluate tab, then the Performance Evaluation.&nbsp; Alternately, you could use the dropdown menu and go to Tools &gt; Evaluate &gt; Performance Evaluation.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"http:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/jd2.png\"><img decoding=\"async\" src=\"http:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/jd2.png\" alt=\"\" class=\"wp-image-27788\"\/><\/a><\/figure><\/div>\n\n\n\n<p>You will find many useful tools in the Performance Evaluation tool under five headings:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Open Performance<\/li><li>Display Performance<\/li><li>Rebuild Performance<\/li><li>Settings Performance<\/li><li>Statistics<\/li><\/ol>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"http:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/jd3.png\"><img decoding=\"async\" src=\"http:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/jd3.png\" alt=\"\" class=\"wp-image-27790\"\/><\/a><\/figure><\/div>\n\n\n\n<p>Let\u2019s design a very simple box with a lid.&nbsp; The box is designed by drawing a rectangle on the top plane, and then it is extruded and shelled.&nbsp; We add it to an assembly.&nbsp; Then we add a new part in the context of the assembly and call it Box Lid.&nbsp; We design the lid by converting the upper edges of the box, so if the box size changes, the lid also updates and always fits the box.&nbsp; So far, so good.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"http:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/jd4.png\"><img decoding=\"async\" src=\"http:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/jd4.png\" alt=\"\" class=\"wp-image-27785\"\/><\/a><\/figure><\/div>\n\n\n\n<p>Now we decide that part of the design requires a hole in the lid, and a boss will protrude from the box upward and through the hole.&nbsp; So using Top Down Modelling, we edit the lid and add a hole and then edit the box and offset that hole to create a boss within the box.&nbsp; Notice that they both have external references (the -&gt; symbol next to each part).&nbsp; Even though we have external references pointing from the box to the lid, and from the lid to the box, they don\u2019t interfere with each other.&nbsp; If you were to check for circular references, the Performance Evaluation tool would tell you there are none.&nbsp; Again so far, so good.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"http:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/jd5.png\"><img decoding=\"async\" src=\"http:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/jd5.png\" alt=\"\" class=\"wp-image-27786\"\/><\/a><\/figure><\/div>\n\n\n\n<p>But if we created a situation where two references force different results in our model, that would change things.\u00a0 For example, if we (and I know you would never do this, but bear with me here)\u2026 if we edit the sketch plane for the hole and use a face on the box, and edit the sketch plane for the boss and use a face on the lid, well, things kind of blow up (CAD style, of course).\u00a0 When we repeatedly press the rebuild button, the alternate results of the references supersede the other.\u00a0 See the video below.\u00a0 We press rebuild and get one result, then press rebuild again and get another result.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/Circular-reference.mp4\"><\/video><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>As expected we have a circular reference.&nbsp; Open your Performance Evaluation tool to confirm.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"http:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/jd6.png\"><img decoding=\"async\" src=\"http:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/jd6.png\" alt=\"\" class=\"wp-image-27784\"\/><\/a><\/figure><\/div>\n\n\n\n<p>You can then click \u201cShow These Files\u201d to see exactly which features and faces within the files have those circular references.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"http:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/jd7.png\"><img decoding=\"async\" src=\"http:\/\/blogs.solidworks.com\/tech\/wp-content\/uploads\/sites\/4\/jd7.png\" alt=\"\" class=\"wp-image-27789\"\/><\/a><\/figure><\/div>\n\n\n\n<p>This is obviously a very simple example with only two parts.&nbsp; Imagine a large assembly with thousands of parts, hundreds of sub-assemblies, many thousands of mates, dimensions and references, and multiple SOLIDWORKS users designing everything.&nbsp; Everyone has a different style, and it can be hard to track down issues when they arise.<\/p>\n\n\n\n<p>SOLIDWORKS 2021 makes tracking down circular references so much easier.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Originally posted in the <a href=\"https:\/\/blogs.solidworks.com\/tech\/2021\/01\/solidworks-2021-circular-reference-detection.html\" target=\"_blank\" rel=\"noreferrer noopener\">SOLIDWORKS Tech Blog<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Have you ever rebuilt a model repeatedly and it still doesn\u2019t update properly?&nbsp; Or rebuilds alternate between different results? Or the performance if slow?&nbsp; If so, it might have a&hellip; <\/p>\n","protected":false},"author":1,"featured_media":6619,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[25,179],"class_list":["post-6618","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-solidworks","tag-solidworks-2","tag-solidworks-2021"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.solidapps.co.uk\/blog\/wp-json\/wp\/v2\/posts\/6618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.solidapps.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.solidapps.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.solidapps.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.solidapps.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=6618"}],"version-history":[{"count":2,"href":"https:\/\/www.solidapps.co.uk\/blog\/wp-json\/wp\/v2\/posts\/6618\/revisions"}],"predecessor-version":[{"id":6621,"href":"https:\/\/www.solidapps.co.uk\/blog\/wp-json\/wp\/v2\/posts\/6618\/revisions\/6621"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.solidapps.co.uk\/blog\/wp-json\/wp\/v2\/media\/6619"}],"wp:attachment":[{"href":"https:\/\/www.solidapps.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=6618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.solidapps.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=6618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.solidapps.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=6618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}