0

我想polyhedron通过给出它的坐标来创建一个,然后得到一个特定的部分。也许是这样的:

Points = [A(0,0,0),B(1,0,0),C(1,1,0),D(0,1,0),A"(0,0,1),B"(1,0,1),C"(1,1,1),D"(0,1,1)]
Body = BodyGenerate(Points)
section1 = Body.section(z = 0.5)
section2 = Body.section(x+y= 1)
#And then I can get properties like `area`, `width` of these sections. 

我怎样才能做到这一点?有lib吗?

这是我到目前为止发现的:

  1. Vpython是我所需要的,但它似乎太基础了,无法创建多面体
  2. Blender并且Rhino是很好的工具。但他们更多地关注modelling而不是programming。Python 更像是一个交互式命令行,而不是一个程序本身。
  3. Three.js似乎是我需要的,但js无法执行科学计算。

在此处输入图像描述

4

1 回答 1

2

作为搅拌机用户,我的观点是有偏见的。是的,它专注于成为最终用户的 gui 工具,但它深度集成了 python,用于定义用户界面,一直到通过 python 插件添加功能。它还包括一个 python 控制台,可让您输入直接更改数据的命令,从而可以查看 3dview 中的更改。也可以添加额外的 python 模块,然后可以在搅拌机中使用。

Blender的python api可以在线阅读和搜索

您应该找到一些示例来帮助在额外对象插件中创建多面体。它包含在搅拌机中,因此您还可以在搅拌机安装中找到脚本。

也许看看intersect 工具是如何工作的,你可以自己调用intersect 运算符,还有一个布尔修改器可能更好地得到一个封闭的网格来计算体积。

3d 打印工具箱BMesh.calc_volume使用它来计算体积。

您可能希望将blender.stackexchange.com添加到您的列表中以获取特定于搅拌机的 python 帮助。

于 2015-03-31T12:45:02.487 回答