Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PyConJP2015 Pythonで3Dモデリング&3Dプリント

Takuro Wada
October 11, 2015

PyConJP2015 Pythonで3Dモデリング&3Dプリント

PyConJP2015の発表資料です。

Takuro Wada

October 11, 2015
Tweet

More Decks by Takuro Wada

Other Decks in Programming

Transcript

  1. Hello! • Takuro Wada (@taxpon) ‣ Software Engineer ‣ 


    • 3Dプリント関連サービスを 提供しています
  2. Blenderって? • 1995年から開発され続けている3DCGソフト • オープンソース、マルチプラットフォーム(Win, Mac, Linux) • 開発言語はC, C++,

    Python ‣ Pythonは主にAPI部分に使われている ‣ Blender内部にPython Interpreterを保有(資料作成時点: 3.4.2) Blender
  3. Fusion360って? • 2012年頃にAutodeskが発表した3DCADソフト • マルチプラットフォーム(Win, Mac) • パラメトリック(強力!), クラウド処理 •

    APIはJavascript, Python, C++が公開されている ‣ Fusion360内部にPython Interpreterを保有(資料作成時点: 3.3.5) ‣ 動作速度は C++ > Python > Javascript(推測) Fusion360
  4. Fusion360 Hackathon • ただいまFusion 360 Online Hackathonが開催中 ‣ http://fusion360hackathon.com/  ‣

    2015/9/23 - 2015/10/30 ‣ アプリを登録して、承認されたらアプリ1つにつき$500 Fusion360 太っ腹
  5. Python APIの良い所 • Debugger内蔵 ‣ Spyderが同梱 ‣ Break Pointの設置 ‣

    ステップ実行 ‣ 変数のWatch ‣ Spyder以外のエディタで はDebugger使用不可(編 集は可能) Fusion360
  6. Python APIの良くない所 • コマンドライン実行ができない ‣ GUIポチポチでスクリプトを実行するのは億劫
 • Spyderの使い勝手が良くない ‣ 好みの問題

    • Debuggerいじってると結構頻繁に落ちる…
 • API自体があまり直感的ではない ‣ パラメトリックだから? ‣ なれればそんなに気にならないかも Fusion360
  7. Pymesh • https://github.com/taxpon/pymesh • 特徴 ‣ numpyを使用 • 複数フォーマットサポート •

    STL(Binary, ASCII), OBJ • Transform ‣ 移動、拡縮、回転 ‣ メソッドチェーンサポート • 複数Meshの結合(Booleanではない) • Analyse • 体積計算
  8. • 昨日(10/10)に発表があった石本さんのtse(text stream editor) ‣ 早速使ってみた ワンライナー echo ""|tse --module

    "pymesh.stl" -p ".*" -a "m = pymesh.stl.Stl('sample.stl').rotate_x(45).save_st l('sample_out.stl')"
  9. • 昨日(10/10)に発表があった石本さんのtse(text stream editor) ‣ 早速使ってみた ワンライナー echo ""|tse --module

    "pymesh.stl" -p ".*" -a "m = pymesh.stl.Stl('sample.stl').rotate_x(45).save_st l('sample_out.stl')" ドヤ顔もできる! みんな
  10. We are Hiring!! • カブクではPythonエンジニアを募集しています ‣ GCP, AWS ‣ 3Dに興味ある方

    ‣ 3Dプリンタ使いたい放題 ‣ グローバルな職場 エンジニアチーム