Open CasCade -> 创建Edge

2020-09-24  本文已影响0人  诸事圆成

gp包

class gp_XYZ;
class gp_Dir
{
public:
  gp_Dir(); //创建一个对应 x 轴的方向
private:
  gp_XYZ xyz;
}
#方向
class gp_Vec
{
  private:
    gp_XYZ xyz;
}
#一条轴
class gp_Ax1
{
  private:
    gp_Pnt p;
    gp_Dir dir;
}
//右手坐标系 *左手事 gp_Ax3
#三维坐标系
class gp_Ax2
{
  public:
    //P是坐标原点, V是main 方向(相当于z轴), x和y轴会自动创建
     gp_Ax2(const gp_Pnt& P, const gp_Dir& V);
  private:
    gp_Ax1 ax1;
    gp_Dir vydir;
    gp_Dir vxdir;
}

Geom_TrimmedCurve

// 在3D空间创建一条线段, 由2个点创建
// 结果是一个Geom_TrimmedCurve 的曲线
class GC_MakeSegment 
{
public:
//! Returns the constructed line segment.(返回构造的线段)
  Standard_EXPORT const Handle(Geom_TrimmedCurve)& Value() const;
private:
  Handle(Geom_TrimmedCurve) TheSegment;
}

example

{
  //2个三维上的点 P1, P2
  gp_Pnt p1(0,0,0);
  gp_Pnt p2(3,4,5);
  //gp包创建 edge
  TopoDS_Edge segEdge0 = BRepBuilderAPI_MakeEdge(p1, p2);
  //Geom_TrimmedCurve 创建edge
  Hanlde(Geom_TrimmedCurve)  seg = GC_MakeSegment(p1,p2);
  TopoDS_Edge segEdge1 = BRepBuilderAPI_MakeEdge(seg);
    
}
上一篇 下一篇

猜你喜欢

热点阅读