Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

3D Modeling and Printing by Python

5,294 views

Published on

Presentation Document for EuroPython 2016
Detail:
https://ep2016.europython.eu/conference/talks/3d-modeling-and-printing-by-python

Published in: Engineering
  • Be the first to comment

3D Modeling and Printing by Python

  1. 1. EuroPython 2016@Bilbao, Spain 2016/07/22 Takuro Wada 3D Modeling and Printing by Python
  2. 2. Kabuku Inc. (Japanese Startup) Software Engineer Providing services related to 3D printing Takuro Wada 和 田 拓 朗 taxpon taxpon http://takuro.ws Hi!
  3. 3. What is 3D printing?
  4. 4. Creating products by forming successive layers of material based on 3D Data What is 3D printing?
  5. 5. Example https://en.wikipedia.org/wiki/3D_printing
  6. 6. What is required for 3D Printing?
  7. 7. What is required for 3D printing? 3D Data 3D Printer
  8. 8. How to create 3D Data?
  9. 9. 3D Data Example STL(ASCII)
  10. 10. Definition of Triangle (polygon)
  11. 11. Definition of Triangle (polygon) Successive triangle definitions
  12. 12. Format is so simple
  13. 13. But creating 3D Data from scratch is so hard task
  14. 14. 3DCG/CAD software
  15. 15. Many 3D software provides Python API
  16. 16. Many 3D software provides Python API You can manipulate 3D data via Python
  17. 17. Script Modeling ‣ You can create 3D model even if you are not familiar with 3DCG/CAD software ‣ You can create shapes that are difficult for hand creation ‣ Modifying shape is easy
  18. 18. Script Modeling _人人人人人人人_ >FANTASTIC!!<  ̄Y^Y^Y^Y^Y^Y ̄ _人人人人人人人_ > GREAT!! <  ̄Y^Y^Y^Y^Y^Y ̄ ‣ You can create 3D model even if you are not familiar with 3DCG/CAD software ‣ You can create shapes that are difficult for hand creation ‣ Modifying shape is easy
  19. 19. Today’s software _人人人人人人人_ > FREE!! <  ̄Y^Y^Y^Y^Y^Y ̄
  20. 20. Script Modeling with Blender and Python
  21. 21. What is Blender? • Developed since 1995 • Open source software, Multi platform • Language: C, C++, Python ‣ Python is used as API interface ‣ Blender has its own python interpreter in the software(3.5.1 in Blender2.77a)asyncio!!
  22. 22. Delete default Object Add cone
  23. 23. -P option and script name to execute
  24. 24. Making Chain Project Making Chain https://flic.kr/p/aA2u7C CC BY-SA 2.0
  25. 25. https://www.myminifactory.com/object/5943
  26. 26. https://www.youtube.com/watch?v=z1OSXnCG-jk
  27. 27. http://afinia.com/3d-printers/h480/
  28. 28. 15cm 15cm Afinia H480 Bed Size
  29. 29. Decided to create longer one jumping rope… Longer one … https://flic.kr/p/5pT9iD CC BY 2.0
  30. 30. Connect blender and minecraft world using Python
  31. 31. Convert this kind of 3D data to Minecraft Blocks!!
  32. 32. Implementation Overview Convert 3D model into Blocks Transport blocks into Minecraft Consists of two main pars. Converting Transporting
  33. 33. before Converting after
  34. 34. Level of Conversion
  35. 35. blender add-on Transporting Spigot mcpi plugin Raspberry Juice TCP • Spigot=Minecraft mod server • Raspberry Juice is plugin for Spigot • Use mcpi (python module for minecraft) module
  36. 36. _人人人人人人人人_ > Success!! <  ̄Y^Y^Y^Y^Y^Y^Y ̄ \(^o^)/
  37. 37. Floating Faces!!
  38. 38. You can live in your face!!
  39. 39. 3D Printed Result
  40. 40. Github • b2mine ‣ https://github.com/taxpon/b2mine
  41. 41. Script Modeling with OpenSCAD and Python
  42. 42. What is OpenSCAD? • CAD software, Open source (GPL) • Multi platform(Win, Mac, Linux) • Implemented by C++(Qt) • Create 3D model using original programming language • No GUI to manipulate 3D data
  43. 43. Feature of OpenSCAD • Very good for Software Engineer • Written script can be kicked from command line ‣ Generate model in Server ‣ Create multiple model with command
  44. 44. Neck tie composed of multiple characters
  45. 45. Generate by 1 command ‣ You can pass arguments from command line to OpenSCAD script
  46. 46. OpenPySCAD • Generate OpenSCAD code from Python code ‣ https://github.com/taxpon/openpyscad • Install via pip command $ pip install openpyscad
  47. 47. OpenPySCAD • Union operation Cube([20, 10, 10]) + Cube([10, 20, 10]) union(){
 cube([20, 10, 10])
 cube([10, 20, 10])
 };
  48. 48. • Difference operation Cube([20, 10, 10]) - Cube([10, 20, 10]) difference(){
 cube([20, 10, 10])
 cube([10, 20, 10])
 }; OpenPySCAD
  49. 49. OpenPySCAD • Rotation c1 = Cube([20, 10, 10]) c1.rotate([0, 0, 45]) rotate([0, 0, 45]){
 cube([20, 10, 10])
 };
  50. 50. Conclusion
  51. 51. Script Modeling is FUN!! • Let's start tody Script Modeling is FUN!! Let’s start today https://flic.kr/p/ef4VBP CC BY 2.0
  52. 52. We are Hiring!! ‣ Python Developer ‣ C++ Developer ‣ Frontend Developer ‣ Angular/React ‣ You can use 3D printer ‣ International members ‣ 3 Google Developer Experts Engineer team http://www.kabuku.co.jp/#jobs

×