Geometry/Construction and Model Geometry
ACIS implements two distinct forms of geometry: construction geometry refers to the C++ classes that contain the mathematical definitions of geometric objects; model geometry refers to the C++ classes that add Model Management functionality to the construction geometry classes.
The construction geometry classes are lightweight, and, by themselves, are temporary in nature and cannot be saved as part of the user's model. They can be used on-the-fly for mathematical calculations, or can be included as part of the model geometry.
Construction geometry classes have lowercase names. These classes include SPAposition, cone, ellipse, helix, intcurve, pcurve, 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 spherical surface 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 is persistent 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.) Model management includes saving and restoring of model data, history and roll, transformations, and the ability to attach system-defined or user-defined attributes for carrying application data along with the model objects.
Model geometry classes are derived from the ENTITY class, and have UPPERCASE names. These classes include APOINT, CONE, ELLIPSE, HELIX, INTCURVE, PCURVE, 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 spherical surface in the persistent model. It includes as one of its data elements a sphere (lowercase). 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 geometric data from the sphere class.