我有一个从 OnShape 导出的 STEP 文件。
在我的 OnShape 文档中,我有一个组件,其中包含另一个组件的一个零件和两个实例(其中还有两个其他零件)。
当我在python-occ中打开这个文件时,我唯一得到的是一个似乎包含每个面孔而不是具有某种层次结构的形状。
有没有办法探索这种层次结构?有一个零件清单以及它们在装配体中的使用位置。
我有一个从 OnShape 导出的 STEP 文件。
在我的 OnShape 文档中,我有一个组件,其中包含另一个组件的一个零件和两个实例(其中还有两个其他零件)。
当我在python-occ中打开这个文件时,我唯一得到的是一个似乎包含每个面孔而不是具有某种层次结构的形状。
有没有办法探索这种层次结构?有一个零件清单以及它们在装配体中的使用位置。
所以解决方案,即使我没有得到任何装配层次结构,我也可以取回所有零件并提取所有独特的零件。
打开步骤文件:
sr = STEPControl_Reader()
sr.ReadFile("myFile.step")
转移所有根,然后将每个形状作为根,访问它们:
ex = TopExp_Explorer(shape, TopAbs_SOLID)
您可以使用 TShape 识别一个独特的部分:
solid = ex.Current()
tshapePtr = solid.TShape().DumpToString()
tshapePtr的值将与使用相同 TShape 的每个形状相同,因此是相同的部分。
然后简单地通过使用三角剖分探索每个面的形状来提取面和顶点。