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.

OpenSCAD Workshop

1,365 views

Published on

A slide for a 3D Modeling workshop.

Published in: Technology
  • Be the first to comment

OpenSCAD Workshop

  1. 1. Justin Lin caterpillar@openhome.cc http://openhome.cc 3D 列印 Workshop - OpenSCAD
  2. 2. 接下來… • 初識 OpenSCAD • • • 案例
  3. 3. OpenSCAD • 程式建模(滑鼠) • Why? – 程式設計者的思維 – 可將重複性動作元件化 – 可微調部份參數化 – 可精確座標定位 – 可透過程式做數學運算 – 可透過閱讀程式碼來瞭解建模過程 – 可透過修改原始碼來修改 3D 模型
  4. 4. Thingiverse Customizer https://www.thingiverse.com/thing:1504859
  5. 5. OpenSCAD 資源 • http://www.openscad.org/ • https://www.thingiverse.com/JustinSDK/ • http://openhome.cc/Gossip/OpenSCAD/ 官網 我的創作 我的文件
  6. 6. text("Hello, World"); 存檔
  7. 7. linear_extrude(5) text("Hello, World");
  8. 8. height = 5; characters = "Hello, World"; font_size = 10; linear_extrude(height) text( characters, size = font_size, valign = "center", halign = "center" );
  9. 9. linear_extrude(height / 2) square( [font_size * len(characters), font_size * 2], center = true );
  10. 10. thickness = 2; linear_extrude(height) difference() { square( [font_size * len(characters), font_size * 2], center = true ); square( [font_size * len(characters) - thickness, font_size * 2 - thickness], center = true ); } 減集
  11. 11. translate([font_size * len(characters) / 2, 0, 0]) linear_extrude(height / 2) difference() { circle(font_size); circle(font_size - thickness); }
  12. 12. 改成自己想要字吧!
  13. 13. 程式建模便於參數化 先 render 模型 就可以匯出 STL
  14. 14. http://www.openscad.org/cheatsheet/
  15. 15. 來整理程式碼
  16. 16. 建一個模組 包住程式碼 呼叫模組
  17. 17. 使用變數
  18. 18. 使用參數 指定參數
  19. 19. 抽取模組 使用模組
  20. 20. 想馬上來點不同的?
  21. 21. 程式建模便於組織模組
  22. 22. 給我一顆心 ♫~♬
  23. 23. 分解愛心 正方形 圓形
  24. 24. 看來正方形必須下移
  25. 25. 轉個 45 度
  26. 26. 這邊要對齊
  27. 27. 三角函式拿出來用啦!
  28. 28. 另一半嘞? 對齊了
  29. 29. 偏移 重用
  30. 30. 愛心小盆 一個小問題?
  31. 31. 小盆裡可以放什麼呢?
  32. 32. 3DP 友好設計
  33. 33. 圓 360 度 一個字幾度? 圓周長? 字大小 S,可以 排幾個?
  34. 34. 拉高、加底盤、加空心圓柱…
  35. 35. 每片都一樣
  36. 36. 加個長方形 取交集就是了
  37. 37. surface("One_Piece.png"); 跟一個拉高的長方形取交集,可 以得到一個薄的模型
  38. 38. circle(100, $fn = 12); 12 個三角形組成
  39. 39. 一個長方體
  40. 40. 與許多可組成圓的三角形取交集
  41. 41. 得到這些東西
  42. 42. 再拼成一個圓
  43. 43. Justin Lin caterpillar@openhome.cc http://openhome.cc Thanks

×