Explain geometric constraints solver for CAD to a newbie

AI Thread 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.
 
I need some assistance with calculating hp requirements for moving a load. - The 4000lb load is resting on ball bearing rails so friction is effectively zero and will be covered by my added power contingencies. Load: 4000lbs Distance to travel: 10 meters. Time to Travel: 7.5 seconds Need to accelerate the load from a stop to a nominal speed then decelerate coming to a stop. My power delivery method will be a gearmotor driving a gear rack. - I suspect the pinion gear to be about 3-4in in...
Thread 'Calculate minimum RPM to self-balance a CMG on two legs'
Here is a photo of a rough drawing of my apparatus that I have built many times and works. I would like to have a formula to give me the RPM necessary for the gyroscope to balance itself on the two legs (screws). I asked Claude to give me a formula and it gave me the following: Let me calculate the required RPM foreffective stabilization. I'll use the principles of gyroscopicprecession and the moment of inertia. First, let's calculate the keyparameters: 1. Moment of inertia of...
Thread 'Turbocharging carbureted petrol 2 stroke engines'
Hi everyone, online I ve seen some images about 2 stroke carbureted turbo (motorcycle derivation engine). Now.. In the past in this forum some members spoke about turbocharging 2 stroke but not in sufficient detail. The intake and the exhaust are open at the same time and there are no valves like a 4 stroke. But if you search online you can find carbureted 2stroke turbo sled or the Am6 turbo. The question is: Is really possible turbocharge a 2 stroke carburated(NOT EFI)petrol engine and...

Similar threads

Back
Top