Python 从STEP文件解析BREP

Python 从STEP文件解析BREP,python,opencascade,Python,Opencascade,我有一个从OnShape导出的STEP文件 在OnShape文档中,我有一个部件,其中包含一个零件和另一个部件的两个实例(其中包含两个其他零件) 当我在python occ中打开这个文件时,唯一得到的是一个似乎包含所有面的形状,而不是一种层次结构 有没有办法探索这种层次结构?有一个零件列表,以及它们在部件中的使用位置。因此,即使我没有获得部件的任何层次结构,我也可以获取所有零件并提取所有唯一的零件 打开步骤文件: sr = STEPControl_Reader() sr.ReadFile("my

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

在OnShape文档中,我有一个部件,其中包含一个零件和另一个部件的两个实例(其中包含两个其他零件)

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


有没有办法探索这种层次结构?有一个零件列表,以及它们在部件中的使用位置。

因此,即使我没有获得部件的任何层次结构,我也可以获取所有零件并提取所有唯一的零件

打开步骤文件:

sr = STEPControl_Reader()
sr.ReadFile("myFile.step")
转移所有根部,然后将每个形状作为根部,访问它们:

ex = TopExp_Explorer(shape, TopAbs_SOLID)
您可以通过T形状识别独特的零件:

solid = ex.Current()
tshapePtr = solid.TShape().DumpToString()
tshapePtr的值将与使用相同TShape的每个形状相同,因此是相同的零件

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