pythonのお勉強12日目


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で出力