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

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

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

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

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

TopTools_ShapeMapHasher.IsEqual(edge1, edge2)

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

相关推荐
2401_879693871 小时前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python
xixihaha13248 小时前
将Python Web应用部署到服务器(Docker + Nginx)
jvm·数据库·python
xixihaha13248 小时前
Python游戏中的碰撞检测实现
jvm·数据库·python
ID_180079054739 小时前
模拟1688商品详情的Python API实现,返回符合风格的JSON数据
开发语言·python·json
程序员小远9 小时前
软件测试之功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
我的xiaodoujiao9 小时前
API接口自动化测试详细图文教程学习系列1--序章
python·学习·pytest
ZhengEnCi9 小时前
P1B-Python环境配置基础完全指南-Windows系统安装与验证
python
m0_7166670710 小时前
NumPy入门:高性能科学计算的基础
jvm·数据库·python
带娃的IT创业者10 小时前
Weclaw 请求路由实战:一个 request_id 如何在 800 个并发连接中精准找到目标浏览器?
python·websocket·fastapi·架构设计·实时通信·openclaw·weclaw
2401_8442213211 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python