OCCT中的圆锥面(Geom_ConicalSurface)

    圆锥面是由圆锥顶点处的半角,局部坐标系中的位置,以及半径定义。

  • 坐标系的“主轴”是圆锥的旋转轴。
  • 坐标系的“原点”,“x方向”,“y方向”定义的平面是圆锥的参考平面。圆锥与参考平面相交形成圆,该圆的的半径等于参考半径。
  • 如果圆锥的半角为正,则锥体的顶点位于坐标系的“主轴”的负侧,如果半角为负,则锥的顶点位于正侧。该坐标系是锥体的“局部坐标系”。

    圆锥的参数方程如下:

    P(u,v) = O + (R + v\ast sin(Ang)) \ast (cos(u)\ast XDir +sin(u) \ast YDir) + v\ast cos(Ang) \ast ZDir

    其中,O,XDir,YDir和ZDir分别是锥体局部坐标系的原点,“X方向”,“Y方向”和“Z方向”,Ang是锥体顶点的半角,R是参考半径,u的取值范围是[0,2\pi ],v的取值范围是[-\infty , + \infty]

    在OCCT中,圆锥面的创建如下:

Geom_ConicalSurface::Geom_ConicalSurface ( const Ax3& A3 ,  const Standard_Real Ang, const Standard_Real R) 
                    :radius(R), semiAngle (Ang) 
{
  if (R < 0.0 || Abs(Ang) <= gp::Resolution() || Abs(Ang) >= M_PI/2.0 - gp::Resolution()) 
    Standard_ConstructionError::Raise();
  
  pos = A3;
}

    A3是圆锥面所在的局部坐标系,Ang是圆锥面的半角,取值范围是 [0, \pi /2],R是半径。A3的Z轴方向定义了锥面的对称轴方向。

Geom_ConicalSurface::Geom_ConicalSurface ( const gp_Cone& C )
                    : radius (C.RefRadius()), semiAngle (C.SemiAngle()) 
{
   pos = C.Position();
}

    通过gp中的非临时面创建新的面。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值