当前位置: 首页 > news >正文

Open CASCADE学习|布尔运算后消除内部拓扑

在CAD建模中,布尔运算是一种逻辑运算方法,通过这种方法,可以创建、修改或组合几何对象。布尔运算主要包括并集(UNION)、交集(INTERSECT)和差集(SUBTRACT)三种运算。

并集(UNION):将两个或多个实体合并成一个整体。在CAD中,可以通过选择并集命令,然后依次选择要求并集的实体,完成并集操作后,这些实体将合并成一个整体。

交集(INTERSECT):取两个实体的公共部分保留为新对象,相交以外的部分删除。在CAD中,执行交集命令后,需要先选择第一个对象,然后选择第二个对象,系统会根据这两个对象生成一个新的实体,只包含它们的公共部分。

差集(SUBTRACT):从第一个选择的对象中减去第二个选择的对象。在CAD中,执行差集命令后,需要先选择被减对象,然后选择减去的对象,完成后,被减对象中减去减去对象的部分将被删除。

在OCCT中,布尔运算后,往往会出现缝合线。为了消除缝合线,我们需要用到工具类ShapeUpgrade_UnifySameDomain,该工具用于统一一个几何模型上的面和边。应该可以理解为,同一模型,同一面上的边,统一用边界的边来表示,其余的去掉。

This tool tries to unify faces and edges of the shape which lies on the same geometry. Faces/edges considering as 'same-domain' if a group of neighbouring faces/edges lying on coincident surfaces/curves. In this case these faces/edges can be unified into one face/edge. ShapeUpgrade_UnifySameDomain initialized by the shape and the next optional parameters: UnifyFaces - tries to unify all possible faces UnifyEdges - tries to unify all possible edges ConcatBSplines - if this flag set to true then all neighbouring edges which lays on the BSpline or Bezier curves with C1 continuity on their common vertices will be merged into one common edge The output result of tool is an unified shape All the modifications of initial shape are recorded during unifying. Method Generated() can be used to obtain the new (unified) shape from the old one.

  TopoDS_Shape fuse = BRepAlgoAPI_Fuse(bigCube, smallCube);//先融合  ShapeUpgrade_UnifySameDomain unif(fuse , false, true, false);  unif.Build();  fuse = unif.Shape();

http://www.lryc.cn/news/301438.html

相关文章:

  • 【数据仓库】主题域和数据域
  • C#,二分法(Bisection Method)求解方程的算法与源代码
  • Portainer安装/快速上手
  • 恢复被.target勒索病毒加密的数据文件:拒绝向.target勒索病毒支付赎金
  • 【Linux网络编程六】服务器守护进程化Daemon
  • MySQL之json数据操作
  • 【大厂AI课学习笔记】【2.1 人工智能项目开发规划与目标】(5)数据管理
  • Linux满载CPU和运行内存的方法
  • 每日五道java面试题之java基础篇(九)
  • spring @Transactional注解参数详解
  • D - 串结构练习——字符串连接
  • 什么样的服务器是高性能服务器?
  • 数学建模【线性规划】
  • ChatGPT的大致原理
  • 蓝桥杯备赛_python_BFS搜索算法_刷题学习笔记
  • 轮播图的五种写法(原生、vue2、vue3、react类组件,react函数组件)
  • 【MySQL】高度为2和3时B+树能够存储的记录数量的计算过程
  • 软件著作书 60页代码轻松搞定!(附exe和代码)
  • 阿里文档类图像的智能识别,文档分类自定义分类器
  • 256.【华为OD机试真题】会议室占用时间(区间合并算法-JavaPythonC++JS实现)
  • 人工智能学习与实训笔记(三):神经网络之目标检测问题
  • SSM框架,Spring-ioc的学习(下)
  • 【AIGC】Stable Diffusion的模型微调
  • VNCTF 2024 Web方向 WP
  • 第11章 GUI
  • 综合项目---博客
  • leetcode(矩阵)74. 搜索二维矩阵(C++详细解释)DAY7
  • 超详细||YOLOv8基础教程(环境搭建,训练,测试,部署看一篇就够)(在推理视频中添加FPS信息)
  • LeetCode171. Excel Sheet Column Number
  • pycharm创建py文件,自动带# -*- coding:utf-8 -*-