zoukankan      html  css  js  c++  java
  • OpenCascade Modeling Algorithms Boolean Operations

    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

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

    Boolean Operations

    1. BRepAlgoAPI_BooleanOperation

    BRepAlgoAPI_BooleanOperation是布尔操作的基类。 

    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); 

    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); 

    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); 

     

    5. BRepAlgoAPI_Section

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

  • 相关阅读:
    Hdu 4221 Greedy?
    Hdu 2955 Robberies
    Hdu 3309 Roll The Cube
    Hdu 2602 Bone Collector
    Hdu 2844 Coins
    Hdu 2255奔小康赚大钱
    Hdu 2120 Ice_cream's world I
    Hdu 2159 FATE
    Hdu 2102 A计划
    Hdu 2098分拆素数和
  • 原文地址:https://www.cnblogs.com/opencascade/p/3511140.html
Copyright © 2011-2022 走看看