{"id":27791,"date":"2021-01-12T11:00:13","date_gmt":"2021-01-12T16:00:13","guid":{"rendered":"https:\/\/blogs.solidworks.com\/tech\/?p=27791"},"modified":"2020-12-17T10:04:09","modified_gmt":"2020-12-17T15:04:09","slug":"solidworks-2021-circular-reference-detection","status":"publish","type":"post","link":"https:\/\/blogs.solidworks.com\/tech\/2021\/01\/solidworks-2021-circular-reference-detection.html","title":{"rendered":"SOLIDWORKS 2021: Circular Reference Detection"},"content":{"rendered":"<p dir=\"ltr\">Have you ever rebuilt a model repeatedly and it still doesn\u2019t update properly?\u00a0 Or rebuilds alternate between different results? Or the performance if slow?\u00a0 If so, it might have a circular reference.\u00a0 A circular reference happens when the dimensions or relations in a part reference another part, and that second part also references the first part.\u00a0 This phenomenon can happen when using \u201cTop Down Modelling\u201d which means parts are designed using the geometry of other parts, to ensure fit.\u00a0 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.\u00a0 But what if you didn\u2019t use just one part to drive all the other parts?\u00a0 What if some parts have these circular references?<\/p>\n<p><a href=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-27787 aligncenter\" src=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd1.png\" alt=\"\" width=\"447\" height=\"506\" srcset=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd1.png 447w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd1-265x300.png 265w\" sizes=\"auto, (max-width: 447px) 100vw, 447px\" \/><\/a><\/p>\n<p>In SOLIDWORKS 2021, there is now a quick and easy check to see if your models have circular references.\u00a0 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<p dir=\"ltr\">In your assembly, simply go to your Command Manager, click on the Evaluate tab, then the Performance Evaluation.\u00a0 Alternately, you could use the dropdown menu and go to Tools &gt; Evaluate &gt; Performance Evaluation.<\/p>\n<p><a href=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27788\" src=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd2.png\" alt=\"\" width=\"878\" height=\"148\" srcset=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd2.png 878w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd2-300x51.png 300w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd2-615x104.png 615w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd2-768x129.png 768w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd2-728x123.png 728w\" sizes=\"auto, (max-width: 878px) 100vw, 878px\" \/><\/a><\/p>\n<p dir=\"ltr\">You will find many useful tools in the Performance Evaluation tool under five headings:<\/p>\n<ol>\n<li dir=\"ltr\">\n<p dir=\"ltr\">Open Performance<\/p>\n<\/li>\n<li dir=\"ltr\">\n<p dir=\"ltr\">Display Performance<\/p>\n<\/li>\n<li dir=\"ltr\">\n<p dir=\"ltr\">Rebuild Performance<\/p>\n<\/li>\n<li dir=\"ltr\">\n<p dir=\"ltr\">Settings Performance<\/p>\n<\/li>\n<li dir=\"ltr\">\n<p dir=\"ltr\">Statistics<\/p>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p dir=\"ltr\"><a href=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27790\" src=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd3.png\" alt=\"\" width=\"605\" height=\"543\" srcset=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd3.png 605w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd3-300x269.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/a><\/p>\n<p dir=\"ltr\">Let\u2019s design a very simple box with a lid.\u00a0 The box is designed by drawing a rectangle on the top plane, and then it is extruded and shelled.\u00a0 We add it to an assembly.\u00a0 Then we add a new part in the context of the assembly and call it Box Lid.\u00a0 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.\u00a0 So far, so good.<\/p>\n<p dir=\"ltr\"><a href=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27785\" src=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd4.png\" alt=\"\" width=\"1261\" height=\"564\" srcset=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd4.png 1261w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd4-300x134.png 300w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd4-615x275.png 615w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd4-768x343.png 768w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd4-728x326.png 728w\" sizes=\"auto, (max-width: 1261px) 100vw, 1261px\" \/><\/a><\/p>\n<p dir=\"ltr\">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.\u00a0 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.\u00a0 Notice that they both have external references (the -&gt; symbol next to each part).\u00a0 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.\u00a0 If you were to check for circular references, the Performance Evaluation tool would tell you there are none.\u00a0 Again so far, so good.<\/p>\n<p><a href=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27786\" src=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd5.png\" alt=\"\" width=\"1196\" height=\"658\" srcset=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd5.png 1196w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd5-300x165.png 300w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd5-615x338.png 615w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd5-768x423.png 768w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd5-728x401.png 728w\" sizes=\"auto, (max-width: 1196px) 100vw, 1196px\" \/><\/a><\/p>\n<p dir=\"ltr\">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<p>&nbsp;<\/p>\n<div style=\"width: 1140px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-27791-1\" width=\"1140\" height=\"648\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/Circular-reference.mp4?_=1\" \/><a href=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/Circular-reference.mp4\">https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/Circular-reference.mp4<\/a><\/video><\/div>\n<p>&nbsp;<\/p>\n<p dir=\"ltr\">As expected we have a circular reference.\u00a0 Open your Performance Evaluation tool to confirm.<\/p>\n<p dir=\"ltr\"><a href=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27784\" src=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd6.png\" alt=\"\" width=\"605\" height=\"543\" srcset=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd6.png 605w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd6-300x269.png 300w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/a><\/p>\n<p dir=\"ltr\">You can then click \u201cShow These Files\u201d to see exactly which features and faces within the files have those circular references.<\/p>\n<p><a href=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27789\" src=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd7.png\" alt=\"\" width=\"751\" height=\"325\" srcset=\"https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd7.png 751w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd7-300x130.png 300w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd7-615x266.png 615w, https:\/\/blog-assets.solidworks.com\/uploads\/sites\/4\/jd7-728x315.png 728w\" sizes=\"auto, (max-width: 751px) 100vw, 751px\" \/><\/a><\/p>\n<p dir=\"ltr\">This is obviously a very simple example with only two parts.\u00a0 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.\u00a0 Everyone has a different style, and it can be hard to track down issues when they arise.<\/p>\n<p dir=\"ltr\">SOLIDWORKS 2021 makes tracking down circular references so much easier. Take a look at What&#8217;s New in SOLIDWORKS 2021 by <a href=\"https:\/\/www.solidworks.com\/product\/whats-new\">clicking here!<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Have you ever rebuilt a model repeatedly and it still doesn\u2019t update properly?\u00a0 Or rebuilds alternate between different results? Or the performance if slow?\u00a0 If so, it might have a circular reference.\u00a0 A circular reference happens when the dimensions or<\/p>\n... <a href=\"https:\/\/blogs.solidworks.com\/tech\/2021\/01\/solidworks-2021-circular-reference-detection.html\">Continued<\/a>","protected":false},"author":453,"featured_media":27786,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2823,35],"tags":[2843,2832],"class_list":["post-27791","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-solidworks-2021","category-tips-tricks","tag-circular-reference-detection","tag-solidworks-2021"],"acf":[],"_links":{"self":[{"href":"https:\/\/blogs.solidworks.com\/tech\/wp-json\/wp\/v2\/posts\/27791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.solidworks.com\/tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.solidworks.com\/tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.solidworks.com\/tech\/wp-json\/wp\/v2\/users\/453"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.solidworks.com\/tech\/wp-json\/wp\/v2\/comments?post=27791"}],"version-history":[{"count":1,"href":"https:\/\/blogs.solidworks.com\/tech\/wp-json\/wp\/v2\/posts\/27791\/revisions"}],"predecessor-version":[{"id":27792,"href":"https:\/\/blogs.solidworks.com\/tech\/wp-json\/wp\/v2\/posts\/27791\/revisions\/27792"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.solidworks.com\/tech\/wp-json\/wp\/v2\/media\/27786"}],"wp:attachment":[{"href":"https:\/\/blogs.solidworks.com\/tech\/wp-json\/wp\/v2\/media?parent=27791"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.solidworks.com\/tech\/wp-json\/wp\/v2\/categories?post=27791"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.solidworks.com\/tech\/wp-json\/wp\/v2\/tags?post=27791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}