2015-03-31 105 views
0

我想創建一個polyhedron,通過給出它的座標,然後得到一個特定的部分。可能是這樣的:Python:創建一個多面體並獲得它的部分

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. BlenderRhino是很好的工具。但他們更關注modelling而不是programming。 Python更像是一個交互式命令行,而不是程序本身。
  3. Three.js似乎我需要,但js不能執行科學計算。

enter image description here

回答

1

作爲攪拌器的用戶我的觀點是偏向這種方式。是的,它專注於成爲最終用戶的GUI工具,但它深深地集成了python來定義用戶界面,一路添加通過python插件添加功能。它還包含一個python控制檯,可讓您輸入直接更改數據的命令,從而可以查看3dview中的更改。也可以添加額外的python模塊,然後可以在攪拌機內使用。

Blender's python api可以是read and searched online

您應該找到一些示例來幫助在extra objects addon中創建多面體。它包含在攪拌機中,因此您還可以在攪拌機安裝中找到腳本。

也許看看intersect tool works如何,你可以自己調用intersect operator,也有一個boolean modifier,這可能會更好地得到一個封閉的網格來計算音量。

對於計算容積有BMesh.calc_volume,它使用3d printing toolbox

您可能需要將blender.stackexchange.com添加到列表中以獲取特定於攪拌機的Python幫助。

相關問題