从STEP文件中解析BRep

时间:2015-12-02 20:01:46

标签: python opencascade

我有一个从OnShape导出的STEP文件。

在我的OnShape文档中,我有一个程序集,其中包含另一个程序集的一部分和两个实例(其中包含2个其他部分)。

当我在 python-occ 中打开此文件时,我唯一得到的是一个似乎包含每个面的形状,而不是具有某种层次结构。

有没有办法探索这种层次结构?列出零件清单以及它们在装配体内的使用位置。

1 个答案:

答案 0 :(得分:1)

所以解决方案,即使我没有获得任何组件的层次结构,我可以取回所有部分并提取所有独特的部分。

打开STEP文件:

sr = STEPControl_Reader()
sr.ReadFile("myFile.step")

转移所有根,然后为每个形状作为根,请访问:

ex = TopExp_Explorer(shape, TopAbs_SOLID)

你可以用TShape识别一个独特的部分:

solid = ex.Current()
tshapePtr = solid.TShape().DumpToString()

tshapePtr 的值与使用相同TShape的每个形状相同,因此是相同的部分。

然后简单地通过使用三角测量探索每个面的形状来提取面和顶点。