python - 从 STEP 文件解析 BReps

标签 python opencascade

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

在我的 OnShape 文档中,我有一个装配体,其中包含一个零件和另一个装配体的两个实例(其中还有另外 2 个零件)。

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

有没有办法探索这个层次结构?列出零件及其在装配中的使用位置。

最佳答案

因此,解决方案是,即使我没有获得程序集的任何层次结构,我也可以取回所有零件并提取所有独特的零件。

打开STEP文件:

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

传输所有根,然后将每个形状作为根,访问它们:

ex = TopExp_Explorer(shape, TopAbs_SOLID)

您可以使用 TShape 识别独特的零件:

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

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

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

关于python - 从 STEP 文件解析 BReps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34051954/

相关文章:

python - 在进程之间共享字典

python - 当出现异常时捕获 subprocess.Popen 的标准输出

python - 从网页中抓取 md5s 并将它们与普通密码进行比较

android - OpenCascade Android Studio

python - 从 OpenCascade 表面获取 (t, c, k) 值

Python - 根据条件读取文本文件中的特定行

python - 在PyQt5中实现洪水填充

c++ - 如何获取 TopoDS_Face 的质心坐标?

c++ - 使用 OPEN CASCADE 的表面交叉点

c++ - 将 TopoDS_Face 对象分配给其子对象编译时没有错误,但有 3 个 valgrind 错误