藍牙喇叭 3D 設計

講緊嘅藍牙喇叭就係喺「鴨記」賣緊嘅貨,喱隻蛋形藍牙喇叭,我係用 OpenSCAD 搞嘅,大家可以用其他軟件搞,無所謂嘅,邊隻軟件熟手就用邊隻。
先嚟睇啲 codes,因為 OpenSCAD 係用 code 嘅,好似寫 program 咁,用一段一段 code 去砌個 3D 模型出嚟,啱我口味:
$fn=160; // 控制外売光滑程度 union(){ difference(){ union(){ // 上下身合體 // 上半身 scale([0.9,1.25,-1.20]) // 最後,變 oval 形 difference(){ // 關始,先用 sphere 起個形狀 translate([0,0,0]) // 外碗 sphere(r=50); translate([0,0,0]) // 內碗,3mm 厚 sphere(r=46); translate([-100,-100,0]) // 切走下半身 cube([400,400,400]); } // 下半身 scale([0.9,1.25,0.7]) // 最後,變 oval 形 difference(){ // 關始,先用 sphere 起個形狀 translate([0,0,0]) // 外碗 sphere(r=50); translate([0,0,0]) // 內碗,3mm 厚 sphere(r=46); translate([-100,-100,0]) // 切走上半身 cube([400,400,400]); translate([-100,-100,-435]) // 切個平底 cube([400,400,400]); } } // 左邊喇叭窗口 translate([0,-32,22]) rotate([50,0,0]) cylinder(24, 25, 35); // 右邊喇叭窗口 translate([0,32,22]) rotate([-50,0,0]) cylinder(24, 25, 35); // 切開一半嚟睇位,嚟真嘅時候要 comment out //translate([0,-100,-100]) // 前後 //cube(300,300,300); //translate([-100,0,-100]) // 左右 //cube(300,300,300); // 切個 switch box 位 translate([-40,0,-23]) difference(){ translate([-1,0,1]) cube([33,30,44],true); } // 3*2 磁石 //translate([29.45,0,-24.75]) // 東 //cylinder(2.5,1.5,1.5); translate([20,30,-24.75]) // 東南 cylinder(2.5,1.5,1.5); translate([-20,30,-24.75]) // 西南 cylinder(2.5,1.5,1.5); //translate([-29.45,0,-24.75]) // 西 //cylinder(2.5,1.5,1.5); translate([-20,-30,-24.75]) // 西北 cylinder(2.5,1.5,1.5); translate([20,-30,-24.75]) // 東北 cylinder(2.5,1.5,1.5); } // 左邊喇叭漏斗:淨係要個漏斗同個外碗嘅 intersection intersection(){ translate([0,-32,22]) rotate([50,0,0]) difference(){ cylinder(24, 27, 35); translate([0,0,-1]) cylinder(26, 16.5, 27.5); } scale([0.9,1.25,-1.20]) translate([0,0,0]) sphere(r=50); } // 右邊喇叭漏斗:淨係要個漏斗同個外碗嘅 intersection intersection(){ translate([0,32,22]) rotate([-50,0,0]) difference(){ cylinder(24, 27, 35); translate([0,0,-1]) cylinder(28, 16.5, 27.5); } scale([0.9,1.25,-1.20]) translate([0,0,0]) sphere(r=50); } /// start: 個 switch box intersection(){ translate([-40,0,-23]) difference(){ translate([-1,0,1]) cube([24,30,44],true); translate([-2,0,0]) color("red") cube([27,28,44],true); } scale([0.9,1.25,0.7]) // 最後,變 oval 形 difference(){ // 關始,先用 sphere 起個形狀 translate([0,0,0]) // 外碗 sphere(r=50); translate([-100,-100,0]) // 切走上半身 cube([400,400,400]); translate([-100,-100,-435]) // 切個平底 cube([400,400,400]); } } /// end: 個 switch box }
慢慢嚟,先喺 OpenSCAD 開個 new 設計, 將全部 code 抄入去,preview 一下,出現下圖:
如果你睇唔倒,咁你唔使繼續住,去查下有咩問題先,我用 macOS 嘅,不過 OpenSCAD macOS 同 Windows 10 都冇咩唔同,唔應該出唔倒嘅,自己執生。 😆
先解釋 #7~15::
- #9~10 係畫個圓形立體(A)
- #11~12 係畫個細 3mm 嘅圓形立體(B)
- #13~14 係畫個正方體,條件係要大過 A 嘅(C)
- #8 係將 A 淢 B,變成中空嘅圓形立體,再淢 C,變成冇下身嘅空売
- #7 係將 #8~15 得出嚟嘅圓売變形,變成蛋売
你可以開個新設計,淨係抄喱段落去睇睇個效果:
明白哂?咁 #18~28 係下半身,跟上半身嘅分別係個變形比例唔同啫。
一里通百里明,下面啲 code 我就唔再講解喇,自己推敲。