OpenCascade一些常用的API

huangbangqing12發表於2018-08-21

一、幾何圖形部分

  1. 三維點gp_point

 gp_point(0., 0., 0.) 三維座標構建一個點

gp_point::X(); gp_point::Y(); gp_point::Z(); 可以取得已知點的X、Y、Z座標

gp_point::SetX(); gp_point::SetY(); gp_point::SetZ(); gp_point::SetCoord(); 可以設定三維點的座標

2.邊TopoDS_Edge

BRepBuilderAPI_MakeEdge建立邊

BRepBuilderAPI_MakeEdge(const gp_Pnt& P1, const gp_Pnt& P2); 通過兩個點構造邊

BRepBuilderAPI_MakeEdge(const gp_Lin& L); 通過射線構造邊

此外gp_Circ(圓)、gp_Elips(橢圓)、gp_Hypr(雙曲線一支)、gp_Parab(拋物線)、Geom_Curve(弧線)、Geom2d_Curve(二維弧線)等亦可構建邊

 

3.線網格TopoDS_Wire

BRepBuilderAPI_MakeWire建立線

BRepBuilderAPI_MakeWire::Add 新增線

BRepBuilderAPI_MakeWire::IsDone 判斷新增邊是否有效

BRepBuilderAPI_MakeWire::Error 返還構建結果狀態

BRepBuilderAPI_MakeWire::Wire 返還構建的網格

BRepBuilderAPI_MakeWire::Edge 返還構建網格的最後一邊(與原始邊可能不同)

BRepBuilderAPI_MakeWire::Vertex 返還構建網格的最後一邊的頂點?

目前已知,新增多條邊時,若邊之間不相交,會出現不可預知的錯誤。

4.面TopoDS_Face

BRepBuilderAPI_MakeFace建立面

可通過gp_Pln、gp_Cylinder、gp_Cone、gp_Sphere、gp_Torus等構造面

BRepBuilderAPI_MakeFace::Add 新增線

BRepBuilderAPI_MakeFace::IsDone 構成一個有效面則返還true

BRepBuilderAPI_MakeFace::Error 返還構建結果狀態

BRepBuilderAPI_MakeFace::Face 返回構建的面

5.體TopoDS_Shape

5.1 gp_Circ 建立圓

gp_Circ::gp_Circ(const gp_Ax2& A2, const Standard_Real Radius);中心軸和半徑構建一個圓。

 

5.2 BRepPrimAPI_MakeBox可建立矩形體

5.3 BRepPrimAPI_MakeWedge建立楔形體(楔形體就是帶斜面的長方體,即帶角度的長方體。)

5.4 BRepPrimAPI_MakeOneAxis建立旋轉體(基類)

https://i.iter01.com/images/43d08cb6340af6a41c882b7cc063e3be5a2a794cb14755ca107b3da6276c8a2c.jpg

5.4.1 BRepPrimAPI_MakeCylinder建立圓柱體

5.4.2 BRepPrimAPI_MakeCone建立圓錐體

5.4.3 BRepPrimAPI_MakeSphere建立球體

5.4.4 BRepPrimAPI_MakeTorus建立圓環體

5.4.5 BRepPrimAPI_MakeRevolution建立旋轉體

5.5 BRepPrimAPI_MakeSweep建立掃掠體(基類)

https://i.iter01.com/images/081781915fe1e8b842d56e861533dbb5160c804ff0a27f951056678c84b29409.jpg

5.5.1 BRepOffsetAPI_MakePipe 建立管道

5.5.2 BRepOffsetAPI_MakePipeShell

5.5.3 BRepPrimAPI_MakePrism建立拉伸體

5.5.4 BRepPrimAPI_MakeRevol建立旋轉體

5.6 TopoDS_Compound 複合體

BRep_Builder builder;

TopoDS_Compound Comp;

TopoDS_Shape S1, S2;

builder.Add(Comp, S1);

builder.Add(Comp, S2);

 

6. gp_Trsf 幾何變換

gp_Trsf::SetMirror 映象變換

gp_Trsf::SetRotation 角度旋轉變換

gp_Trsf::SetScale 縮放變換

gp_Trsf::SetTranslation 平移變換?

7. BRepAlgoAPI_BooleanOperation圖形布林運算

7.1 BRepAlgoAPI_Fuse布林並運算

7.2 BRepAlgoAPI_Common布林交運算

7.3 BRepAlgoAPI_Cut布林差運算

7.4 BRepAlgoAPI_Section 剖面?

相關文章