我有一个从OnShape导出的STEP文件。
在我的OnShape文档中,我有一个程序集,其中包含另一个程序集的一部分和两个实例(其中包含2个其他部分)。
当我在 python-occ 中打开此文件时,我唯一得到的是一个似乎包含每个面的形状,而不是具有某种层次结构。
有没有办法探索这种层次结构?列出零件清单以及它们在装配体内的使用位置。
答案 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的每个形状相同,因此是相同的部分。
然后简单地通过使用三角测量探索每个面的形状来提取面和顶点。