OpenSCAD Workshop

Preview:

Citation preview

Justin Lin

caterpillar@openhome.cc

http://openhome.cc

3D 列印 Workshop - OpenSCAD

接下來…

• 初識 OpenSCAD

• 案例

OpenSCAD

• 程式建模(滑鼠)

• Why?

–程式設計者的思維

–可將重複性動作元件化

–可微調部份參數化

–可精確座標定位

–可透過程式做數學運算

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

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

Thingiverse Customizer

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

text("Hello, World");

存檔

linear_extrude(5)

text("Hello, World");

height = 5;

characters = "Hello, World";

font_size = 10;

linear_extrude(height)

text(

characters,

size = font_size,

valign = "center",

halign = "center"

);

linear_extrude(height / 2)

square(

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

center = true

);

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

);

}

減集

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

linear_extrude(height / 2)

difference() {

circle(font_size);

circle(font_size - thickness);

}

改成自己想要字吧!

程式建模便於參數化

先 render 模型

就可以匯出 STL

來整理程式碼

建一個模組

包住程式碼

呼叫模組

使用變數

使用參數

指定參數

抽取模組

使用模組

想馬上來點不同的?

程式建模便於組織模組

給我一顆心 ♫~♬

分解愛心

正方形

圓形

看來正方形必須下移

轉個 45 度

這邊要對齊

三角函式拿出來用啦!

另一半嘞?

對齊了

偏移

重用

愛心小盆

一個小問題?

小盆裡可以放什麼呢?

3DP 友好設計

360 度

一個字幾度?

圓周長?

字大小 S,可以排幾個?

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

每片都一樣

加個長方形 取交集就是了

surface("One_Piece.png");

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

circle(100, $fn = 12);

12 個三角形組成

一個長方體

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

得到這些東西

再拼成一個圓

Justin Lin

caterpillar@openhome.cc

http://openhome.cc

Thanks

Recommended