The objects, results, or end products generated from constraint-based modeling software are derived from the dimensions and constraints that define the geometry of their features.

Whenever a modification or change has to be made, the modified or new part is re-created from the original part which is based on the original definitions.

Constraint-based modeling is also called *feature-based modeling *because its individual models consist of combinations of features.

The constraint model is made up of individual features and their relationships with other features, defined by dimensions and constraints.

Each feature (which is defined by specific properties) is a basic piece of a constraint-based solid model. To create a feature, you have to specify the geometric constraints that apply to it; then specify the size parameters and use them to generate the feature.

If a component, part, or element of the feature is modified or changed, the modeling software can be used to regenerate the modified feature in accordance with the constraints that define or are assigned to it.

Apart from defining relationships between features, constraint-based modeling software can be used to apply constraints and parameters across parts in an assembly or assembled structure (such as a group of machine parts that fit together to form a self-contained unit). As a result, when a part is changed, any related parts in the assembly can also be updated.

Because constraint-based modeling software can regenerate features and parts from the relationships stored in its database, the planning aspect of constraint-based relationships is crucial to generating useful and efficient constraint-based models that clearly reflect the design intent of products, parts, or objects.

**Advantages of constraint-based model/modeling**

- During the evolution of designs, constraint-based models can be easily updated by altering the relationships and sizes that define them, respectively.
- Categories of designs can be created because of the ease with which constraint-based models can be updated; also, it is possible to analyze, make changes, reanalyze, and make changes to the model again and again.
- Constraint-based model makes it easy to update related parts to a new size after dimensions are changed.
- Constraint-based model analyzes mass properties such as the weight and volume data during design so that the resulting structure behaves in the desired way.
- Constraint-based model enhances the amount of time that can be used to optimize a design; this is possible because the model makes it possible for analysis to be incorporated earlier in the design process.
- By focusing on the design intent for any product, constraint-based modeling helps modelers to be more imaginative, carefully consider or reconsider the function and purpose of the item being designed, and improve designs—thereby even resulting in better designs.

**Types of constraints used to define and drive the constraint-based model geometry**

Each object or product in a constraint-based model is defined by the constraints or dimensions/sizes and geometric relationships stored in the model and used to produce the object or product. Two basic types of constraints are used to define and drive the constraint-based model geometry:

**Size constraints**are the dimensions that define the model or its geometry. The type of dimensions chosen and how they are placed, respectively, are important aspects of capturing the design intent behind a model.**Geometric constraints**determine the limits and maintain the geometric properties of a product or object, such as circularity, tangency, horizontality, verticality, etc. These geometric constraints are equally important in capturing design intent.

In constraint-based modeling, the term *parameter* refers to a named quantity that has a value that can be changed; just like a variable, it can be used to define other parameters.

However, unlike a variable, a parameter is not abstract—implying that it will always have or be assigned a value to represent a model.

For instance, the parameter called *length* can be assigned and defined by a value, such as 20. (*Width* is also a dimension but a different type of parameter.) On the other hand, the same *length* can be defined as having a value that is two times the *width* of the same object: the size or dimension of the *length* can be defined as: “2 × *width*”—meaning that, instead of assigned, the *length* parameter can be calculated using the *width*. In that case, if the value of the *width* is changed, the length would be automatically updated to the new value of “2 × *width*”.

The parameters that define and drive the object or model geometry are indicated on reproduced drawings. If the parameter value for the breadth, width, or length of a part of an object is changed, the whole object would be updated automatically.

It is important to note that the dimensions (used to define individual features) in a constraint-based model can behave in different ways. A dimension can be:

**A parameter:**this aspect is used in equations that “drive” the size of a model feature.**A reference dimension (often called driven dimension):**this aspect derives its value from the model geometry; however, it is not a size constraint for the model.**A size constraint (often called driving dimension):**this aspect of the model feature can be updated when the dimension is altered or modified.**A dimension:**generally, this aspect is just any text whose value either has or does not have a relationship with the model geometry, regardless of whether or not it is included on a drawing or model view.- A combination of all the above.

Driving dimensions help to moderate the size of a feature element in the constraint-based model for an object or idea. Each driving dimension has two parts: a numerical value and a name. Each name makes it possible for the dimension it represents to be used in equations or relationships that define different parts of the model geometry. The numerical value, on the other hand, can be derived from an equation or represented by a number that defines the dimension.

Constraint-based modeling software lets users switch their display between the named and numeric dimensions in their respective models.

Like the geometric constraints used in constraint-based modeling, the size parameters can also establish relationships between features of the model component in formulas.

The operators used in the equations that express constraint-based dimensions are similar to those used in a spreadsheet or other types of programming notation.

In fact, many modelers have made it easy for users to import and export dimensions or numeric values from a completely different application; for instance, a spreadsheet.

When handling information from other applications, it is possible to use complex formulas to calculate the sizes in the other program; thereafter, the obtained results or values can then be imported back into the modeling package which, like others, has its own syntax and notation.