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

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

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

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

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

TopTools_ShapeMapHasher.IsEqual(edge1, edge2)

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

相关推荐
程序猿乐锅5 分钟前
面向对象练习:图书借阅系统里的封装、抽象类与多态
开发语言·前端·数据库·后端·python·学习·1024程序员节
xyouyuweizhu10 分钟前
Java IO 流详解:流的作用、流的划分与标准输入输出流
java·python·php
lumengabc20 分钟前
视频制作文字转语音PPT台词生成合成合并视频导出ffmpeg软件python edge-tts
python
MSTcheng.23 分钟前
Agent 跑到一半崩了,怎么从上一步接着跑?LangGraph StateGraph 实战:状态持久化、断点恢复与人工审批
python·状态管理·ai agent·langgraph·断点恢复·人工审批
海绵宝宝的月光宝盒24 分钟前
9-AutoCAD-移动、旋转、复制命令应用与案例实战
经验分享·笔记·职场和发展·课程设计·制造·学习方法·cad
略略略咯咯26 分钟前
33333
开发语言·windows·python
java_prinln27 分钟前
11. 说说 Single-Agent 和 Multi-Agent 的设计方案?
python
垆边人似月.30 分钟前
第三篇:函数、文件与异常处理 / Functions, Files & Exception Handling
开发语言·python
我的xiaodoujiao31 分钟前
Django 权限系统项目实战详细图文教程 4--系统登录功能实现 2
后端·python·django
鬼手点金34 分钟前
缓存作为架构约束
开发语言·前端·人工智能·python·microsoft·缓存·架构