Explain geometric constraints solver for CAD to a newbie

Click For Summary
A geometric constraint solver in CAD, like D-Cubed 3D DCM, is a numerical method used to solve constraints in assembly models, allowing for accurate positioning and motion simulation of components. It operates on the principle of kinematic pairs, which define how parts move relative to each other, such as the hinge motion of an elbow. This solver can determine positions based on a series of equations, which is more effective for complex geometries than a simple object-oriented API. While some argue that using a constraint solver may seem excessive for basic problems, it provides essential functionality for understanding the range of motion and interactions in mechanical designs. Overall, the constraint solver enhances the capability of CAD systems to manage complex geometric relationships.
cave_cat
Messages
40
Reaction score
0
I have seen the following said on a forum:
suppose I've got a triangle-shaped part, and stick the flat side of it on a square part. What's the distance from the tip of triangle to the opposite flat side of the square? OpenSCAD knows, in some sense, because it drew it. But inside my OpenSCAD script, I don't, and I have to calculate the geometry in my code.
This makes good sense to me. To me, as a programmer, this sounds like he is asking for a better API to look up the coordinate at runtime; perhaps that would force the engine to evaluate expressions in a particular order, but then that's what functional programming is all about. But, in reply people talked about "constraints solver" for this purpose, e.g.:
This is usually done by a constraint solver. The most popular one in the industry is D-Cubed 3D DCM by Siemens.
Can somebody give a simple, toy example based explanation of what this "constraint solver" is about and how it is better than using a better object oriented API to access info about rendered 3d components?
 
Engineering news on Phys.org
cave_cat said:
Can somebody give a simple, toy example based explanation of what this "constraint solver" is about

What[/PLAIN] is a constraint solver

cave_cat said:
how it is better than using a better object oriented API to access info about rendered 3d components?

http://www.plm.automation.siemens.com/en_us/products/open/d-cubed/animations/3ddcm/video_3d_spline_constraints.shtml
http://www.plm.automation.siemens.com/en_us/products/open/d-cubed/animations/3ddcm/video_3d_support_cones_tori.shtml

But if it is only for the simple problem presented in the OP, it is like using a 1000 hp engine in a scooter.
 
Last edited by a moderator:
jack action, thank you for the examples. I guess I still don't fully see the "constraint" aspect in them -- these look to me more like propagation of variable change in a functional program. But, for one thing, maybe that's just what they call it in the CAD space, i.e. "constraints" instead of "functional"; and for another, maybe some of this stuff really does go beyond what is normally doable with functional programming and I am simply too clueless in geometry to appreciate that.
 
My master's thesis was on CAD software design, so I understand your frustration with CAD APIs in general. The "constraint solver" is simply a numerical method that solves a series of constraints in a CAD assembly model. For example, the human elbow is constrained to a hinge-type motion but only for a certain range of angles. If you were to model the bones in the arm, you would have to constrain the motion of the humerus and the radius/ulna to rotate about the elbow in one axis and only in a certain range. To do that, they create a system of equations and solve it to get the positions of the bones. This helps when trying to flesh out a design for a machine to know what the range of motions are of the parts in the assembly.

The constraint solver is basically a class that uses numerical methods, so you get into the classic problem of properly integrating OOP into scientific computing. I haven't used OpenSCAD, so I don't know about how the API is, but I know that for other CAD systems such as Siemens NX, Dassault Systemes CATIA, and PTC Creo, they're horrible to work with. Those were designed a long time ago and they are often unintuitive and hard to work with.
 
Had my central air system checked when it sortta wasn't working. I guess I hadn't replaced the filter. Guy suggested I might want to get a UV filter accessory. He said it would "kill bugs and particulates". I know UV can kill the former, not sure how he thinks it's gonna murder the latter. Now I'm finding out there's more than one type of UV filter: one for the air flow and one for the coil. He was suggesting we might get one for the air flow, but now we'll have to change the bulb...

Similar threads

  • · Replies 0 ·
Replies
0
Views
4K
Replies
9
Views
6K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 22 ·
Replies
22
Views
3K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 35 ·
2
Replies
35
Views
10K
  • · Replies 14 ·
Replies
14
Views
4K
  • · Replies 25 ·
Replies
25
Views
6K