C3D Solver

Define dimensions and constraints to create connections between geometric elements.
Constraints represent all relationships among geometric objects in 2D/3D applications. These include dimensions that define angles and distances and logical constraints that define concepts like a coincidence, parallelism, perpendicularity, tangency, etc.

Using C3D Solver, developers incorporate dimensions and constraints in their applications to create connections between geometric objects in 2D and 3D models. C3D Solver maintains constraints as users make changes to the geometry. For example, when users modify dimensions, C3D Solver instantly recalculates all depending dimensions and maintains existing connections.

Thanks to C3D Solver ready-to-use methods for constraint solving, you significantly reduce the development cost of 2D and 3D modeling functionality in your applications. C3D Solver is ideally applied at the initial stages of software development, and then can be adapted to future upgrades and product releases.


C3D Solver works by recognizing a series of subsystems among the entire system of constraints. At all stages of the calculation, the C3D Solver applies different ways to increase efficiency, such as by simplifying the formulations of equations, searching well-separable subtasks, calculating large sparse matrices, and so on. A special set of load tests is used for performance monitoring and debugging.

Live Diagnostics

Splitting the initial model of constraints into subtasks not only improves the speed at which the solution arrives but also identifies a wide variety of situations in which the built-in diagnostics avoid contradictions in the system of constraints. This assists users in constructing high-quality parametric models without errors.
Live Diagnostics


Porting the 2D solver to JavaScript unveils new application possibilities for C3D Solver, such as the development of cloud solutions for doing online sketches, interior planning with control dimensions, and so on. This makes it possible to quickly implement a 2D drawing editor in a browser complete with dimensioning and constraints. Perhaps most significantly, the 2D solver for JavaScript is a platform-independent solution.
C3D Solver, photo 1

C3D Solver Capabilities

C3D Solver is used for the following applications:

  • Creating 2D parametric sketches with managed dimensions and constraints
  • Positioning bodies in assemblies using mates and dimensions in 3D
  • Rebuilding changed models while keeping previously defined mates intact
  • Modeling planar and spatial mechanisms
  • Creating 3D pipelines and wireframes

C3D Solver supplies the following 2D and 3D dimensional constraints:

  • Distances
  • Directed distances (2D only)
  • Angles between lines and planes
  • Radii

C3D Solver also provides the following functions in 2D and 3D:

  • Creating and solving parametric constraints
  • Manipulating geometry
  • Dragging geometry
  • Satisfying constraints
  • Analyzing degrees of freedom (2D only)
  • Clustering rigid sets (3D only)
  • Journaling API calls


  • Coincidence
  • Fixed geometry
  • Parallelism
  • Perpendicularity
  • Reflection symmetry
  • Tangency

2D geometry:

  • Alignment
  • Point on a curve
  • Equal length
  • Equal radii
  • Fixed length and direction
  • Fixed spline derivatives
  • Horizontal position
  • Vertical position
  • Bisector
  • Equality of curvature of two curves at given points

3D geometry:

  • Coaxiality
  • Black-box dependencies
  • Linear and angular patterns
  • Mechanical transmissions
  • Cam mechanisms
  • Rack and gear mechanisms

Other C3D Toolkit Modules