PythonOCC

PythonOCCで玉を動かす

作ったモデルを動かすことが出来るらしい。
はじめに玉を作って、X方向に10mm動かしてみた。

金色の玉がはじめに作った玉
青色の玉が10mm移動させた玉

移動方向と移動量決めて、

# 移動方向と移動量
trsf = gp_Trsf()
trsf.SetTranslation(gp_Vec(10., 0, 0 ) )

このように移動してます。

# 玉をずらす
my_sphere_moved = BRepBuilderAPI_Transform(my_sphere, trsf ).Shape()

中身はこんな感じです

from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeSphere
from OCC.Core.BRepBuilderAPI import BRepBuilderAPI_Transform
from OCC.Core.gp import gp_Trsf, gp_Vec
from OCC.Core.AIS import AIS_ColoredShape
from OCC.Display.SimpleGui import init_display
from OCC.Display.OCCViewer import rgb_color

display, start_display, add_menu, add_function_to_menu = init_display()

# 玉を作成
my_sphere = BRepPrimAPI_MakeSphere(10.).Shape()

# 移動方向と移動量
trsf = gp_Trsf()
trsf.SetTranslation(gp_Vec(10., 0, 0 ) )

# 玉をずらす
my_sphere_moved = BRepBuilderAPI_Transform(my_sphere, trsf ).Shape()

# ずらした玉を青っぽい色へ
ais_sphere_moved = AIS_ColoredShape(my_sphere_moved )
ais_sphere_moved.SetCustomColor(my_sphere_moved, rgb_color(0.3, 0.4, 0.9 ) )

# 表示
display.DisplayShape(my_sphere, update=True )
display.Context.Display(ais_sphere_moved, True )

start_display()

-PythonOCC

© 2021 暇人が趣味をさがす