{"id":1050,"date":"2022-08-02T09:31:54","date_gmt":"2022-08-02T13:31:54","guid":{"rendered":"https:\/\/blogs.sw.siemens.com\/plm-components\/?p=1050"},"modified":"2026-03-26T08:03:54","modified_gmt":"2026-03-26T12:03:54","slug":"geometric-constraint-solving-1-introduction","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/plm-components\/geometric-constraint-solving-1-introduction\/","title":{"rendered":"Geometric Constraint Solving: introduction"},"content":{"rendered":"\n<h2 class=\"wp-block-heading has-cyan-color has-text-color\">Organizing shapes in 2D designs and 3D models<\/h2>\n\n\n\n<p><strong>Geometric Constraint Solving<\/strong> has been a hugely successful approach for organizing shapes and structures in space in the digital world. It\u2019s fundamental to modern design applications and is widely used to make 2D sketching and 3D modeling more intuitive and practical for designers.<\/p>\n\n\n\n<p>Geometric Constraint Solving is, however, <em>very difficult<\/em> \u2013 we\u2019re still making enhancements to our own technology after 30 years. Fortunately for users of design software, all of the complex math problems are solved under the hood.&nbsp;<\/p>\n\n\n\n<p>In this article, we\u2019ll introduce the fundamental concepts for organizing shapes and structures in design applications, and review where geometric constraint solving is used. <\/p>\n\n\n\n<p>Let\u2019s begin by defining a few terms:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-white-color has-cyan-background-color has-text-color has-background\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"><strong>Term<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>Description<\/strong><\/th><th class=\"has-text-align-left\" data-align=\"left\"><strong>Examples<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>geometric entity<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Basic building block in a 2D sketch, or a 3D model<\/td><td class=\"has-text-align-left\" data-align=\"left\">point, line, circle, ellipse, cylinder, sphere, torus, \u2026<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>dimension<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Measured quantity assigned to a geometric entity, or between geometric entities<\/td><td class=\"has-text-align-left\" data-align=\"left\">radius, distance, angle, \u2026<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>constraint<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Logical rule (yes\/no) that is assigned between geometric entities<\/td><td class=\"has-text-align-left\" data-align=\"left\">tangent, perpendicular, symmetric, pattern, &#8230;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h2 class=\"wp-block-heading has-cyan-color has-text-color\">What is geometric constraint solving?<\/h2>\n\n\n\n<p>Following from the definitions above, Geometric constraint solving enables designers to create and modify a 2D sketch, or a 3D model, in such a way that it should satisfy any <strong>dimensions<\/strong> and <strong>constraints<\/strong> that the user has assigned to the constituent <strong>geometric entities<\/strong>.<\/p>\n\n\n\n<p>As a result, geometric constraint solving offers the following key benefits:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Designs can be specified with a very high degree of accuracy, limited only by the resolution of the host computer. <\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Design variations can be explored easily. For example, by modifying particular dimension values, or by moving geometric entities. Satisfying all other dimensions and constraints simultaneously ensures that the <em>design intent <\/em>is preserved. <\/li>\n<\/ul>\n\n\n\n<p><em>In the figure opposite, the value of a distance dimension is being modified to drive a rapid design change in the 3D model.<\/em><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"465\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/10\/2022\/07\/geometric-constraint-solving-inrto-coffee-pot.png\" alt=\"geometric constraint solving to design a coffee pot\" class=\"wp-image-1053\"\/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading has-cyan-color has-text-color\">Where is geometric constraint solving used?<\/h2>\n\n\n\n<p>The key benefits of geometric constraint solving are mostly realized in Computer-Aided Design (CAD) software across all sorts of industries: automotive, aerospace, consumer products, architecture, etc. This is because the technology is well-established in improving productivity in the design process. &nbsp;CAD software vendors who license our D-Cubed geometric constraint solvers include Autodesk, DataSolid, Fujitsu, IronCAD, ISD, Onshape, PTC, Top Systems and ZWCAD.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"451\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/10\/2022\/07\/geometric-constraint-solving-intro-CAD-sketch.png\" alt=\"geometric constraint solving in a CAD sketch\" class=\"wp-image-1063\"\/><\/figure><\/div>\n\n\n<p class=\"has-text-align-center has-gray-color has-text-color\"><em>Dimensions and constraints capture the design intent accurately in a CAD sketch<\/em> in Shapr3D. Read the full case study <a href=\"https:\/\/www.plm.automation.siemens.com\/global\/en\/our-story\/customers\/shapr3d\/64918\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<p>In Computer-Aided Engineering (CAE), product designs can be systematically modified using geometric constraint solving to iterate variable dimension values, simulate the resulting geometry and target the optimal part shape. CAE software vendors who license our geometric constraint solvers include Altair, ANSYS, Autodesk, AVL, COMSOL, ESI , MSC.Software and Remcom.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"273\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/10\/2022\/07\/geometric-constraint-solving-intro-CAE.png\" alt=\"geometric constraint solving intro - CAE\" class=\"wp-image-1065\"\/><\/figure><\/div>\n\n\n<p class=\"has-text-align-center has-gray-color has-text-color\"><em>Parametric optimization of fluid flow in a part using COMSOL software; design variations are explored using the D-Cubed 2D geometric constraint solver<\/em>. Read the full case study <a href=\"https:\/\/www.plm.automation.siemens.com\/global\/en\/our-story\/customers\/comsol\/82729\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<p>Computer-Aided Manufacturing (CAM) software also adopts geometric constraint solving. In doing so, manufacturing experts can make design tweaks that support optimal manufacturing processes while paying attention to the original design intent. CAM software vendors who license D-Cubed geometric constraint solvers include Autodesk, Euklid CAD\/CAM and Vero Software.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"691\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/10\/2022\/07\/geometric-constraint-solving-intro-CAM2-1024x691.png\" alt=\"geometric constraint solving in CAM\" class=\"wp-image-1068\" style=\"width:512px;height:346px\" srcset=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/10\/2022\/07\/geometric-constraint-solving-intro-CAM2-1024x691.png 1024w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/10\/2022\/07\/geometric-constraint-solving-intro-CAM2-600x405.png 600w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/10\/2022\/07\/geometric-constraint-solving-intro-CAM2-768x518.png 768w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/10\/2022\/07\/geometric-constraint-solving-intro-CAM2-900x608.png 900w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/10\/2022\/07\/geometric-constraint-solving-intro-CAM2.png 1197w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p class=\"has-text-align-center has-gray-color has-text-color\"><em>3D geometric constraint solving can be used to position parts in a manufacturing mold<\/em><\/p>\n\n\n\n<p>In Architecture, Engineering and Construction, geometric constraint solving may be used to manage parametric floor plans, or the relative positions of architectural features in a building. AEC software vendors who license D-Cubed geometric constraint solvers include Autodesk, Bentley and Nemetschek Vectorworks.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"353\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/10\/2022\/07\/geometric-constraint-solving-intro-AEC.png\" alt=\"geometric constraint solving in AEC\" class=\"wp-image-1066\"\/><\/figure><\/div>\n\n\n<p class=\"has-text-align-center has-gray-color has-text-color\"><em>2D geometric constraint solving for positioning walls in an architectural floor plan<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-cyan-color has-text-color\">Solving a complex problem universally<\/h2>\n\n\n\n<p>If geometric constraint solving is so difficult, how has the solution become so universal? The evolution of history-based modeling offers part of the explanation. By the mid-1980s, several major mechanical Computer-Aided Design applications were adopting <em>history-based modeling<\/em> in which 3D models are defined by a sequence of operations. For example, a very simple 3D model might be defined with the following steps:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a closed 2d sketch with dimensions and constraints that define its shape<\/li>\n\n\n\n<li>Extrude the sketch by distance x into a 3-dimensional solid<\/li>\n\n\n\n<li>Sweep a hole through the 3D solid<\/li>\n\n\n\n<li>Create a cylinder that is concentric with the hole to represent a shaft<\/li>\n<\/ul>\n\n\n\n<p>The model would be stored as a series of operations and associated parameters (dimensions and\/or constraints) which could be replayed to reconstruct the model unambiguously in a new modeling session. The parameters could also be modified to rebuild new design variations.<\/p>\n\n\n\n<p>Geometric constraint solvers offered the solution for solving parameters in history-based modeling which comprised dimensions and constraints \u2013 either in a 2D sketch, or between 3D parts.<\/p>\n\n\n\n<p>By the end of the 1980s, &nbsp;the private company <em>D-Cubed<\/em> was established by Dr John Owen in Cambridge, UK to focus exclusively on the geometric constraint solving problem. The company\u2019s solutions, <em>D-Cubed 2D DCM<\/em> and <em>3D DCM<sup>1<\/sup><\/em>, were packaged as software components for geometric constraint solving in 2D and 3D respectively that could be licensed by any software vendor. Many vendors in CAD, AEC, CAM, CAE chose to eliminate the risk and cost of developing their own solvers by adopting the D-Cubed components. The D-Cubed software team and their technologies were ultimately acquired by Siemens Digital Industries Software, who continue to make the geometric constraint solving components openly available to other software vendors.<\/p>\n\n\n\n<p>In addition to 2D sketching and 3D part positioning, new applications have emerged for solving geometric constraints, including direct 3D part shape modification and parametric 3D routing. <\/p>\n\n\n\n<h2 class=\"wp-block-heading has-cyan-color has-text-color\">In conclusion<\/h2>\n\n\n\n<p>Geometric constraint solving has been integral to applications across design, simulation and manufacturing over the past 30+ years to bring significant productivity advantages. Many of the leading applications in these domains use D-Cubed geometric constraint solvers.  <\/p>\n\n\n\n<h2 class=\"wp-block-heading has-cyan-color has-text-color\">Further information<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.plm.automation.siemens.com\/global\/en\/products\/plm-components\/d-cubed.html\" target=\"_blank\" rel=\"noreferrer noopener\">D-Cubed product website<\/a><\/p>\n\n\n\n<p>Footnote<\/p>\n\n\n\n<p><sup>1<\/sup> DCM is an abbreviation of <em>Dimensional Constraint Manager<\/em>. A <em>dimensional constraint<\/em> is a rule pertaining to the size and\/or shape of a design. Distances and angles are examples of dimensional constraints.&nbsp; In the 2D DCM and 3D DCM product names, the prefixes <em>2D<\/em> and <em>3D<\/em> are referring to the number of dimensions of mathematical space in which <em>dimensional constraints<\/em> are being <em>managed<\/em> (solved). <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Organizing shapes in 2D designs and 3D models Geometric Constraint Solving has been a hugely successful approach for organizing shapes&#8230;<\/p>\n","protected":false},"author":49853,"featured_media":1220,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spanish_translation":"","french_translation":"","german_translation":"","italian_translation":"","polish_translation":"","japanese_translation":"","chinese_translation":"","footnotes":""},"categories":[1],"tags":[],"industry":[83],"product":[246],"coauthors":[409],"class_list":["post-1050","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","industry-software-development","product-plm-open"],"featured_image_url":"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/10\/2022\/08\/geometric-constraint-solving-main-image-2.png","_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/plm-components\/wp-json\/wp\/v2\/posts\/1050","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sw.siemens.com\/plm-components\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sw.siemens.com\/plm-components\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/plm-components\/wp-json\/wp\/v2\/users\/49853"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/plm-components\/wp-json\/wp\/v2\/comments?post=1050"}],"version-history":[{"count":5,"href":"https:\/\/blogs.sw.siemens.com\/plm-components\/wp-json\/wp\/v2\/posts\/1050\/revisions"}],"predecessor-version":[{"id":1618,"href":"https:\/\/blogs.sw.siemens.com\/plm-components\/wp-json\/wp\/v2\/posts\/1050\/revisions\/1618"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/plm-components\/wp-json\/wp\/v2\/media\/1220"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/plm-components\/wp-json\/wp\/v2\/media?parent=1050"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/plm-components\/wp-json\/wp\/v2\/categories?post=1050"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/plm-components\/wp-json\/wp\/v2\/tags?post=1050"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/plm-components\/wp-json\/wp\/v2\/industry?post=1050"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/plm-components\/wp-json\/wp\/v2\/product?post=1050"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/plm-components\/wp-json\/wp\/v2\/coauthors?post=1050"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}