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;

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

1. BRepAlgoAPI_BooleanOperation

BRepAlgoAPI_BooleanOperation是布尔操作的基类。

2. BRepAlgoAPI_Fuse

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

TopoDS_Shape theBox1 = BRepPrimAPI_MakeBox(,,);
TopoDS_Shape theBox2 = BRepPrimAPI_MakeBox(-,,);
TopoDS_Shape FusedShape = BRepAlgoAPI_Fuse(theBox1,theBox2);

Fuse two boxes

3. BRepAlgoAPI_Common

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

gp_Ax2 axe(gp_Pnt(,,),gp_Dir(,,)); 

TopoDS_Shape theBox = BRepPrimAPI_MakeBox(axe,,,);
TopoDS_Shape theWedge = BRepPrimAPI_MakeWedge(.,.,.,.);
TopoDS_Shape theCommonSurface = BRepAlgoAPI_Common(theBox,theWedge);

Compute the common surface

4. BRepAlgoAPI_Cut

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

TopoDS_Shape theBox = BRepPrimAPI_MakeBox(,,);
TopoDS_Shape theSphere = BRepPrimAPI_MakeSphere(gp_Pnt(,,),);
TopoDS_Shape ShapeCut = BRepAlgoAPI_Cut(theSphere,theBox);

5. BRepAlgoAPI_Section

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

OpenCascade Modeling Algorithms Boolean Operations的更多相关文章

  1. OpenCascade Modeling Algorithms Fillets and Chamfers

    Modeling Algorithms Fillets and Chamfers 造型算法——倒圆与倒角 eryar@163.com 一.倒圆Fillet Constructor 1. BRepFil ...

  2. [算法]Comparison of the different algorithms for Polygon Boolean operations

    Comparison of the different algorithms for  Polygon Boolean operations. Michael Leonov 1998 http://w ...

  3. Thread: BooleanRT : Realtime 3D boolean operations for (Runtime,Editor)

    A Product by Mixed Dimensions What is BooleanRT? BooleanRT is a real-time 3D boolean operations exte ...

  4. Boolean operations between triangle meshes

    Boolean operations between triangle meshes eryar@163.com Abstract. Boolean operations is one of basi ...

  5. OpenCASCADE Hidden Line Removal

    OpenCASCADE Hidden Line Removal eryar@163.com Abstract. To provide the precision required in industr ...

  6. OpenCascade Sweep Algorithm

    OpenCascade Sweep Algorithm eryar@163.com Abstract. Sweeps are the objects you obtain by sweeping a ...

  7. A Simple OpenCASCADE Qt Demo-occQt

    A Simple OpenCASCADE Qt Demo-occQt eryar@163.com Abstract. OpenCASCADE have provided the Qt samples ...

  8. Overview of OpenCascade Library

    Overview of OpenCascade Library eryar@163.com 摘要Abstract:对OpenCascade库的功能及其实现做简要介绍. 关键字Key Words:Ope ...

  9. OpenCascade简介

    OpenCascade简介   Overview of OpenCascade Library eryar@163.com 摘要Abstract:对OpenCascade库的功能及其实现做简要介绍. ...

随机推荐

  1. BZOJ3218 UOJ#77 A+B Problem(最小割+主席树)

    竟然在BZOJ上拿了Rank1太给力啦. p.s.:汗,一发这个就被一堆人在2月27号强势打脸-- 传送门(BZOJ) 传送门(UOJ) 说说这道题目吧: 首先是说说这个构图吧.因为有选择关系,我们很 ...

  2. uva 11137 Ingenuous Cubrency

    // uva 11137 Ingenuous Cubrency // // 题目大意: // // 输入正整数n,将n写成若干个数的立方之和,有多少种 // // 解题思路: // // 注意到n只有 ...

  3. windows 录音程序(一)

    (一)概述 1.依赖条件:winmm.lib 2.步骤: (1)打开设备 -----  waveInOpen(打开一个音频输入设备): (2)开始录音 ----- waveInStart开始录音: ( ...

  4. 第8章 NAND FLASH控制器

    8.1 NAND Flash介绍和NAND Flash控制器使用 NAND Flash在嵌入式系统中的地位与PC上的硬盘类似 NAND Flash在掉电后仍可保存 8.1.1 Flash介绍 有NOR ...

  5. vim中输入tab符

    今天在写Makefile时各种出错.后来发现是all:的下一行,make前面必须是tab符,不能是空格. 但是vim中只要按tab就会自动转换成4个空格.平时编程需要,也不便把这个设置取消. 查了下, ...

  6. oracle创建视图

    create or replace view view_fwaqjcjl as select T_FWAQJCJL.FWAQJCJL_ID,T_FWAQJCJL.ZCBM,T_FWAQJCJL.FWB ...

  7. 更高效地提高redis client多线程操作的并发吞吐设计

    Redis是一个非常高效的基于内存的NOSQL数据库,它提供非常高效的数据读写效能.在实际应用中往往是带宽和CLIENT库读写损耗过高导致无法更好地发挥出Redis更出色的能力.下面结合一些redis ...

  8. React Native移动框架功能研究

    React Native移动框架功能研究 此篇只研究React Native框架的功能. 一.React Natvie是什么 React Native是使用React(或者说JS)来开发原生APP的框 ...

  9. 深入理解openstack网络架构(1)

    原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture 译文转载自:http://b ...

  10. 【原创】三分钟教你学会MVC框架——基于java web开发(1)

    MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法. ...