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

Bad484f0e91a6eb2c70b0a9e7279e69d?s=47 Takuro Wada
October 11, 2015

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

PyConJP2015の発表資料です。

Bad484f0e91a6eb2c70b0a9e7279e69d?s=128

Takuro Wada

October 11, 2015
Tweet

Transcript

  1. 3.

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


    • 3Dプリント関連サービスを 提供しています
  2. 11.
  3. 12.
  4. 13.
  5. 14.
  6. 15.
  7. 17.
  8. 18.
  9. 20.
  10. 21.
  11. 22.
  12. 24.
  13. 25.
  14. 26.
  15. 27.
  16. 28.
  17. 29.
  18. 30.
  19. 34.
  20. 50.

    Blenderって? • 1995年から開発され続けている3DCGソフト • オープンソース、マルチプラットフォーム(Win, Mac, Linux) • 開発言語はC, C++,

    Python ‣ Pythonは主にAPI部分に使われている ‣ Blender内部にPython Interpreterを保有(資料作成時点: 3.4.2) Blender
  21. 71.
  22. 73.
  23. 77.
  24. 78.
  25. 79.
  26. 81.
  27. 83.

    Fusion360って? • 2012年頃にAutodeskが発表した3DCADソフト • マルチプラットフォーム(Win, Mac) • パラメトリック(強力!), クラウド処理 •

    APIはJavascript, Python, C++が公開されている ‣ Fusion360内部にPython Interpreterを保有(資料作成時点: 3.3.5) ‣ 動作速度は C++ > Python > Javascript(推測) Fusion360
  28. 86.
  29. 87.

    Fusion360 Hackathon • ただいまFusion 360 Online Hackathonが開催中 ‣ http://fusion360hackathon.com/  ‣

    2015/9/23 - 2015/10/30 ‣ アプリを登録して、承認されたらアプリ1つにつき$500 Fusion360 太っ腹
  30. 89.

    Python APIの良い所 • Debugger内蔵 ‣ Spyderが同梱 ‣ Break Pointの設置 ‣

    ステップ実行 ‣ 変数のWatch ‣ Spyder以外のエディタで はDebugger使用不可(編 集は可能) Fusion360
  31. 91.
  32. 93.

    Python APIの良くない所 • コマンドライン実行ができない ‣ GUIポチポチでスクリプトを実行するのは億劫
 • Spyderの使い勝手が良くない ‣ 好みの問題

    • Debuggerいじってると結構頻繁に落ちる…
 • API自体があまり直感的ではない ‣ パラメトリックだから? ‣ なれればそんなに気にならないかも Fusion360
  33. 98.
  34. 100.
  35. 105.

    Pymesh • https://github.com/taxpon/pymesh • 特徴 ‣ numpyを使用 • 複数フォーマットサポート •

    STL(Binary, ASCII), OBJ • Transform ‣ 移動、拡縮、回転 ‣ メソッドチェーンサポート • 複数Meshの結合(Booleanではない) • Analyse • 体積計算
  36. 113.

    • 昨日(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')"
  37. 114.

    • 昨日(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')" ドヤ顔もできる! みんな
  38. 121.
  39. 123.

    We are Hiring!! • カブクではPythonエンジニアを募集しています ‣ GCP, AWS ‣ 3Dに興味ある方

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