Open CASCADE学习|布尔运算

这篇具有很好参考价值的文章主要介绍了Open CASCADE学习|布尔运算。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、加法:BRepAlgoAPI_Fuse

2、减法:BRepAlgoAPI_Cut

3、交集:BRepAlgoAPI_Common

4、交线:BRepAlgoAPI_Section


1、加法:BRepAlgoAPI_Fuse

#include <gp_Pnt.hxx>#include <BRepPrimAPI_MakeBox.hxx>#include"Viewer.h"#include <BRepAlgoAPI_Fuse.hxx>int main(int argc, char* argv[]){    //第一个基本矩形    gp_Pnt P(-5, 5, -5);    TopoDS_Shape theBox1 = BRepPrimAPI_MakeBox(60, 200, 70).Shape();    //第二个基本矩形    TopoDS_Shape theBox2 = BRepPrimAPI_MakeBox(P, 20, 150, 110).Shape();    //进行布尔Union运算,将两个图形合并    TopoDS_Shape FusedShape = BRepAlgoAPI_Fuse(theBox1, theBox2);    Viewer vout(50, 50, 500, 500);    vout << theBox1;    vout << theBox2;    vout << FusedShape;    vout.StartMessageLoop();    return 0;}

Open CASCADE学习|布尔运算,Open CASCADE,学习,c++,Open CASCADE

2、减法:BRepAlgoAPI_Cut

#include <BRepPrimAPI_MakeSphere.hxx>#include <BRepPrimAPI_MakeBox.hxx>#include"Viewer.h"#include <BRepAlgoAPI_Cut.hxx>int main(int argc, char* argv[]){    //基本矩形    TopoDS_Shape theBox = BRepPrimAPI_MakeBox(200, 60, 60).Shape();    //基本球体    TopoDS_Shape theSphere = BRepPrimAPI_MakeSphere(gp_Pnt(100, 20, 20), 80).Shape();    //基本矩形与基本球体进行几何差运算,形成新的形状    TopoDS_Shape ShapeCut = BRepAlgoAPI_Cut(theSphere, theBox);    Viewer vout(50, 50, 500, 500);    vout << ShapeCut;    vout.StartMessageLoop();    return 0;}

Open CASCADE学习|布尔运算,Open CASCADE,学习,c++,Open CASCADE

3、交集:BRepAlgoAPI_Common

#include <BRepPrimAPI_MakeWedge.hxx>#include <BRepPrimAPI_MakeBox.hxx>#include"Viewer.h"#include <BRepAlgoAPI_Common.hxx>int main(int argc, char* argv[]){    //基本矩形    gp_Ax2 axe(gp_Pnt(10, 10, 10), gp_Dir(1, 2, 1));    TopoDS_Shape theBox = BRepPrimAPI_MakeBox(axe, 60, 80, 100).Shape();    //基本楔型    TopoDS_Shape theWedge = BRepPrimAPI_MakeWedge(60., 100., 80., 20.).Shape();    //基本矩形与基本楔型进行布尔交(Intersection)运算    TopoDS_Shape theCommonSurface = BRepAlgoAPI_Common(theBox, theWedge);    Viewer vout(50, 50, 500, 500);    vout << theCommonSurface;    vout.StartMessageLoop();    return 0;}

Open CASCADE学习|布尔运算,Open CASCADE,学习,c++,Open CASCADE

4、交线:BRepAlgoAPI_Section

#include <gp_Pln.hxx>#include <BRepBuilderAPI_MakeFace.hxx>#include"Viewer.h"#include <BRepAlgoAPI_Section.hxx>#include <TopoDS_Face.hxx>int main(int argc, char* argv[]){    gp_Dir  Z(0.0, 0.0, 1.0);    gp_Dir  X(1.0, 0.0, 0.0);    gp_Pnt center(0, 0, 0.0);    gp_Pln TPlane1(center, Z);    TopoDS_Face F1 = BRepBuilderAPI_MakeFace(TPlane1, -1, 1.0, -1, 1);    gp_Pln TPlane2(center, X);    TopoDS_Face F2 = BRepBuilderAPI_MakeFace(TPlane2, -1, 1.0, -1, 1);    // 进行布尔运算    BRepAlgoAPI_Section section(F1, F2, Standard_False);    section.ComputePCurveOn1(Standard_True);    section.Approximation(Standard_False);    section.Build();    Viewer vout(50, 50, 500, 500);    vout << section.Shape();    vout << F1;    vout.StartMessageLoop();    return 0;}

Open CASCADE学习|布尔运算,Open CASCADE,学习,c++,Open CASCADE文章来源地址https://www.toymoban.com/news/detail-826135.html

到了这里,关于Open CASCADE学习|布尔运算的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Open CASCADE学习|直纹曲面(ruled surface)

    直纹曲面是一类特殊的曲面,在几何学和微分几何中都有研究。它的主要特性是,曲面上的每一点都有至少一条直线经过。换句话说,直纹曲面可以由一条直线通过连续运动构成。在三维欧几里德空间中,最常见的直纹曲面是平面、柱面和锥面,著名的莫比乌斯环也是直纹曲

    2024年02月21日
    浏览(46)
  • Open CASCADE学习|为什么由Edge生成Wire不成功?

    Wire 是一种复合形状,不是由几何形状构建的,而是由边缘的装配构建的。BRepBuilderAPI_MakeWire类可以从一个或多个Edge构建Wire,或将新Edge连接到现有Wire。  BRepBuilderAPI_MakeWire 类将Edge连接到Wire。添加新Edge时,如果其顶点之一与Wire共享,则认为它已连接到Wire。如果没有共享顶

    2024年02月22日
    浏览(55)
  • Open CASCADE学习|迭代NCollection_Sequence<gp_Pnt>

    目录 1、NCollection_Sequence 2、NCollection_Sequence 3、迭代NCollection_Sequence 3.1使用传统for循环 3.2使用C++11范围for循环 3.3 使用迭代器 3.4使用STL算法 3.5转换为其他容器类型 NCollection_Sequence是Open CASCADE Technology (OCCT) 中的一个模板类,它用于存储和管理一系列对象。这个类提供了一种灵

    2024年04月15日
    浏览(34)
  • VCG 网格布尔运算

    Mesh布尔操作是一种在三维计算机图形学中用于组合两个或多个网格(mesh)对象的方法。它可以将两个网格对象组合成一个新的对象,同时保留原始对象的拓扑结构和几何信息。Mesh布尔操作主要有以下三种类型: Union(并集):将两个网格对象的几何体积合并成一个对象,保

    2024年01月21日
    浏览(36)
  • 【Axure视频教程】布尔运算制作自定义形状

    今天教大家在Axure通过布尔运算制作自定义形状,本教程从布尔运算的基础原理和操作讲起,然后通过制作气泡输入框、环形、可视图标这3个案例更加深入的教大家如何使用布尔运算制作出自己需要的形状或者图标。具体效果可以参考下方视频,该教程从0开始制作,手把手教

    2024年02月04日
    浏览(54)
  • 【Python入门】Python的判断语句(布尔类型和比较运算符)

    前言 📕作者简介: 热爱跑步的恒川 ,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Python零基础入门系列,本专栏主要内容为Python基础语法、判断、循环语句、函数、函数进阶、数据容器、文件操作、异常模块与包、数据可视化等,

    2024年02月03日
    浏览(57)
  • 【Python入门篇】——Python中判断语句(布尔类型,比较运算符,if语句)

    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: Python入门,本专栏主要内容为Python的基础语法,Python中的选择循环语句,Python函数,Python的数据容器等。 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 进行判断,只有2个

    2024年02月03日
    浏览(41)
  • Hive 分区表新增字段 cascade

    在以前上线的分区表中新加一个字段,并且要求添加到指定的位置列。 加 cascade 操作 创建测试表 插入测试数据 查看现有数据 官网添加列的语法 注意: Hive 1.1.0 中有 CASCADE|RESTRICT 子句。 ALTER TABLE ADD|REPLACE COLUMNS CASCADE 命令修改表元数据的列,并将相同的更改级联到所有分区

    2024年02月11日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包