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

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

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

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

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

TopTools_ShapeMapHasher.IsEqual(edge1, edge2)

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

相关推荐
CodeArtisanX13 分钟前
探索 TensorFlow 模型的秘密:TensorBoard 详解与实战
人工智能·python·tensorflow
子龙烜20 分钟前
机器学习--概念理解
人工智能·python·机器学习·ai·pandas·scikit-learn·matplotlib
Stara051124 分钟前
熟练掌握爬虫技术
爬虫·python·node.js
weixin_83686952033 分钟前
使用Random.next生成随机数
java·前端·python
胜天半子祁厅43 分钟前
Python学习打卡:day15
windows·python·学习
哈__1 小时前
【机器学习】Python中sklearn中数据基础处理与分析过程
python·决策树·机器学习·sklearn·深入scikit-learn:掌握python最强大的机器学习库
杨树与晨光1 小时前
常用字符串方法<python>
开发语言·笔记·python
穆_清1 小时前
python基础问题记录
python
在路上-正出发1 小时前
【perl】脚本编程的一些坑&案例
java·python·perl
橙子味冰可乐1 小时前
input()函数——输入
linux·服务器·windows·python·tcp/ip·sqlite