The DCM’s core technology is the basis for the capabilities that it brings to an application.

The
basic task of the DCM is to position geometries variationally,* i.e. *without
use of a design history, under the control of dimensions and constraints. Such
a variational model can be expressed as a number of coupled simultaneous
equations. The DCM determines the positions of the geometries by solving the
simultaneous equations. The positions of the geometries are the unknown
variables in the equations, for which the DCM provides a solution. The
dimensions and constraints are the constants.

Most of the equations that arise from a variational model are coupled linear or quadratic polynomials. D-Cubed has developed original techniques to process these simultaneous equations into an optimal solution sequence, following which they can be solved using algebraic methods. Algebraic methods make use of the usual mathematical operations ( +, -, x, / ) and also square roots. They are thus fast, reliable, accurate and simple. D-Cubed’s expertise in algebraic solution sequence processing is one of the foundations of the unique value of the DCM technology.

A common approach in non-DCM based systems is to solve the simultaneous equations using iterative numerical techniques. However, numerical techniques have several fundamental disadvantages. The DCM’s advanced algebraic algorithms were developed in order to minimise its use of numerical techniques. The priority we give to algebraic techniques is the basis for the DCM’s speed, reliability, accuracy and ease-of-use relative to numerically based solving technologies.

Not all variational equations can be solved algebraically. They must therefore be solved numerically. In the DCM the use of numerical techniques is restricted only to those regions of the model for which they are absolutely essential. In selectively combining an algebraic approach with some use of numerical techniques, the DCM is optimised for speed, reliability, accuracy and ease-of-use without sacrificing versatility.

**The differences between the 2D and
3D DCM**

It is a common misconception that the 2D DCM is a sub-set of the 3D DCM. In fact, they address different, but complementary, functional requirements. An application could make use of either the 2D DCM or 3D DCM alone, or both systems together, depending on its variational requirements.

The 2D DCM is optimised for 2D modelling requirements, where it provides more extensive functionality than the 3D DCM. The 2D DCM solves dimensions and constraints using a 2D interpretation of geometries which lie on a common plane. This plane could lie on a 3D model, but one instance of the 2D DCM can only operate on geometry lying on a single plane. Multiple instances of the 2D DCM can work on multiple 2D work-planes in a 3D model, but the solutions on each work-plane are still being calculated in 2D.

The
3D DCM is used when there is a requirement for genuinely 3D variational
solving. The 3D DCM solves dimensions and constraints with a 3D interpretation
applied to geometry which does not have to lie on a common plane. The 3D DCM’s
capability to solve *truly three dimensional* variational models
is very important and reflects its advanced capabilities.

The 2D DCM is typically used for 2D CAD and drafting. It is also used for sketching the 2D variational profiles that are extensively used in 3D parametric, history based, solid modelling systems. The 2D profiles indirectly contribute to the shape of the 3D model via the design history.

By comparison, the 3D DCM is used for the direct control of the shape of 3D models, the 3D positioning of parts in an assembly, and for simulating the motion of 3D mechanisms.

**Specification**

In brief, the DCM specification is as follows:

- Support for a wide range of geometries, dimensions and constraints.
- An integration architecture that is compatible with all proprietary geometric/solids data structures, and all solid modelling components.
- The ability to solve a very wide range of models using a combination of the most appropriate algebraic or numerical algorithms.
- Fast performance that is a linear function of increasing model size.
- Precise solution algorithms suitable for use with the most accurate of solid modelling systems.
- Full support for underconstrained and overconstrained designs.
- Precise information available about the state of each element in the model.
- Solution
stability,
*i.e.*the ability to select and maintain the appropriate solution out of the large range of possibilities.

The evaluation of a model by the DCM is a two stage process:

- The current arrangement of the geometries and their dimensioning scheme is analysed and a solution method is calculated.
- The solution method found in the first stage is used to compute the new positions of the geometries.

The second stage is much faster than the first. If no geometries or dimensions are added or deleted, the DCM can evaluate a model using the second stage alone. This is called an incremental evaluation (or sometimes re-evaluation). It is a very important performance optimisation, as only an incremental evaluation is required when modifying dimension values, or dragging a model. A full evaluation, involving both stages, is required when geometries or dimensions are added or removed from the model. Hence, there are two important performance measurements for the DCM:

- The time taken for a full evaluation.
- The much shorter time taken for an incremental evaluation.

In the following graphs the evaluation time is plotted in relation to the size of a variety of models, as measured by their number of geometries. Each model is fully defined, or nearly fully defined. The number of dimensions and constraints is proportional to the number of geometries.

The performance tests were performed on a 300 MHz Pentium Personal Computer with 64 Mbytes RAM running Windows NT.

**2D DCM performance**

Figure 1 illustrates the time in milliseconds required to perform both a full evaluation (left) and an incremental evaluation (right). The graphs illustrate the linear relationship between the size of a model and the DCM full or incremental evaluation times.

Figure 1: Full and incremental evaluation times

Figure 2 illustrates the full evaluation and incremental evaluation times *per
geometry* for the models used in Figure 1.

Figure
2: Full and incremental evaluation times *per geometry*

**3D DCM performance**

Figure 3 illustrates the time in milliseconds required to perform both a full evaluation (left) and an incremental evaluation (right).

Figure 3: Full and incremental evaluation times

Figure 4 illustrates the full and incremental evaluation times *per
geometry *for the models used in Figure 3.