在几何引擎内一般把数据分成两类:几何信息与拓扑信息。二者可以完整地表达出实体模型,彼此相互独立、又互相关联。几何信息是指构成几何实体的各几何元素在欧式空间中的位置、大小、尺寸和形状信息。例如一条空间的直线,可以用两端点的位置矢量来表示,也可以用一个点和点在三维坐标系中的坐标分量来表示。
拓扑信息是指该物体的拓扑元素的个数、类型之间的相互关系,根据这些信息可以确定物体表面的邻接关系。拓扑信息的描述能够更加清晰的对构成形体的每个面、边、顶点的参数和属性进行读取和储存,可以有效的实现用点、边、面为基本几何运算及各种操作。对于两种形状、大小不一的物体模型,它们的拓扑关系是有可能是相等的。
1、几何模型
几何模型按照描述三维几何体所用几何元素的不同和储存内容特征可分为三类。
1.1线框模型
60年代CAD发展初期出现的系统为简单的线框式系统,仅能表达基本的几何模型,対于几何模型数据之间的拓扑关系不能完整的进行表达,使实体在表达中缺少表面信息,导致部分功能不能实现。以物体外形的轮廓、边及交线作为图形数据来表示物体。
线框模型有一定的局限性:由于其内部缺乏关于面的信息,导致无法表示表面含有曲面的实体模型,且不能定义定点与物体之间的关系。
1.2曲面模型
进入70年代,CAD的发展中出现很多有关自由曲面的难题,当时是利用多截面视图的方法来近似表示曲面形状,这导致缺少完整的三视图,就会出现设计思想与实际不符的情况。针对这种状况,法国达索公司利用以曲面模型为特征的自由曲面建模方法,开发了名为CATIA的三维曲面建模系统,自此曲面造型技术就此出现。在线框模型基础上再加进面的信息来表示模型。曲面模型扩大了线框模型的应用范围,增加了面边信息以及表面特征、边方向等信息。它能够表示含有曲面的模型,建模时将实体外表面分成若干个组成面,定义出每一块的基本面素,通过多个面素连接构成组成面,但是面信息不能够表示出物体宄竟处于表面的那一侧,因此也有很大的局限性。
1.3实体模型
能够完整地表示物体的所有形状信息,无歧义的确定一个点在模型的位置。以立方体、圆柱体、球体等基本体素为单元元素,运用交、并、差集合运算生成所需要的几何体。实体模型通常包括体素定义和描述、体素之间的集合运算。
2、OCC几何模型
OCC几何实体分五种类型,共同基类为Geom_Geometry。
(1)Geom_AxisPlacement
坐标系统的抽象类,子类包含:Geom_Axis1Placement(轴坐标系):原点为轴点,单位向量为轴的方向。Geom_Axis2Placement(右手坐标系):原点为坐标系原点,三个正交单位向量表示坐标系X、Y、Z的方向。
(2)Geom_Vector
几何向量的抽象类,描述向量在三维空间中的行为。子类包含Geom_Direction(向量方向)和Geom_VectorWithMagnitude(向量大小),分别定义向量的大小与方向。
(3)Geom_Point
表示几何点,子类包含:Geom_CartesianPoint(笛卡尔点)。
(4)Geom_Curve
几何曲线的抽象类,包含处理所有子类曲线的参数化方程的方法,以及获取有关曲线的信息。子类包含:Geom_Line(直线)、Geom_OffsetCurve(偏置曲线)、ShapeExtend_ComplexCurve(拼接曲线)、Geom_Conic(圆锥曲线)、Geom_BoundedCurve(有界曲线)、Geom_Circle(圆)、Geom_Ellipse(椭圆)、Geom_Hyperbola
(双曲线)、Geom_Parabola(拋物线)。
(5)Geom_Surface
几何曲面的抽象类,子类包含:Geom_OffsetSurface(偏置曲面)、ShapeExtend_CompositeSurface(复合曲面)、Geom_SweptSurface
(扫描曲面)、Geom_ElementarySurface(基本曲面)、Geom_BoundedSurface(有界曲面)。
3、OCC拓扑信息
OCC中设置三维拓扑的抽象基类为TopoDS_Shape,并包含了8个拓扑结构。二维拓扑抽象基类TopoDS_Shape,包含8个二维拓扑结构。三维拓扑子类分别是:
(1)TopoDS_Compound:描述拓扑实体组,为拓扑级别最高级。
(2)TopoDS_CompSolid:描述一种复合实体,参考底层复合实体的位置和方向,并给出局部坐标系位置。
(3)TopoDS_Solid:描述一个实心的体,参考基础实体的位置和方向,并给出局部坐标系位置。
(4)TopoDS_Shell:描述壳。
(5)TopoDS_Face:描述面。
(6)TopoDS_Wire:描述线。
(7)TopoDS_Edge:描述边
(8)TopoDS_Vertex:描述顶点。