opencascade 判断两个TopoDS-Shape 是否相同

我们使用opencascade提取实体时,经常会出现实体重复,例如从正方体实体中提取Edge,我们会发现能提取出24个Edge,但正方体只有12条边,这是因为每条边有两个面,进行了重复提取。

如果我们想去掉重复的边,可以通过判断两条边是否相等实现(实际上不需要通过此方法),但是通过 == 运算符进行判断通常是无效的,即两条重合的边在运算符 == 下会被判定为否,那么我们想判断两条边是否相等如何实现?

可通过 TopTools_ShapeMapHasher 实现,代码如下(C++代码类似):

python 复制代码
from OCC.Core.TopTools import TopTools_ShapeMapHasher

TopTools_ShapeMapHasher.IsEqual(edge1, edge2)

以上代码即可判断两条边是否相等,其它形状类似。

相关推荐
清水白石0081 小时前
突破并行瓶颈:Python 多进程开销全解析与 IPC 优化实战
开发语言·网络·python
Lupino3 小时前
IoT 平台可编程化:基于 Pydantic Monty 构建工业级智能自动化链路
python
清水白石0084 小时前
突破性能瓶颈:深度解析 Numba 如何让 Python 飙到 C 语言的速度
开发语言·python
yunhuibin5 小时前
AlexNet网络学习
人工智能·python·深度学习·神经网络
喵手6 小时前
Python爬虫实战:增量爬虫实战 - 利用 HTTP 缓存机制实现“极致减负”(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·增量爬虫·http缓存机制·极致减负
一个处女座的程序猿O(∩_∩)O6 小时前
Python异常处理完全指南:KeyError、TypeError、ValueError深度解析
开发语言·python
was1726 小时前
使用 Python 脚本一键上传图片到兰空图床并自动复制链接
python·api上传·自建图床·一键脚本
好学且牛逼的马7 小时前
从“Oak”到“虚拟线程”:JDK 1.0到25演进全记录与核心知识点详解a
java·开发语言·python
shangjian0077 小时前
Python基础-环境安装-Anaconda配置虚拟环境
开发语言·python
codeJinger7 小时前
【Python】函数
开发语言·python