体積を取得してみます。
ついでに重心の位置も取得します。
いつもの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()