Although 3D geometry and product structure considered in previous parts are the most important assets in the CAD model for many applications, they are not the only ones. Many apps make use of additional information such as names and colors, persistent IDs, layers, user-defined properties and others. All these types of information enrich the 3D model and provide context for it: design intent, manufacturing or usage guidelines, and more. These types of data are often referred to as metadata (as opposed to geometry or structure which are sort of "regular" data).
Names and IDs are the most frequently used metadata items as they essentially allow you to name an object (e.g. a part or a sub-assembly) in a larger group. Looking at the product structure of a crankshaft below (see Fig.1), we can easily identify the elements it's composed of:
User-defined properties or attributes are often attached to parts or sub-assemblies (and sometimes to lower level B-Rep shapes such as bodies, faces and edges) to convey application-specific information: creation/modification date, author, construction material (name, density, etc.) - see example on Fig. 2.
Many formats (such as JT, STEP, Parasolid and others) allow to express arbitrary properties in the form of tables consisting of (property_name, property_value) key-value pairs, where each property value can be one of several format-specific types, such as integer, floating-point number, timestamp or text string.
The semantics of such general properties are up to the sending and receiving applications. The format itself just provides a vehicle to express and transmit this information. Some CAD formats reserve specific property names and include them into their specifications. These names can then be used to identify the standard properties the format authors expect to be useful for a wide variety of data exchange scenarios.
Another type of metadata is layers. They are essentially a way to logically group model elements. Unlike the product structure which groups components hierarchically and describes the model decomposition, layers are usually flat groups and are more varied in purpose. Examples can include attachment to decks in the ship model or to floors in a building model. Layers can sometimes be used to control visibility of objects in the model, or to distinguish final object geometry from some construction geometry used during the model creation. Fig. 3 contains an example of using layers in a 3D model of a building. Ultimately, semantics of the layers is up to applications that use them to transmit certain design intent. A layer most often can be identified via its name (e.g in STEP or JT) or an integer ID (e.g. in IGES).Fig. 3. 3D model with layers. Left: IFC model of a duplex building with layers. Right: layers are specified for collections of objects, representing furniture, walls, floors, window glasses; building foundation layer is selected.
Another important type of metadata is Product and Manufacturing Information (PMI). PMI is a mechanism to transmit manufacturing-related information from design to production. Instead of supplying production with a combination of a 3D model and 2D drawings containing manufacturing information, designers can add this information directly to the 3D model in the form of PMI (see Fig. 4). PMI may include Geometrical Dimensions and Tolerances (GD&T), text annotations, surface finishes and other elements.
There are at least three different flavors of PMI commonly encountered in CAD models. Graphical PMI is a 3D representation of PMI, consisting of displayable elements (e.g. meshes, polylines) that could be used to show the PMI annotations alongside the 3D model geometry (see Fig. 5). Semantic PMI is a computer-readable representation of PMI that could be automatically processed by software and fed into CNC machines. PMI associations are connections between PMI annotations and B-Rep shapes they describe, e.g. a cylindrical B-Rep face and its diameter.
As usual, not all the formats are capable of transmitting all the data types considered in this section. Depending on the format's purpose, some of the listed types of metadata may be not available in it. For instance, STEP or JT can contain all these types of metadata whereas VRML can't contain layers or PMI. In the end of this series or in another one on CAD formats we’ll review these capabilities with the help of a comparison table.
CAD Exchanger SDK – supported formats