How various CAD programs create relations among objects?

In summary: D design software programs. This lets the user create a model of the product and then change the parameters of the objects as they design it.In summary, a variety of CAD programs allow the user to create relationships among objects and to then adjust the parameters of those objects automatically.
  • #1
Stephen Tashi
Science Advisor
7,861
1,598
I'd like a comparison of how various CAD programs handle the task of creating relationships among objects that have been created independently and where the uses wants to change some parameters of one object and have the program adjust the parameters of the others automatically.

I'm interested in the variety of program interfaces - how the process "looks to the program user", not the underlying mathematics of the code that implements it.

For example, suppose I've created 4 rectangular solids that represent legs of a table. How would various CAD programs handle the task of establishing typical relations among the legs. For example, I might want the distance between the left front leg and the left rear leg to be the same as the distance between the right front leg and the right rear leg. I might want all the legs to have the same dimensions etc.

Establishing relations among independently created objects and then updating them when the user edits some parameter seems to be a complicated mathematical problem. Users might attempt to establish a set of relations that is self-contradictory. But I'd think that the task is so important that CAD programs would have discovered an efficient way of doing it.

My one data point is from the FreeCAD forum. The suggestion was to use "expressions". i haven't tried it yet, but I think it involves creating something like a spreadsheet whose cells have data for the objects. In a typical spreadsheet program, one "cell" in the sheet can be defined as a function of other cells.

Is that way things are done in other CAD programs?

(In my example, one could create a rectangular sold and then create the 4 posts in a dependent fashion by subtracting volumes from it, but I'm not sure this would allow the dimensions of the posts to be adjusted indepndently of the spacing between them - and my question still stands because surely other situations will arise when objects have been created independently before the designer considers how to assemble something from them.)
 
Engineering news on Phys.org
  • #2
https://en.wikipedia.org/wiki/Database_schema

Fundamental relationships are determined by the value proposition of the tool and on top of that there will often be hooks to enable a user to expand on the 'baked in' relationships. There is not a single answer to your question. A great CAD tool design will anticipate what relationships matter to users of its target market and make those manipulations natural in the tool interface / data relations. Your question can sort of be re-stated to be "How does one design a really useable CAD tool?"
 
  • #3
Grinkle said:
There is not a single answer to your question.

Yes. So my question requests examples of how different CAD programs create constraints.
 
  • #4
The constraints (object relationships) are embedded in the internal schema of the tool. A developer decides that a user must input a length and a width to define a rectangle, for instance, and perhaps a thickness and a density. These properties would be 'hard coded' into the internal tool database implementation. From here, the developer can code algorithms to detect when two such objects interfere with each other and how much they weigh etc. These would also be hard coded into the tool database implementation. The constraint is a coded rule that operates on the defined properties of the objects in the database.

Additional relationships that can be added by a user are made possible by giving the user access to the data object via some programming language. A common one to use for EDA tools is TCL. Users can typically add their own properties to the hard coded objects. A user might add a property called "color" to the above rectangle, and the user can do their own searches through the database and take some actions when the search returns objects of a certain color.

https://en.wikipedia.org/wiki/Tcl

I am not sure if I am understanding your question.
 
  • #5
Grinkle said:
Additional relationships that can be added by a user are made possible by giving the user access to the data object via some programming language.

I am not sure if I am understanding your question.

My question concerns the user interface for adding constraints, not the underlying data structure and query language used by the program.

For example, if you have various objects representing boards, how does the user put them together to make a product and still allow himself freedom to change some parameters of the objects ? ( I suppose this is called the "assembly function". ) I myself would be pleased with a CAD program where a user can specify a product by writing computer code for it, but I'd think that most CAD programs would provide other ways of assembling things.
 
Last edited:

1. How do CAD programs create relationships among objects?

CAD programs use a variety of techniques to create relationships among objects. These can include geometric constraints, parametric modeling, and assembly constraints.

2. What is the difference between geometric constraints and parametric modeling?

Geometric constraints are used to define the size, position, and orientation of objects in a CAD model. Parametric modeling takes this a step further by allowing the user to define mathematical relationships between objects, allowing for more complex and dynamic designs.

3. Can relationships among objects be edited or changed in CAD programs?

Yes, relationships among objects can be edited and changed in CAD programs. This is one of the key advantages of using CAD over traditional drafting methods, as it allows for quicker and easier modifications to a design.

4. How do CAD programs handle assembly constraints?

CAD programs use assembly constraints to define how multiple parts fit together in a design. These can include mate, flush, and align constraints, among others.

5. Are there any limitations to the relationships that can be created among objects in CAD programs?

While CAD programs offer a wide range of tools for creating relationships among objects, there are still some limitations. For example, certain shapes or designs may not be able to be created using certain types of constraints or modeling techniques.

Similar threads

  • Programming and Computer Science
Replies
3
Views
1K
  • General Engineering
Replies
17
Views
2K
Replies
2
Views
767
  • STEM Academic Advising
Replies
13
Views
2K
  • Mechanical Engineering
Replies
26
Views
2K
  • Programming and Computer Science
Replies
2
Views
2K
  • Set Theory, Logic, Probability, Statistics
Replies
18
Views
2K
  • Programming and Computer Science
Replies
29
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
3
Views
2K
Replies
10
Views
2K
Back
Top