Working with 3D Models > Compare Functionality of ModelerGeometry and Spatial 3D ACIS Modelers
Compare Functionality of Available Modelers

The following table compares the supported features provided by ModelerGeometry and Spatial 3D ACIS® Modeler.

Modeler's Feature ModelerGeometry (ModelerGeometry.tx) Spatial 3D ACIS Modeler (SpaModeler.tx)
Render the model in wireframe, shaded, and silhouette mode Supported Supported
Get the extents of the model Partially Supported
(Not Supported: getBoundingBox())
Supported
Create simple shapes (box, frustum, sphere, torus, wedge, pyramid) Supported Supported
Set up attributes (colors, materials, etc.) Supported Supported
Get a subentity (subSubentPtr()) Supported Supported
Transformations (transformBy()) Supported Supported
Explode into a set of OdDbEntity objects (explode()) Supported Supported
Create OdDbRegion entities for each face of the surface (OdDbSurface::convertToRegion()) Not Supported Supported
Extrude a planar curve, region, or planar surface in the direction of the given vector, with many advanced options controlled by OdDbSweepOptions (OdDb3dSolid::createExtrudedSolid(), OdDb3dSolid::extrude()) Partially Supported
(Not Supported: the taper option and the extrusion of an angled entity)
Supported
Extrude specific faces with specified distance and taper angle or with a specified path (OdDb3dSolid::extrudeFaces(), OdDb3dSolid::extrudeFacesAlongPath()) Not Supported Supported
Extrude a region along the path curve (OdDb3dSolid::extrudeAlongPath()) Supported
(Limitations: the taper angle must be zero, the path must be a smooth curve or polyline perpendicular to the region plane at the path base point, and both path endpoints must not lay on the region plane or must be equal)
Supported
Revolve a specified curve, region, or planar surface around the specified axis of revolution (OdDb3dSolid::createRevolvedSolid(), OdDb3dSolid::revolve()) Partially Supported
(Not Supported: non-solid creation, axis is not in contour's plane, and mostly all OdDbRevolveOptions)
Supported
Sweep a face along the specified path (OdDb3dSolid::createSweptSolid()) Partially Supported
(Not Supported: history mode, non-zero taper angle, non-zero draft distances, non-zero align angle, align modes other than kAlignSweepEntityToPath, disabled checkIntersections flag, twist reference vectors other than identity)
Supported
Create a lofted object from the given curves (OdDb3dSolid::createLoftedSolid()) Not Supported Supported
Create a blend object from the given edges (OdDb3dSolid::createBlendSolid()) Not Supported Supported
Create a tangent surface between two edges of a surface with constant radius (OdDbSurface::createFilletSurface()) Not Supported Supported
Create rounded fillets on the edges (filletEdges()) Not Supported Supported
Create chamfers at the edges (chamferEdges()) Not Supported Supported
Perform Boolean operations (booleanOper(), OdDbSurface::booleanUnion(), OdDbSurface::booleanIntersect(), OdDbSurface::booleanSubtract(), OdDb3dSolid::checkInterference()) Supported
Supported
Imprint an intersection graph of two entities on one of the entities (imprintEntity()) Not Supported
Supported
Convert the model into NURBS surfaces (OdDbSurface::convertToNurbSurface()) Not Supported Supported
Getters and setters of OdDbNurbSurface Partially Supported Supported
Trim the surface with the specified cutting curves (OdDbSurface::trimSurface()) Not Supported Not Supported
Project a specified entity onto the surface (OdDbSurface::projectOnToSurface()) Not Supported Supported
Ray test (OdDbSurface::rayTest()) Not Supported Supported
Get area, centroid, moment of inertia, product of inertia, principal moments, principle axes, radii of gyration Not Supported Supported
Get perimeter Supported Supported
Get the intersection between the specified plane and the model (OdDb3dSolid::getSection()) Not Supported Supported
Slice the model with a plane or a surface (OdDb3dSolid::getSlice()) Not Supported Supported
Extend the edges of the model (OdDbSurface::extendEdges()) Not Supported Not Supported
Offset all or specific faces by the specified distance (OdDb3dSolid::offsetBody(), OdDbSurface::createOffsetSurface(), OdDb3dSolid::offsetFaces(), OdDb3dSolid::shellBody()) Not Supported Supported
Taper specific faces about the specified base point and draft vector (OdDb3dSolid::taperFaces()) Not Supported Supported
Remove specific faces, enlarging the adjacent faces (OdDb3dSolid::removeFaces()) Not Supported Supported
Transform specific faces (OdDb3dSolid::transformFaces()) Not Supported Supported
Create an OdDb3dSolid entity by thickening the surface (OdDbSurface::thicken()) Not Supported Supported
Divide the model into an array of solids representing the additional disjoint volumes (OdDb3dSolid::separateBody()) Not Supported Supported
Find the intersection with another model (intersectWith()) Not Supported Supported
Get a triangle mesh of the model with the required triangulation parameters (getObjectMesh(), getFaceMesh(), OdDbBody::generateMesh()) Partially Supported
(Not supported: generateMesh)
Supported
Model Documentation functionality and algorithms, e.g. precise hidden line removal (PHLR)) In progress In progress
Sculpture operation — creating a waterproof solid from a set of objects (OdDb3dSolid::createSculptedSolid()) Supported Supported
via ModelerGeometry.tx code
Displaying solid history Supported Supported
Copyright © 2002 – 2021. Open Design Alliance. All rights reserved.