Modeling Algorithms Boolean Operations of Opencascade

eryar@163.com

布尔操作(Boolean Operations)是通过两个形状(S1S2)的组合来生成新的形状。布尔操作有如下几种类型: 

u 并集操作FusionGets all the points in S1 or S2

u 交集操作CommonGets all the points in S1 and S2

u 差集操作Cut S1 by S2Gets all the points in S1 and not in S2

下图所示为三种布尔操作: 

OpenCascade Modeling Algorithms Boolean Operations

1. BRepAlgoAPI_BooleanOperation

BRepAlgoAPI_BooleanOperation是布尔操作的基类。 

OpenCascade Modeling Algorithms Boolean Operations

2. BRepAlgoAPI_Fuse

BRepAlgoAPI_Fuse执行布尔并集操作。如下所示:

TopoDS_Shape theBox1 = BRepPrimAPI_MakeBox(50,200,70); 
TopoDS_Shape theBox2 = BRepPrimAPI_MakeBox(-30,150,70); 
TopoDS_Shape FusedShape = BRepAlgoAPI_Fuse(theBox1,theBox2); 

OpenCascade Modeling Algorithms Boolean Operations

Fuse two boxes

3. BRepAlgoAPI_Common

BRepAlgoAPI_Common执行布尔交集操作,如下所示:

gp_Ax2 axe(gp_Pnt(10,10,10),gp_Dir(1,2,1)); 

TopoDS_Shape theBox = BRepPrimAPI_MakeBox(axe,60,80,100); 
TopoDS_Shape theWedge = BRepPrimAPI_MakeWedge(60.,100.,80.,20.); 
TopoDS_Shape theCommonSurface = BRepAlgoAPI_Common(theBox,theWedge); 

OpenCascade Modeling Algorithms Boolean Operations

Compute the common surface

4. BRepAlgoAPI_Cut

BRepAlgoAPI_Cut执行布尔差集操作,如下所示:

TopoDS_Shape theBox = BRepPrimAPI_MakeBox(200,40,40); 
TopoDS_Shape theSphere = BRepPrimAPI_MakeSphere(gp_Pnt(100,20,20),80); 
TopoDS_Shape ShapeCut = BRepAlgoAPI_Cut(theSphere,theBox); 

 OpenCascade Modeling Algorithms Boolean Operations

5. BRepAlgoAPI_Section

 

Open Cascade中的布尔操作 Modeling Algorithms-Boolean Operations

相关文章:

  • 2021-09-14
  • 2021-12-21
  • 2021-10-10
  • 2022-12-23
  • 2021-11-15
  • 2021-12-07
  • 2021-09-27
猜你喜欢
  • 2022-02-08
  • 2021-11-01
  • 2021-06-20
  • 2021-11-06
  • 2021-06-04
  • 2021-09-04
相关资源
相似解决方案