分析Open CASCADE 中的Geom包

2019-04-17  本文已影响0人  yumxuanyi

@版权声明:本文为版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出,
本文链接https://www.jianshu.com/p/af8d52c6d2aa
如有问题, 可邮件(yumxuanyi@qq.com)咨询。


关键字:OpenCascade、Geom

轴、坐标系

Geom_AxisPlacement

  1. 这是一个抽象的类。定义了三维空间中的位置坐标系的共有行为。
  2. Geom包中提供了它的两个派生类Geom_Axis1Placement和Geom_Axis2Placement。分别表示一个坐标轴和一个坐标系
  3. 其内部数据成员为gp_Ax1

Geom_Axis1Placement

  1. 表示三维空间中的一个坐标轴。
  2. 一个轴由一个坐标点(轴的起点)和一个单位向量(轴的方向)表示。
  3. 其内部数据成员为gp_Ax1,但是比gp_Ax1具有更多的更复杂的数据结构。比如可以用来定义对称轴或旋转轴。

Geom_Axis2Placement

  1. 表示三维空间中的右手坐标系。
  2. 一个坐标系由一个坐标点和三个相互垂直的单位向量组成。
  3. 坐标系的方向Z Direction又称Main Direction。因为一旦当该单位向量被修改,坐标系的X Direction 和 Y Direction就会重新计算。但是如果X Direction 或者 Y Direction被修改了,Main Direction会保持不变。
  4. 该坐标系提供的部分功能与gp_Ax2提供的功能一致,但是还可以用来定义几何变换Geometric transformations

Geom_Point

  1. 一个抽象类,描述了三维空间中几何点的共同行为。
  2. Geom_CartesianPoint为其派生类

Geom_CartesianPoint

  1. 表示三维空间中的一个点。
  2. 一个Geom_CartesianPoint由一个gp_Pnt point定义或则笛卡尔坐标系中的三个坐标值X、 Y、Z给定。

线

直线

Geom_Line

  1. 表示一条无界线。由一个位置和一个轴表示。
  2. 它的参数方程为:
    P(U) = O + U *Dir
    P 为参数为U时线上的点
    O 是位置坐坐标的坐标点
    Dir是位置坐标的单位向量

曲线

Geom_Curve

  1. 一个抽象类,描述了三维空间中曲线的共有行为。

Geom_Conic

  1. 一个抽象类 表示3D空间中的圆锥曲线(二次曲线)的共同行为。
  2. 它的四个派生类为:Geom_Circle、Geom_Ellipse、Geom_Hyperbola和Geom_Parabola
  3. 其成员gp_Ax2 pos。表示该圆锥曲线在3D空间中的的(右手)局部i坐标系。坐标系的X方向和Y方向共同决定了改圆锥曲线所在的平面。

Geom_Circle

  1. 表示三维空间中的一个圆。一个圆由一个半径以及一个中心坐标来表示。
  2. 它的位置由一个右手局部坐标系(gp_Ax2对象)指定。其中坐标系的原点为圆的中心点。坐标系的X 方向和Y方向定义了圆所在的平面。坐标系的Z方向为元所在平面的法向量
  3. 曲线的参数方程形式为:
    P(U) = O + R *Cos(U) * XDir + R *Sin(U) * YDir ;
    其中P 是在参数U时的坐标点
    O 、XDir、YDir分别表示该局部坐标系的原点、X方向、Y方向
    R 是圆的半径
  4. 该局部坐标系的X轴方向定义了改圆的起始参数。其它参数为中心点到曲线上点的方向
    与 X 轴的夹角,参数范围为[0,2*PI]
  5. 一个圆是封闭的和周期的。它的周期是2*PI

Geom_Ellipse

  1. 表示三维空间中的椭圆

Geom_Parabola

  1. 表示三维空间中的抛物线
  2. 一条抛物选由 焦距(focal length) 和 其在空间中的位置(gp_Ax2)表示
  3. 焦距(focal length) :顶点(apex)到焦点的距离
  4. gp_Ax2表示了 1. 抛物线的位置点 ;2. 抛物线的对称轴X Axis,抛物线位于对称轴的正方向 ;
    origin 、XDirection 和 YDirection共同确定了抛物线所在的平面
  5. 上面提到的坐标系为局部坐标系。坐标系的Main Direction为抛物线所在平面的法向量
  6. 参数方程为: P(U) = O + U * U/(4 * F) *XDir + U * YDir
    其中 O 、 XDir 、YDir分别为局部坐标系的原点 、X方向和Y方向
    F为抛物线的焦距

Geom_Hyperbola

  1. 表示三维控件中的双曲线

Geom_BezierCurve

  1. 表示一条有理贝塞尔曲线或无理贝塞尔曲线.
  2. 一条无理贝塞尔曲线(non-rational Bezier curve )由一组极点(也称控制点)来表示。
  3. 一条有理贝塞尔曲线(rational Bezier curve)由一组极点以及每个极点对应权重来表示(a table of poles with varying weights)。极点表(poles table)是一组点的一维数组(an array of gp_Pnt points),权重表(weight table)是一个一维实数数组(an array of reals)。这些一维数组的起点索引都是从1开始的。

Geom_BoundedCurve

  1. 这是一个抽象的类。定义了三维空间中有界曲线(bounded curves)的共有行为。
  2. 一个有界曲线 由其first parameter 和last parameter限定了其边界。
  3. first parameter给出了该有界曲线的的起点。last parameter给出了该有界曲线的终点。该有界曲线的长度也是有限的。
  4. Geom包中提供了三个它的派生类。Geom_BezierCurve 、Geom_BSplineCurve 和Geom_TrimmedCurve 。

Geom_BSplineCurve

Geom_OffsetCurve

Geom_TrimmedCurve

Geom_Plane

  1. 表示三维空间中的一个平面
  2. 平面的参数方程如下:
  P(u,v) = O + u *XDIR + * YDIR

Geom_Surface

Geom_BezierSurface

  1. 表示一条有理贝塞尔曲线或无理贝塞尔曲面.
  2. 一个无理贝塞尔曲面(non-rational Bezier surface )由一组极点(也称控制点)来表示。
  3. 一个有理贝塞尔曲面(rational Bezier surface)由一组极点以及每个极点对应权重来表示(a table of poles with varying weights)。极点表(poles table)是一组点的二维数组(an 2D array of gp_Pnt points),权重表(weight table)是一个二维维实数数组(an 2D array of reals)。这些数组行和列起点的索引都是从1开始的。

Geom_BoundedSurface

  1. 作为三维空间中所有有界曲面(bounded surface)的基类。
  2. 一个有界曲面是由二维参数空间中范围来表示的。例如由参数u和v的范围来限定。
  3. 一个有界曲线由4条曲线限定,这四条曲线构成了有界曲面的边界:
    在u方向上的u0 和 u1 位置的参数曲线
    在v方向上的v0和 v1位置的参数曲线。
  4. 有界曲线是有限的。他们的共有行为在Geom_Surface中定义。Geom包中提供了它的三个派生类Geom_BezierSurface、Geom_BSplineSurface和Geom_RectangularTrimmedSurface.

Geom_BSplineSurface

Geom_ConicalSurface

Geom_CylindricalSurface

Geom_OffsetSurface

Geom_ElementarySurface

Geom_OsculatingSurface

Geom_RectangularTrimmedSurface

Geom_SphericalSurface

Geom_SweptSurface

Geom_ToroidalSurface

Geom_SequenceOfBSplineSurface

Geom_SurfaceOfRevolution

Geom_SurfaceOfLinearExtrusion

方向 矢量 矩阵

Geom_Direction

  1. 表示一个非null的单位向量

Geom_Vector

Geom_VectorWithMagnitude

Geom_Transformation

Geom_Geometry

Geom_UndefinedValue

Geom_UndefinedDerivative

上一篇下一篇

猜你喜欢

热点阅读