PythonOCC

PythonOCCで体積と重心の位置を取得する

2020年5月10日

体積を取得してみます。

ついでに重心の位置も取得します。

いつもの10×20×30の直方体を使います。

どちらも、brepgprop_VolumeProperties() を使います。

はい、こんな感じになりました。

中心の赤+の位置が重心です。

その場所に体積を表示させました。

中身はこんな感じです。

from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeBox
from OCC.Core.GProp import GProp_GProps
from OCC.Core.BRepGProp import brepgprop_VolumeProperties
from OCC.Display.SimpleGui import init_display

display, start_display, add_menu, add_function_to_menu = init_display()

# 箱作成
my_box = BRepPrimAPI_MakeBox(10.,20.,30.).Shape()

# 箱表示
display.DisplayShape(my_box, transparency=0.6, update=True )

# 体積を求める
prop = GProp_GProps()
brepgprop_VolumeProperties(my_box, prop)

# 重心
pnt = prop.CentreOfMass()
display.DisplayShape(pnt, color="red" )

# 体積を表示
display.DisplayMessage(pnt, "Volume " + str( prop.Mass() ), height=30.)

start_display()

-PythonOCC

© 2021 暇人が趣味をさがす