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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/687126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“我觉得我今年可能要随便找个人嫁了,下半辈子应该都不会再快乐了”

2月15日&#xff0c;“张颂文情商”的话题登上热搜&#xff0c;引发网友热议。 许多人对张颂文老师的情商表达了高度的赞扬和敬意&#xff0c;纷纷感叹&#xff1a;“张颂文老师真的是一个非常会安慰人的人&#xff01;” 在2月13日的一条微博中&#xff0c;张颂文分享了家里三…

【JavaEE】_HTTP请求首行

目录 1. URL 2. 方法 2.1 GET方法 2.2 POST方法 2.3 GET与POST的区别 2.4 低频使用方法 1. URL 在mysql JDBC中已经提到过URL的相关概念&#xff1a; 如需查看有关JDBC更多内容&#xff0c;原文链接如下&#xff1a; 【MySQL】_JDBC编程-CSDN博客 URL用于描述某个资源…

K8s进阶之路-安装部署K8s

参考&#xff1a;&#xff08;部署过程参考的下面红色字体文档链接就可以&#xff0c;步骤很详细&#xff0c;重点部分在下面做了标注&#xff09; 安装部署K8S集群文档&#xff1a; 使用kubeadm方式搭建K8S集群 GitBook 本机&#xff1a; master&#xff1a;10.0.0.13 maste…

[Angular 基础] - 视图封装 局部引用 父子组件中内容传递

[Angular 基础] - 视图封装 & 局部引用 & 父子组件中内容传递 之前的笔记&#xff1a; [Angular 基础] - Angular 渲染过程 & 组件的创建 [Angular 基础] - 数据绑定(databinding) [Angular 基础] - 指令(directives) 以上为静态页面&#xff0c;即不涉及到跨组…

模拟算法.

1.什么是模拟 在信息奥赛中,有一类问题是模拟一个游戏的对弈过程或者模拟一项任务的操作过程.比如乒乓球在比赛中模拟统计记分最终判断输赢的过程等等,这些问题通常很难通过建立数学模型用特定的算法来解决因为它没有一种固定的解法,需要深刻理解出题者对过程的解释一般只能采…

【sgCreateTableData】自定义小工具:敏捷开发→自动化生成表格列数据数组[基于el-table]

源码 <template><!-- 前往https://blog.csdn.net/qq_37860634/article/details/136141769 查看使用说明 --><div :class"$options.name"><div class"sg-head">表格数据生成工具</div><div class"sg-container&quo…

政安晨:【完全零基础】认知人工智能【机器学习】的【神经网络】 【超级简单】(一)

开个头 很多小伙伴们很想亲近人工智能与机器学习领域&#xff0c;然而这个领域里的核心理论、算法、工具给人感觉都太过“高冷”&#xff0c;让很多小伙伴们望而却步&#xff0c;导致一直无法入门。 如何捅破这层窗户纸&#xff1f; 让高冷的不再高冷&#xff0c;让神秘的不…

Windows环境部署nginx 文件服务器

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 在Windows环境下使用nginx部署简单的文件服务器 一、版本 1. Windows 使用版本 2. nginx 使用版本 选择Mainline Version版本 二、nginx配置 1. 下载 https://nginx.org/en/download.…

HTML-多媒体嵌入-MDN文档学习笔记

HTML-多媒体与嵌入 查看更多学习笔记&#xff1a;GitHub&#xff1a;LoveEmiliaForever MDN中文官网 HTML-中的图片 将图片放入网页 可以使用<img/>来将图片嵌入网页&#xff0c;它是一个空元素&#xff0c;最少只需src属性即可工作 <img src"图片链接"…

Linux操作系统基础(十三):Linux安装、卸载MySQL

文章目录 Linux安装、卸载MySQL 一、卸载系统自带的mariadb-lib 二、上传安装包并解压 三、按顺序安装 错误1: 错误2: 错误3: 错误4: 四、初始化数据库 五、目录授权&#xff0c;否则启动失败 六、启动msyql服务 七、查看msyql服务的状态 八、在/var/log/mysqld.l…

算法——数论——同余

目录 同余 一、试题 算法训练 同余方程 同余 同余使人们能够用等式的形式简洁地描述整除关系同余&#xff1a;若 m&#xff08;正整数&#xff09;&#xff0c;a 和 b 是整数&#xff0c;a%mb%m&#xff0c;或(a-b)%m0&#xff0c;记为 a b(mod m)求解一元线性同余方程等价于…

解决ubuntu登录密码问题

解决ubuntu登录密码问题 不要随便删除密码&#xff0c;不要随便改密码&#xff0c;很容导致密码过期&#xff0c;或者密码无效。参考了很多人的做法&#xff0c;都没有得到解决。下面的过程&#xff0c;够详细了&#xff0c;我就是这么搞好的。 1、重启虚拟机&#xff0c;不停…

Linux第59步_“buildroot”构建根文件系统第1步_生成rootfs.tar和rootfs.ext4以及通过nfs下载测试

学习安装“buildroot”&#xff0c;通过配置构建根文件系统&#xff0c;编译生成rootfs.tar和rootfs.ext4&#xff0c;以及通过nfs下载测试。 1、了解学习目的&#xff1a; 1)、获取“buildroot”安装包&#xff1b; 2)、使用“buildroot”构建根文件系统&#xff1b; 3)、…

相机图像质量研究(31)常见问题总结:图像处理对成像的影响--图像差

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

一起学量化之Aroon指标

Aroon指标是由Tushar Chande于1995年开发的技术分析工具,旨在识别股票是否处于趋势中及趋势的强度。它通过分析股票价格在一定周期内创下的新高和新低来预测趋势的变化,这基于一种观念:强势趋势通常伴随着频繁的新高或新低。 1. Aroon指标的组成 Aroon指标由两个部分组成:…

ADC--模拟量转换成数字量

目录 一、ADC硬件组成七大部分&#xff1a; 二、单次转换&#xff0c;连续转换&#xff0c;不连续采样模式&#xff0c;扫描模式区别 1、举例(5种组合情况) 2、模拟看门狗中断的作用&#xff1a; 三、MCU使用ADC步骤 一、ADC硬件组成七大部分&#xff1a; ①输入电压&#…

Java实战:构建智能工作量统计系统

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

如何清除谷歌浏览器的缓存?这里有详细步骤

如果你想解决加载或格式化问题&#xff0c;以改善你在谷歌Chrome上的浏览体验&#xff0c;那么清除缓存和cookie是一个很好的开始。以下是删除它们的方式和操作。 删除缓存和cookie时会发生什么 当你访问一个网站时&#xff0c;它有时会保存&#xff08;或记住&#xff09;某…

DS:八大排序之堆排序、冒泡排序、快速排序

创作不易&#xff0c;友友们给个三连吧&#xff01;&#xff01; 一、堆排序 堆排序已经在博主关于堆的实现过程中详细的讲过了&#xff0c;大家可以直接去看&#xff0c;很详细,这边不介绍了 DS&#xff1a;二叉树的顺序结构及堆的实现-CSDN博客 直接上代码&#xff1a; …

算法||实现典型数据结构的查找、添加和删除数据 并分析其时间和空间复杂度

实现典型数据结构的查找、添加和删除数据 并分析其时间和空间复杂度 线性结构&#xff1a; 数组&#xff1a;是一种线性表数据结构&#xff0c;它用一组连续的内存空间&#xff0c;来存储一组具有相同类型的数据。 查找数据 &#xff1a;随机访问 流程图 /** 查询元素下标…