Construction and Model Geometry


ACIS implements geometry in two distinct forms. Construction geometry refers to the C++ classes that hold the mathematical definitions of geometric objects. Model geometry refers to the C++ classes that add model management functionality to the construction geometry.

Construction Geometry

The construction geometry classes are lightweight, and, by themselves, are temporary in nature and are not saved as part of the user's model. They can be used on-the-fly for math calculations, or can be included as part of model geometry to form permanent model objects.

Construction geometry classes have lowercase names. These classes include compcurv, helix, cone, ellipse, intcurve, meshsurf, plane, sphere, spline, straight, and torus. The math class SPAtransf, which represents a 3D affine transformation, is often grouped with the construction geometry classes for discussion.

For example, the sphere class (lowercase) is a construction geometry class that mathematically defines a sphere in both xyz object space and in uv parameter space. It contains methods that construct, destroy, modify, inquire, and evaluate the sphere. It does not contain any model management methods, and cannot be directly saved to an ACIS save file.

Model Geometry

Model geometry is permanent and saved with the model. Model geometry classes provide model management functionality on top of the geometry definition (they include construction geometry classes as part of their data structures). This includes saving and restoring of model data, history and roll, transforms, and the ability to attach system-defined or user-defined attributes for carrying abstract data along with the model objects.

Model geometry classes are derived from the ENTITY class, and have uppercase names. These classes include COMPCURV, HELIX, CONE, ELLIPSE, INTCURVE, MESHSURF, PLANE, SPHERE, SPLINE, STRAIGHT, and TORUS. The math class TRANSFORM, which represents a transformation, is often grouped with the model geometry classes for discussion; it is saved as part of the model.

For example, the SPHERE class (uppercase) is a model geometry class that defines a sphere as an object in the model. It includes as one of its data elements a sphere. It provides methods for identification, save and restore, history and roll, multiple user use counts, and other common model management operations. It also provides methods to set the sphere's center and radius, and to transform the sphere's location. This can be saved to an ACIS save file, and the saved data includes the construction geometry information from the sphere data element.

[Top]