###Blenderを初めて操作してデータをpythonで使う。
Python超初心者の備忘録です。
今回はBlenderでオブジェクトを作ることに挑戦してみました。
blenderは全く初心者です。
####流れ
blenderをインストールする
マニュアル、解説を読んで データをpythonで読み込める形式で出力する。
pythonで読み込むsampleプログラムをネットで検索する。
windowsのpythonで結果を出力する。
###1 blenderをインストールする
blenderで検索。https://blender.jp/ から ver2.78bをDownload
指示に従ってインストール
###2 オブジェクトを作り stl形式で出力する。
Blender初心者が、コーヒーカップをモデリングしてみる。が分かりやすいです。
参考にさせてもらいました。有難うございました。この解説に従って、
オブジェクトをロードする。
拡大(オブジェクトを選択した状態でSを押して拡大倍率をテンキーで指定。)
ファイルメニューのエクスポートから stl 形式を選択して出力しました。
(ロード、拡大、エクスポートを逆引きで調べただけで blenderのことはわからないので 全く初めての方には分かりづらいと思います)
###3 numpy-stl で 取り込めそうに思えたので
pythonhosted.org/numpy-stl/usage.html のsampleで試してみましたが。WindowsのVisualStudioでは最初の2行目import文でエラーが出て先に進めませんでした。
from stl import mesh
from mpl_toolkits import mplot3d
from matplotlib import pyplot
# Create a new plot
figure = pyplot.figure()
axes = mplot3d.Axes3D(figure)
# Load the STL files and add the vectors to the plot
your_mesh = mesh.Mesh.from_file('tests/stl_binary/HalfDonut.stl')
axes.add_collection3d(mplot3d.art3d.Poly3DCollection(your_mesh.vectors))
# Auto scale to the mesh size
scale = your_mesh.points.flatten(-1)
axes.auto_scale_xyz(scale, scale, scale)
# Show the plot to the screen
pyplot.show()
####Mac(anaconda) では問題なく出力できました。
Windowsでは別の方法を探してみました。 stl形式をtxt形式に変換してpythonに表示する記事を見つけたのでその方式を採用しました。
#####sabopy.com [matplotlib 3D]47.VoxelCactus
の記事を参考にさせて頂きました。感謝です!Cactusとはサボテンのことです
(stlファイルは3Dプリンターで最も使用されているファイルフォーマットでオンライン上に3Dプリンターのサイトが多くあり無料のstlファイルサンプルも入手できると思います。)
blenderで作成したstlファイル または 無料サンプルで入手したstlファイルを
stlファイルのオンラインファイル変換サイトでTXT形式を指定して変換する。
記事に掲載されたプログラムを実行。でできました。有難うございました。
個人的にはこちらの出力が気に入っています。
興味のある方は sabopy.comで検索してみてください。
(マウスで記事を選択して右クリックで検索サイトへ)
####Windows のpythonで出力