Hide menu
Loading...
Searching...
No Matches
Part Representations

Table of Contents

Representations are associated with a ModelData.Part and define its shape.

The following representations are supported:

  • Boundary Representation (B-Rep) – exact geometrical representation.
  • Mesh or faceted, or tessellated – approximated representation with the help of a mesh.

Each part may contain one or more bodies of different types (B-Rep or Mesh).

Boundary Representation

B-Rep includes a topological model that describes hierarchy and connectivity information between elements in a 3D model (from vertices to a solid), as well as the underlying geometry entities (points, curves and surfaces):

Topology and Geometry

Topological entities inherit the base class ModelData.Shape , curves inherit the class Geom.Curve and surfaces inherit from the base class Geom.Surface .

Manufacturing Toolkit supports the next types of bodies: ModelData.SolidBody , ModelData.SheetBody and ModelData.WireframeBody . These bodies form the B-Rep representation of a part.

B-Rep bodies

Supported geometries include:

  • Analytical representations (lines, circles, ellipses, planar, spherical, cylindrical and other elementary surfaces);
  • Extrusion and rotation surfaces;
  • Offset curves and surfaces;
  • Bezier and NURBS curves and surfaces.

Each topological entity can be explored for its children. Vertices, edges and faces provide access to associated geometries.

ModelData.Wire aWire = ...;
ModelData.ShapeIterator anIt = new ModelData.ShapeIterator(aWire);
while (anIt.HasNext())
{
ModelData.Edge anEdge = ModelData.Edge.Cast(anIt.Next());
double aFirst, aLast; //edge's curve range
Geom.Curve aCurve = anEdge.Curve(aFirst, aLast);
}

Curves and surfaces give access to their defining parameters (e.g. axis for a circle, or control points for a NURBS curve):

Geom.Circle aCircle = ...;
Geom.Axis3d anAxis = aCircle.Position();
Geom.Point aPoint = aCircle.Value(Math.PI);

Mesh

Mesh describes a 3D shape as a set of flat polygonal facets. Such meshes are commonly used for visualization and approximate geometry analysis.

In MTK, polygonal geometry is represented by ModelData.MeshBody , which holds one or more ModelData.MeshShape elements.