前言
雷雕最讓我著迷的一點,是它能做出「功能性藝術品」——不只是掛在牆上看的裝飾,而是每天都會用到的實用物品。日曆和時鐘就是這個概念的最佳體現。
我做過好幾個雷雕時鐘送朋友,每一次都帶來很大的成就感。看到一塊平凡的木板經過設計和雷切,變成一個既美觀又精準指示時間的裝置,那種感覺真的很棒。
這篇文章會分享我在設計雷雕日曆和時鐘時的經驗和心得,從結構設計到材料搭配,希望能幫助你也做出自己的功能性雷雕作品。
日曆結構設計
萬年曆的類型
用雷雕做的日曆通常是「萬年曆」——不像紙本月曆一年用完就丟,而是可以手動調整、年年重複使用。常見的結構有:
旋轉式萬年曆:
- 三個同心圓盤:外圈月份、中圈日期、內圈星期
- 每天手動旋轉日期和星期
- 結構最簡單,也最優雅
滑塊式萬年曆:
- 用滑軌讓月份和日期的標示牌移動
- 可以做成直立的桌曆
翻牌式萬年曆:
- 類似老式機場的翻牌顯示器
- 需要更複雜的機構,但視覺效果最好
旋轉式萬年曆的設計
我最推薦從旋轉式開始,因為它結構簡單、製作成功率高、外觀效果好。
設計要點:
外盤(底盤):
- 直徑約 150-200mm
- 雕刻或鏤空月份名稱(1-12 月)
- 有一個小窗口顯示日期和星期
中盤(日期盤):
- 直徑比外盤小 20mm 左右
- 圓周上刻 1-31 的數字
- 用中心軸固定,可旋轉
內盤(星期盤):
- 直徑比中盤再小 20mm
- 刻 一 二 三 四 五 六 日
- 同樣用中心軸固定
SVG 設計範例
import svgwrite
import math
def perpetual_calendar(filename):
dwg = svgwrite.Drawing(filename, size=('200mm', '200mm'),
viewBox='-100 -100 200 200')
cx, cy = 0, 0
# 外盤 - 月份
outer_r = 90
dwg.add(dwg.circle((cx, cy), outer_r,
fill='none', stroke='black', stroke_width=0.3))
months = ['一月', '二月', '三月', '四月', '五月', '六月',
'七月', '八月', '九月', '十月', '十一月', '十二月']
for i, month in enumerate(months):
angle = math.radians(i * 30 - 90) # 從12點方向開始
tx = cx + (outer_r - 8) * math.cos(angle)
ty = cy + (outer_r - 8) * math.sin(angle)
text = dwg.text(month, insert=(tx, ty),
text_anchor='middle',
font_size='4px',
font_family='sans-serif')
# 旋轉文字以沿圓弧排列
text.rotate(i * 30, center=(tx, ty))
dwg.add(text)
# 顯示窗口(外盤上的鏤空)
window_angle = math.radians(-90) # 12 點方向
wx = cx + (outer_r - 25) * math.cos(window_angle)
wy = cy + (outer_r - 25) * math.sin(window_angle)
dwg.add(dwg.rect((wx - 12, wy - 4), (24, 8),
rx=1, ry=1,
fill='none', stroke='red', stroke_width=0.3))
# 中盤 - 日期
mid_r = 65
dwg.add(dwg.circle((cx, cy), mid_r,
fill='none', stroke='black', stroke_width=0.3))
for i in range(31):
angle = math.radians(i * (360/31) - 90)
tx = cx + (mid_r - 5) * math.cos(angle)
ty = cy + (mid_r - 5) * math.sin(angle)
dwg.add(dwg.text(str(i + 1), insert=(tx, ty),
text_anchor='middle',
font_size='3.5px',
font_family='monospace'))
# 內盤 - 星期
inner_r = 40
dwg.add(dwg.circle((cx, cy), inner_r,
fill='none', stroke='black', stroke_width=0.3))
days = ['一', '二', '三', '四', '五', '六', '日']
for i, day in enumerate(days):
angle = math.radians(i * (360/7) - 90)
tx = cx + (inner_r - 6) * math.cos(angle)
ty = cy + (inner_r - 6) * math.sin(angle)
dwg.add(dwg.text(day, insert=(tx, ty),
text_anchor='middle',
font_size='5px',
font_family='sans-serif'))
# 中心軸孔
dwg.add(dwg.circle((cx, cy), 2.5,
fill='none', stroke='black', stroke_width=0.3))
dwg.save()
perpetual_calendar('calendar.svg')
組裝方式
三個盤片的疊放順序:底盤(月份)→ 中盤(日期)→ 內盤(星期)。
連接方式有幾種:
- 螺絲+墊片:最簡單,用 M5 螺絲穿過中心,每層之間放塑膠墊片
- 木釘:更美觀,用短木釘作為中心軸
- 磁鐵:在每層背面嵌入小磁鐵,靠磁力固定但仍可旋轉
時鐘設計
時鐘機芯的選擇
雷雕時鐘的核心零件是時鐘機芯(clock movement)。這是一個小型的石英時鐘模組,通常包含:
- 機芯本體(約 55 × 55 × 15mm)
- 時針、分針、秒針
- 一顆 AA 電池的電池座
- 掛鉤
選購時的關鍵參數:
- 軸心長度(shaft length):這決定了你的面板可以多厚。
– 短軸:適合 3mm 以下的面板
– 中軸:適合 3-6mm
– 長軸:適合 6-10mm
– 超長軸:適合 10mm 以上
- 指針長度:需要配合你的錶面直徑
– 時針通常是分針的 60-70%
– 秒針通常比分針再長一些
- 靜音機芯 vs 一般機芯:靜音機芯的秒針是連續滑動的,不會有「滴答」聲
鐘面設計原則
好的鐘面設計要在美觀和可讀性之間取得平衡。以下是我歸納的設計原則:
刻度設計:
- 12 個小時的主刻度要明顯,可以用較粗的線或雕刻文字
- 60 個分鐘刻度可以用細線或點表示
- 15 分鐘(3、6、9、12)的刻度可以加強
數字 vs 符號:
- 阿拉伯數字:最易讀
- 羅馬數字:更有裝飾性(注意:鐘面上的 4 通常寫成 IIII 而非 IV)
- 純刻度無數字:最簡約
鏤空設計:
- 在刻度之間做 Voronoi 或幾何鏤空,背後放彩色壓克力
- 或者整個鐘面鏤空,只留數字和外框
時鐘 SVG 設計
import svgwrite
import math
def clock_face(filename, diameter=250, style='modern'):
r = diameter / 2
dwg = svgwrite.Drawing(filename,
size=(f'{diameter}mm', f'{diameter}mm'),
viewBox=f'{-r} {-r} {diameter} {diameter}')
# 外圈(切割線)
dwg.add(dwg.circle((0, 0), r - 1,
fill='none', stroke='black', stroke_width=0.3))
# 中心軸孔(直徑約 8-10mm,視機芯而定)
dwg.add(dwg.circle((0, 0), 4.5,
fill='none', stroke='black', stroke_width=0.3))
if style == 'modern':
# 現代風格:只有 12 和 60 分鐘刻度
for i in range(60):
angle = math.radians(i * 6 - 90)
if i % 5 == 0:
# 小時刻度(粗線)
inner = r - 20
outer = r - 8
width = 0.8
else:
# 分鐘刻度(細線)
inner = r - 12
outer = r - 8
width = 0.3
x1 = inner * math.cos(angle)
y1 = inner * math.sin(angle)
x2 = outer * math.cos(angle)
y2 = outer * math.sin(angle)
dwg.add(dwg.line((x1, y1), (x2, y2),
stroke='black', stroke_width=width))
# 數字(只顯示 12, 3, 6, 9)
key_hours = {12: (0, -r + 30), 3: (r - 30, 0),
6: (0, r - 30), 9: (-r + 30, 0)}
for hour, (x, y) in key_hours.items():
dwg.add(dwg.text(str(hour), insert=(x, y + 3),
text_anchor='middle',
font_size='12px',
font_family='Helvetica, sans-serif',
font_weight='bold'))
elif style == 'roman':
# 羅馬數字風格
roman = ['XII', 'I', 'II', 'III', 'IIII', 'V',
'VI', 'VII', 'VIII', 'IX', 'X', 'XI']
for i, numeral in enumerate(roman):
angle = math.radians(i * 30 - 90)
tx = (r - 25) * math.cos(angle)
ty = (r - 25) * math.sin(angle)
text = dwg.text(numeral, insert=(tx, ty + 2),
text_anchor='middle',
font_size='8px',
font_family='Times New Roman, serif')
dwg.add(text)
dwg.save()
clock_face('modern_clock.svg', style='modern')
clock_face('roman_clock.svg', style='roman')
時鐘機芯的安裝
安裝步驟:
- 鐘面板的中心孔:直徑 8-10mm(依機芯軸心粗細而定)
- 機芯固定:
– 從背面將機芯軸心穿過中心孔
– 用附贈的螺帽從正面鎖緊
– 或用熱熔膠從背面固定機芯本體
- 安裝指針:
– 先裝時針(壓入軸心的最內圈)
– 再裝分針(壓入中間圈)
– 最後裝秒針(壓入最外圈,通常有個小螺帽固定)
- 裝電池測試
重要:安裝指針前,先把時間調到 12:00,確保三根指針都指向 12 的方向。這樣日後調時間才不會錯位。
材料搭配
木材 + 壓克力
這是我最喜歡的組合。深色的木材(如胡桃木)搭配半透明的壓克力,視覺效果非常好。
做法:
- 木材做鐘面主體(刻度和數字用雕刻或鏤空)
- 壓克力做底板(放在木材後面)
- 鏤空的部分會透出壓克力的顏色
多層壓克力
純壓克力的做法是疊加多層不同顏色的壓克力:
- 底層:不透明白色或黑色壓克力
- 中層:透明或半透明彩色壓克力
- 頂層:鏤空設計的不透明壓克力
混合材料
更進階的搭配:
- 金屬片(薄銅板或薄鋁板)雷切數字
- 皮革做背板
- 混凝土灌模做底座
設計變化
文字時鐘(Word Clock)
不用數字,改用文字描述時間。例如顯示「三點十五分」:
現 在 是 一 二 三 四 五
六 七 八 九 十 十 一 二
點 整 十 二 三 四 五 分
半 過 差 分 鐘 早 午 晚
把所有可能用到的字都排列在鐘面上,用 LED 從背面打光。當前需要的字就亮起來。這需要搭配 Arduino 和 LED 矩陣。
齒輪時鐘
讓齒輪外露,成為裝飾的一部分。實際上這些齒輪不需要真的帶動時鐘運轉(機芯是石英的),只是裝飾性的齒輪,可以用手轉動。
月相時鐘
加入一個額外的圓盤,用大約 29.5 天轉一圈來顯示月相。需要自己設計減速齒輪機構,或使用特殊的月相時鐘機芯。
實用小提示
- 掛牆安裝:在鐘面背面留一個鎖孔(keyhole)造型的開口,可以掛在牆上的螺絲上
- 防塵:如果鐘面有鏤空,灰塵會進入。可以在背面貼一層透明壓克力
- 電池更換:機芯要能從背面取下更換電池,不要把機芯黏死
- 重量平衡:如果鐘面的設計不是完全對稱的,要注意重心,否則掛起來會歪
- 指針長度:自製指針的末端不要超過外框太多,否則轉動時可能卡到
小結
雷雕日曆和時鐘是非常適合送禮的作品。它們實用、美觀,而且每個人每天都會看時間——你的作品會持續地出現在朋友的生活中。
從設計的角度來看,時鐘是一個很好的練習對象。它有明確的功能需求(讀取時間),這些需求會自然地約束你的設計決策。在約束中創作,反而能激發更多的創意。
延伸閱讀:
- Instructables 上的 “laser cut clock” 專案 — 各種風格的雷雕時鐘
- The Clock Repairer’s Manual — 如果你想深入了解時鐘機構
- Thingiverse 上的時鐘設計 — 雖然多數是 3D 列印,但設計概念可以轉化到雷切
- Arduino Word Clock 教學 — 如果你想做文字時鐘