【发布时间】:2021-04-03 09:52:54
【问题描述】:
我的目标是编写一个 Python 程序,在 STEP 文件中提取对象的体积。我能够发现 steputils 和 aoxchange 是 Python 中存在的两个库,但它们似乎都没有包含足够的关于从文件中提取卷/属性的文档。是否有任何文件可以解释这一点?我为STL 文件尝试了一个类似的用例,并且能够使用numpy-stl 成功实现它。我正在为 STEP 文件搜索类似 numpy-stl 的东西。下面是我如何为STL 文件实现它的示例代码。
import numpy
from stl import mesh
your_mesh = mesh.Mesh.from_file('/path/to/myfile.stl')
volume, cog, inertia = your_mesh.get_mass_properties()
print("Volume = {0}".format(volume))
【问题讨论】:
-
@itprorh66 这个问题似乎很具体,可能有适合此任务的 unique(或至少“规范”)工具。如果有关如何在 Python 中查找列表长度的问题可以得到数百个赞成票,那么为了保持一致性,SO 应该容忍有关如何实现更具体任务的问题,例如“在
STEP文件中提取对象的体积”。为此,我对这个问题投了赞成票。 -
@itprorh66 添加了最小可重现示例。问题也用更好的语法进行了编辑。
-
不是python,而是一种算法和一篇论文来检查你是否想形成一个函数stackoverflow.com/questions/1406029/…
-
找到了一个repo,他们似乎在使用pythonocc将step文件转换为stl,然后计算体积:https://github.com/jdlubrano/cad_volume
-
请注意,STEP 文件可能会定义“验证”属性 - 例如直接在 STEP 文件中编码的体积/表面值。从几何重新计算体积并从 STEP 文件本身提取此信息不是一回事(尽管在有效的 STEP 文件和精细的 STEP 几何导入没有问题的情况下,值应该相同或彼此接近)。
标签: python python-3.x step