3D 之邏輯與美感交會 - OpenSCAD

Justin Lin
Justin LinTechnology / Community Evangelist at Free lancer
Justin Lin
caterpillar@openhome.cc
https://openhome.cc
3D 之邏輯與美感交會 - OpenSCAD
接下來…
• Why 程式建模? (滑鼠)
• OpenSCAD 動手做
• 程式之美、數學之美
• 作品與教學討論
Why 程式建模?
3D 之邏輯與美感交會 - OpenSCAD
定位
重複數學
步驟
修改
3D 之邏輯與美感交會 - OpenSCAD
https://www.thingiverse.com/thing:1241377
https://www.thingiverse.com/thing:1580580
https://www.thingiverse.com/thing:1763139 https://www.thingiverse.com/thing:1946289
https://www.thingiverse.com/thing:2040515 https://www.thingiverse.com/thing:2136955
https://www.thingiverse.com/thing:2002493
https://www.thingiverse.com/thing:1434203
3D 之邏輯與美感交會 - OpenSCAD
Thingiverse Customizer
https://www.thingiverse.com/thing:1504859
成功之母雞
https://www.thingiverse.com/thing:1356050
OpenSCAD動手做
OpenSCAD 資源
• http://www.openscad.org/
• https://www.thingiverse.com/JustinSDK/
• https://openhome.cc/Gossip/OpenSCAD/
• https://github.com/JustinSDK/lib-openscad
官網
我的創作
我的文件
我的程式庫
text("Hello, World");
存檔
linear_extrude(5)
text("Hello, World");
3D 之邏輯與美感交會 - OpenSCAD
Challenge
• 中文行不行?
• 使用別的文字編輯器?
可以看我的原始碼
我的文件中有談到
https://www.thingiverse.com/thing:2194546
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
3D 之邏輯與美感交會 - OpenSCAD
http://www.openscad.org/cheatsheet/
程式之美
來整理程式碼
建一個模組
包住程式碼
呼叫模組
使用變數
使用參數
指定參數
抽取模組
使用模組
想馬上來點不同的?
3D 之邏輯與美感交會 - OpenSCAD
程式建模便於組織模組
數學之美
給我一顆心 ♫~♬
分解愛心
正方形
圓形
Divide and Conquer
看來正方形必須下移
轉個 45 度
這邊要對齊
三角函式拿出來用啦!
另一半嘞?
對齊了
3D 之邏輯與美感交會 - OpenSCAD
3D 之邏輯與美感交會 - OpenSCAD
Challenge
• 老在挖空模型?
https://openhome.cc/Gossip/OpenSCAD/Children.html
作品與教學討論
3D 之邏輯與美感交會 - OpenSCAD
https://www.thingiverse.com/thing:1504859
3DP 友好設計
https://www.thingiverse.com/thing:1264478
圓
360 度
一個字幾度?
圓周長?
字大小 S,可以
排幾個?
拉高、加底盤、加空心圓柱…
https://www.thingiverse.com/thing:1427568
每片都一樣
加個長方形
取交集就是了
https://www.thingiverse.com/thing:1589493
surface("One_Piece.png");
跟一個拉高的長方形取交集,可
以得到一個薄的模型
circle(100, $fn = 12);
12 個三角形組成
一個長方體
與許多可組成圓的三角形取交集
得到這些東西
再拼成一個圓
Challenge
• 程式
– 可用 Scratch 培養程式設計基礎(國小?)
– 玩過 Python 會有幫助(國小?)
https://www.blockscad3d.com/editor/
• 英文
– 顯而易見,語法上使用英文
– 也許考慮術語對照表(國小?)
– 中文資料目前不多! (國小?)
• 數學
– 座標觀念(直角座標、極座標)(國小?)
– 不免遇到三角函數(國小?)
https://www.thingiverse.com/thing:2146759
提供資源
動手實作
給予信心
鼓勵挑戰
去犯錯學習
去探險
去作亂
http://www.slideshare.net/JustinSDK/ss-54463912
http://www.ntsec.gov.tw/FileAtt.ashx?id=2560
https://www.youtube.com/watch?v=sNHLQxQ3jm8
Justin Lin
caterpillar@openhome.cc
https://openhome.cc
Thanks
1 of 70

Recommended

OpenSCAD Workshop by
OpenSCAD WorkshopOpenSCAD Workshop
OpenSCAD WorkshopJustin Lin
2.1K views56 slides
Html5环保小游戏 by
Html5环保小游戏Html5环保小游戏
Html5环保小游戏taobao.com
1.5K views6 slides
網站系統安全及資料保護設計認知 by
網站系統安全及資料保護設計認知網站系統安全及資料保護設計認知
網站系統安全及資料保護設計認知Justin Lin
3.8K views97 slides
讓程式展現樂趣 玩出實驗精神與創造力 by
讓程式展現樂趣 玩出實驗精神與創造力讓程式展現樂趣 玩出實驗精神與創造力
讓程式展現樂趣 玩出實驗精神與創造力Justin Lin
3K views45 slides
深入淺出 Web 容器 - Tomcat 原始碼分析 by
深入淺出 Web 容器  - Tomcat 原始碼分析深入淺出 Web 容器  - Tomcat 原始碼分析
深入淺出 Web 容器 - Tomcat 原始碼分析Justin Lin
3.8K views52 slides
Java 8 與 retrolambda by
Java 8 與 retrolambdaJava 8 與 retrolambda
Java 8 與 retrolambdaJustin Lin
5K views45 slides

More Related Content

Viewers also liked

Python Programming Essentials - M22 - File Operations by
Python Programming Essentials - M22 - File OperationsPython Programming Essentials - M22 - File Operations
Python Programming Essentials - M22 - File OperationsP3 InfoTech Solutions Pvt. Ltd.
1.5K views26 slides
Python 3 Programming Language by
Python 3 Programming LanguagePython 3 Programming Language
Python 3 Programming LanguageTahani Al-Manie
11.5K views57 slides
Python by
PythonPython
PythonShivam Gupta
37.1K views42 slides
流程語法與函式 by
流程語法與函式流程語法與函式
流程語法與函式Justin Lin
2.6K views56 slides
並行與平行 by
並行與平行並行與平行
並行與平行Justin Lin
2.7K views45 slides
資料永續與交換 by
資料永續與交換資料永續與交換
資料永續與交換Justin Lin
1.8K views71 slides

Viewers also liked(20)

Python 3 Programming Language by Tahani Al-Manie
Python 3 Programming LanguagePython 3 Programming Language
Python 3 Programming Language
Tahani Al-Manie11.5K views
流程語法與函式 by Justin Lin
流程語法與函式流程語法與函式
流程語法與函式
Justin Lin2.6K views
並行與平行 by Justin Lin
並行與平行並行與平行
並行與平行
Justin Lin2.7K views
資料永續與交換 by Justin Lin
資料永續與交換資料永續與交換
資料永續與交換
Justin Lin1.8K views
《Python 3.5 技術手冊》第二章草稿 by Justin Lin
《Python 3.5 技術手冊》第二章草稿《Python 3.5 技術手冊》第二章草稿
《Python 3.5 技術手冊》第二章草稿
Justin Lin4.5K views
除錯、測試與效能 by Justin Lin
除錯、測試與效能除錯、測試與效能
除錯、測試與效能
Justin Lin1.7K views
類別的繼承 by Justin Lin
類別的繼承類別的繼承
類別的繼承
Justin Lin1.4K views
例外處理 by Justin Lin
例外處理例外處理
例外處理
Justin Lin1.4K views
從 REPL 到 IDE by Justin Lin
從 REPL 到 IDE從 REPL 到 IDE
從 REPL 到 IDE
Justin Lin2.3K views
從模組到類別 by Justin Lin
從模組到類別從模組到類別
從模組到類別
Justin Lin1.7K views
open() 與 io 模組 by Justin Lin
open() 與 io 模組open() 與 io 模組
open() 與 io 模組
Justin Lin1.8K views
資料結構 by Justin Lin
資料結構資料結構
資料結構
Justin Lin1.8K views
PyCon Taiwan 2013 Tutorial by Justin Lin
PyCon Taiwan 2013 TutorialPyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 Tutorial
Justin Lin290.9K views
型態與運算子 by Justin Lin
型態與運算子型態與運算子
型態與運算子
Justin Lin1.8K views
常用內建模組 by Justin Lin
常用內建模組常用內建模組
常用內建模組
Justin Lin1.4K views
Python 起步走 by Justin Lin
Python 起步走Python 起步走
Python 起步走
Justin Lin7.2K views
初學R語言的60分鐘 by Chen-Pan Liao
初學R語言的60分鐘初學R語言的60分鐘
初學R語言的60分鐘
Chen-Pan Liao139.8K views

Similar to 3D 之邏輯與美感交會 - OpenSCAD

一場與程式設計的邂逅 by
一場與程式設計的邂逅一場與程式設計的邂逅
一場與程式設計的邂逅建宇 陳
484 views112 slides
那些年網頁Ps切板的小事 by
那些年網頁Ps切板的小事那些年網頁Ps切板的小事
那些年網頁Ps切板的小事Aaron King
1.6K views50 slides
Google雲端 第一章準備篇 by
Google雲端 第一章準備篇Google雲端 第一章準備篇
Google雲端 第一章準備篇gracebrainyu
944 views60 slides
Collaboration On Rails by
Collaboration On RailsCollaboration On Rails
Collaboration On RailsJesse Cai
563 views12 slides
500個簡報圖解模式免費下載 商業簡報網-韓明文講師-part2 by
500個簡報圖解模式免費下載 商業簡報網-韓明文講師-part2500個簡報圖解模式免費下載 商業簡報網-韓明文講師-part2
500個簡報圖解模式免費下載 商業簡報網-韓明文講師-part2明文 韓
1K views255 slides
无名小站首页改版 -渐进增强与css3 by
无名小站首页改版 -渐进增强与css3无名小站首页改版 -渐进增强与css3
无名小站首页改版 -渐进增强与css3taobao.com
987 views80 slides

Similar to 3D 之邏輯與美感交會 - OpenSCAD(12)

一場與程式設計的邂逅 by 建宇 陳
一場與程式設計的邂逅一場與程式設計的邂逅
一場與程式設計的邂逅
建宇 陳484 views
那些年網頁Ps切板的小事 by Aaron King
那些年網頁Ps切板的小事那些年網頁Ps切板的小事
那些年網頁Ps切板的小事
Aaron King1.6K views
Google雲端 第一章準備篇 by gracebrainyu
Google雲端 第一章準備篇Google雲端 第一章準備篇
Google雲端 第一章準備篇
gracebrainyu944 views
Collaboration On Rails by Jesse Cai
Collaboration On RailsCollaboration On Rails
Collaboration On Rails
Jesse Cai563 views
500個簡報圖解模式免費下載 商業簡報網-韓明文講師-part2 by 明文 韓
500個簡報圖解模式免費下載 商業簡報網-韓明文講師-part2500個簡報圖解模式免費下載 商業簡報網-韓明文講師-part2
500個簡報圖解模式免費下載 商業簡報網-韓明文講師-part2
明文 韓1K views
无名小站首页改版 -渐进增强与css3 by taobao.com
无名小站首页改版 -渐进增强与css3无名小站首页改版 -渐进增强与css3
无名小站首页改版 -渐进增强与css3
taobao.com987 views
twMVC#43 Visual Studio 2022 新功能拆解 by twMVC
twMVC#43 Visual Studio 2022 新功能拆解twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解
twMVC1.1K views
從雛形到設計-了解您的使用者在想什麼 by Souyi Yang
從雛形到設計-了解您的使用者在想什麼從雛形到設計-了解您的使用者在想什麼
從雛形到設計-了解您的使用者在想什麼
Souyi Yang3.3K views
無名小站首頁改版 - 漸進增強與CSS3 (Wretch and Progressive Enhancement) by Adam Wang
無名小站首頁改版 - 漸進增強與CSS3 (Wretch and Progressive Enhancement)無名小站首頁改版 - 漸進增強與CSS3 (Wretch and Progressive Enhancement)
無名小站首頁改版 - 漸進增強與CSS3 (Wretch and Progressive Enhancement)
Adam Wang2K views
HITCON駭客戰隊與CTF經驗分享 by Alan Lee
HITCON駭客戰隊與CTF經驗分享HITCON駭客戰隊與CTF經驗分享
HITCON駭客戰隊與CTF經驗分享
Alan Lee1.7K views
3D 印表機技術與產業模式 by Marcus Pek
3D 印表機技術與產業模式3D 印表機技術與產業模式
3D 印表機技術與產業模式
Marcus Pek3.7K views

More from Justin Lin

Ch14 簡介 Spring Boot by
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring BootJustin Lin
872 views22 slides
Ch13 整合 Spring MVC/Security by
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityJustin Lin
280 views58 slides
Ch12 Spring 起步走 by
Ch12 Spring 起步走Ch12 Spring 起步走
Ch12 Spring 起步走Justin Lin
274 views31 slides
Ch11 簡介 JavaMail by
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMailJustin Lin
157 views8 slides
Ch10 Web 容器安全管理 by
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Justin Lin
153 views30 slides
Ch09 整合資料庫 by
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫Justin Lin
233 views92 slides

More from Justin Lin(20)

Ch14 簡介 Spring Boot by Justin Lin
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring Boot
Justin Lin872 views
Ch13 整合 Spring MVC/Security by Justin Lin
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Justin Lin280 views
Ch12 Spring 起步走 by Justin Lin
Ch12 Spring 起步走Ch12 Spring 起步走
Ch12 Spring 起步走
Justin Lin274 views
Ch11 簡介 JavaMail by Justin Lin
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMail
Justin Lin157 views
Ch10 Web 容器安全管理 by Justin Lin
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
Justin Lin153 views
Ch09 整合資料庫 by Justin Lin
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin233 views
Ch08 自訂標籤 by Justin Lin
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤
Justin Lin133 views
Ch07 使用 JSTL by Justin Lin
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTL
Justin Lin161 views
Ch06 使用 JSP by Justin Lin
Ch06 使用 JSPCh06 使用 JSP
Ch06 使用 JSP
Justin Lin250 views
Ch05 Servlet 進階 API、過濾器與傾聽器 by Justin Lin
Ch05 Servlet 進階 API、過濾器與傾聽器Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
Justin Lin204 views
Ch04 會話管理 by Justin Lin
Ch04 會話管理Ch04 會話管理
Ch04 會話管理
Justin Lin238 views
Ch03 請求與回應 by Justin Lin
Ch03 請求與回應Ch03 請求與回應
Ch03 請求與回應
Justin Lin236 views
Ch02 撰寫與設定 Servlet by Justin Lin
Ch02 撰寫與設定 ServletCh02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
Justin Lin352 views
CH1. 簡介 Web 應用程式 by Justin Lin
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
Justin Lin1.2K views
14. 進階主題 by Justin Lin
14. 進階主題14. 進階主題
14. 進階主題
Justin Lin406 views
13.並行、平行與非同步 by Justin Lin
13.並行、平行與非同步13.並行、平行與非同步
13.並行、平行與非同步
Justin Lin238 views
12. 除錯、測試與效能 by Justin Lin
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能
Justin Lin153 views
11. 常用內建模組 by Justin Lin
11. 常用內建模組11. 常用內建模組
11. 常用內建模組
Justin Lin149 views
10. 資料永續與交換 by Justin Lin
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換
Justin Lin156 views
9. 資料結構 by Justin Lin
9. 資料結構9. 資料結構
9. 資料結構
Justin Lin292 views

3D 之邏輯與美感交會 - OpenSCAD