本文主要是介绍opencascade 判断两个TopoDS-Shape 是否相同,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们使用opencascade提取实体时,经常会出现实体重复,例如从正方体实体中提取Edge,我们会发现能提取出24个Edge,但正方体只有12条边,这是因为每条边有两个面,进行了重复提取。
如果我们想去掉重复的边,可以通过判断两条边是否相等实现(实际上不需要通过此方法),但是通过 == 运算符进行判断通常是无效的,即两条重合的边在运算符 == 下会被判定为否,那么我们想判断两条边是否相等如何实现?
可通过 TopTools_ShapeMapHasher 实现,代码如下(C++代码类似):
from OCC.Core.TopTools import TopTools_ShapeMapHasherTopTools_ShapeMapHasher.IsEqual(edge1, edge2)
以上代码即可判断两条边是否相等,其它形状类似。
这篇关于opencascade 判断两个TopoDS-Shape 是否相同的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!