56
Justin Lin [email protected] http://openhome.cc 3D 列印 Workshop - OpenSCAD

OpenSCAD Workshop

Embed Size (px)

Citation preview

Page 1: OpenSCAD Workshop

Justin Lin

[email protected]

http://openhome.cc

3D 列印 Workshop - OpenSCAD

Page 2: OpenSCAD Workshop

接下來…

• 初識 OpenSCAD

• 案例

Page 3: OpenSCAD Workshop

OpenSCAD

• 程式建模(滑鼠)

• Why?

–程式設計者的思維

–可將重複性動作元件化

–可微調部份參數化

–可精確座標定位

–可透過程式做數學運算

–可透過閱讀程式碼來瞭解建模過程

–可透過修改原始碼來修改 3D 模型

Page 4: OpenSCAD Workshop

Thingiverse Customizer

https://www.thingiverse.com/thing:1504859

Page 6: OpenSCAD Workshop
Page 7: OpenSCAD Workshop

text("Hello, World");

存檔

Page 8: OpenSCAD Workshop

linear_extrude(5)

text("Hello, World");

Page 9: OpenSCAD Workshop
Page 10: OpenSCAD Workshop

height = 5;

characters = "Hello, World";

font_size = 10;

linear_extrude(height)

text(

characters,

size = font_size,

valign = "center",

halign = "center"

);

Page 11: OpenSCAD Workshop

linear_extrude(height / 2)

square(

[font_size * len(characters), font_size * 2],

center = true

);

Page 12: OpenSCAD Workshop

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

);

}

減集

Page 13: OpenSCAD Workshop

translate([font_size * len(characters) / 2, 0, 0])

linear_extrude(height / 2)

difference() {

circle(font_size);

circle(font_size - thickness);

}

Page 14: OpenSCAD Workshop

改成自己想要字吧!

Page 15: OpenSCAD Workshop

程式建模便於參數化

先 render 模型

就可以匯出 STL

Page 16: OpenSCAD Workshop
Page 18: OpenSCAD Workshop

來整理程式碼

Page 19: OpenSCAD Workshop

建一個模組

包住程式碼

呼叫模組

Page 20: OpenSCAD Workshop

使用變數

Page 21: OpenSCAD Workshop

使用參數

指定參數

Page 22: OpenSCAD Workshop

抽取模組

使用模組

Page 23: OpenSCAD Workshop

想馬上來點不同的?

Page 24: OpenSCAD Workshop
Page 25: OpenSCAD Workshop

程式建模便於組織模組

Page 26: OpenSCAD Workshop
Page 27: OpenSCAD Workshop

給我一顆心 ♫~♬

Page 28: OpenSCAD Workshop

分解愛心

正方形

圓形

Page 29: OpenSCAD Workshop

看來正方形必須下移

Page 30: OpenSCAD Workshop

轉個 45 度

Page 31: OpenSCAD Workshop

這邊要對齊

Page 32: OpenSCAD Workshop

三角函式拿出來用啦!

Page 33: OpenSCAD Workshop

另一半嘞?

對齊了

Page 34: OpenSCAD Workshop
Page 35: OpenSCAD Workshop
Page 36: OpenSCAD Workshop

偏移

重用

Page 37: OpenSCAD Workshop

愛心小盆

一個小問題?

Page 38: OpenSCAD Workshop

小盆裡可以放什麼呢?

Page 39: OpenSCAD Workshop
Page 40: OpenSCAD Workshop
Page 41: OpenSCAD Workshop

3DP 友好設計

Page 42: OpenSCAD Workshop
Page 43: OpenSCAD Workshop

360 度

一個字幾度?

圓周長?

字大小 S,可以排幾個?

Page 44: OpenSCAD Workshop

拉高、加底盤、加空心圓柱…

Page 45: OpenSCAD Workshop
Page 46: OpenSCAD Workshop

每片都一樣

Page 47: OpenSCAD Workshop

加個長方形 取交集就是了

Page 48: OpenSCAD Workshop
Page 49: OpenSCAD Workshop

surface("One_Piece.png");

跟一個拉高的長方形取交集,可以得到一個薄的模型

Page 50: OpenSCAD Workshop

circle(100, $fn = 12);

12 個三角形組成

Page 51: OpenSCAD Workshop

一個長方體

Page 52: OpenSCAD Workshop

與許多可組成圓的三角形取交集

Page 53: OpenSCAD Workshop

得到這些東西

Page 54: OpenSCAD Workshop

再拼成一個圓

Page 55: OpenSCAD Workshop
Page 56: OpenSCAD Workshop

Justin Lin

[email protected]

http://openhome.cc

Thanks