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

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

The following representations are supported:

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

Each part may have zero or one Boundary Representation.

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.

using namespace cadex;
ModelData::Wire aWire = ...;
while (anIt.HasNext()) {
const ModelData::Shape& anEdgeShape = anIt.Next();
const ModelData::Edge& anEdge = Edge::Cast (anEdgeShape);
double aFirst, aLast; //edge's curve range
Geom::Curve aCurve = anEdge.Curve (aFirst, aLast);
}
Base class for 3D curves.
Definition Curve.hxx:39
Defines an edge.
Definition Edge.hxx:33
Geom::Curve Curve(double &theFirstParameter, double &theLastParameter) const
Returns edge 3D curve and its limits.
Definition Edge.cxx:408
static const Edge & Cast(const Shape &theShape)
Casts a base class object to Edge.
Definition Edge.cxx:714
Base class of topological shapes.
Definition Shape.hxx:38
Iterates over subshapes in a shape.
Definition ShapeIterator.hxx:32
Defines a connected set of edges.
Definition Wire.hxx:32
Contains classes, namespaces, enums, types, and global functions related to Manufacturing Toolkit.
Definition LicenseManager_LicenseError.hxx:30

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

using namespace cadex;
Geon::Circle aCircle = ...;
const Geom::Axis3d& anAxis = aCircle.Position();
Geom::Point aPoint = aCircle.Value (M_PI_2);
Defines a right-handed or left-handed axis in 3D.
Definition Axis3d.hxx:34
Defines a 3D point.
Definition Point.hxx:35

Polygonal Representation

Polygonal representation 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.