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

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

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

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

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

TopTools_ShapeMapHasher.IsEqual(edge1, edge2)

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

相关推荐
吴佳浩2 小时前
LangChain 深入
人工智能·python·langchain
网安-轩逸4 小时前
回归测试原则:确保软件质量的基石
自动化测试·软件测试·python
Mr_Xuhhh5 小时前
YAML相关
开发语言·python
咖啡の猫5 小时前
Python中的变量与数据类型
开发语言·python
汤姆yu5 小时前
基于springboot的电子政务服务管理系统
开发语言·python
执笔论英雄6 小时前
【RL】python协程
java·网络·人工智能·python·设计模式
帮帮志7 小时前
【AI大模型对话】流式输出和非流式输出的定义和区别
开发语言·人工智能·python·大模型·anaconda
jquerybootstrap7 小时前
大地2000转经纬度坐标
linux·开发语言·python
Y***89087 小时前
【JAVA进阶篇教学】第十二篇:Java中ReentrantReadWriteLock锁讲解
java·数据库·python
DanB248 小时前
Java(多线程)
java·开发语言·python