Hide menu
No Matches
Data Models

Versatile format-agnostic data structures.


CAD Exchanger SDK uses common format-neutral data representations. When reading any MCAD or BIM file, the result is converted to this neutral representation. Likewise, to write a file this common representation is used as a source.

Any advanced algorithm or geometrical modeling algorithm uses these neutral representations to create, analyze or modify data.

CAD Exchanger uses two classes to represent the data in this neutral way:

MCAD Data Model

ModelData_Model is best suited to represent mechanical CAD data such as:

  • product structure - root elements, hierarchical graph of sub-assemblies and parts, transformation matrices applied to instances of parts/assemblies;
  • B-Rep representation - detailed geometrical and topological description of part bodies (curves and surfaces, edges and faces, point coordinates, etc);
  • polygonal representation - tessellated representation of parts (sets of triangles, polylines or point clouds, including vertex coordinates, normals, etc);
  • associated names, visual appearance attributes (colors, materials), layers, properties and other meta-data;
  • Product and Manufacturing Information (PMI).

The MCAD data model can also contain 2D Drawings.

If you are not familiar with the above concepts, you might want to read a series of our blog posts "Crash course on 3D data" for an introduction.

Refer to the following chapters for further details:

BIM Data Model

ModelData_BIModel is best suited to represent BIM (Building Information Modeling) structures when reading BIM-focused file formats (such as IFC or Revit).

These structures may include construction elements (such as walls, doors, doors, ...) and other ones used to describe a digital building model.

Refer to Building Information Modeling (BIM) for further details.


Refer to Model Exploration and Analysis.