跳轉到

1980s-CAD與CAM#

案件摘要#

1980年代,電腦輔助設計(CAD)與電腦輔助製造(CAM)從航太巨頭的實驗室滲透到一般工廠,取代了沿用兩百年的圖板製圖(drafting board)。達梭系統(Dassault Systèmes)的 CATIA 於1981年從法國達梭航太獨立出來成為公司產品,美國的 Unigraphics(UG,前身為麥唐納道格拉斯旗下的 UNISURF 血脈與 MCS)也在此十年成熟——工程師第一次能以「數學曲面」而非「曬圖」定義一台機器。這樁案子的本質是:機器的定義方式,從圖形變成了資料。

前因 -- 為什麼會有這個案子#

  • 1960年代先驅:法國雷諾的皮埃爾·貝濟耶(Pierre Bézier)發明 Bézier 曲線用於車身設計;麻省理工的 SKETCHPAD(Ivan Sutherland, 1963)證明了互動式繪圖的可能。
  • 1970年代波音的柯恩(Kenneth Versprille)提出 NURBS(非均勻有理 B 樣條)理論,1983年起被納入 IGES 資料交換標準——統一的曲面數學終於問世。
  • 航太與汽車的複雜曲面(機翼、車身)用傳統樣板(lofting)手工比對,公差難以控制,成本高昂。
  • 1970年代末小型機與工作站(VAX、Sun)價格下降,使 CAD 從大型機專屬變成工程師桌面的可能。

線索與推理 -- 數學式、程式、理論#

理論一:NURBS——用一個式子統一所有曲面#

NURBS 曲面是 B 樣條基函數的加權有理和,標準形式為:

\[ P(u) = \sum_{i=0}^{n} N_{i,p}(u)\, w_i P_i \]

其中 \(N_{i,p}(u)\) 是 \(p\) 次基函數,由節點向量(knot vector)以 Cox–de Boor 遞迴定義; \(w_i\) 是權重, \(P_i\) 是控制點。這個式子的神奇之處:圓、橢圓、直線、自由曲面全部統一在同一數學框架下(Bézier 曲線是它的特例),且改動一個控制點只局部影響曲線——工程師可以放心地「拉」曲面而不破壞其他部分。

理論二:Cox–de Boor 遞迴——局部控制性的來源#

基函數由遞迴定義:

\[ N_{i,0}(u) = \begin{cases} 1 & u_i \le u < u_{i+1} \\ 0 & \text{otherwise} \end{cases}, \qquad N_{i,p}(u) = \frac{u - u_i}{u_{i+p} - u_i} N_{i,p-1}(u) + \frac{u_{i+p+1} - u}{u_{i+p+1} - u_{i+1}} N_{i+1,p-1}(u) \]

每個 \(N_{i,p}(u)\) 只在 \(p+1\) 個節點區間上非零,這是「局部支撐性」(local support):改一個控制點,曲線只在附近變化。這一性質讓互動式設計在計算上可行——每次拖動只需重算局部,不必重算整個模型。

理論三:CAD/CAM 一體化——從幾何到刀位#

CAM 的核心是把曲面幾何轉成 CNC 工具機的刀位軌跡(cutter location, CL data)。設球頭刀半徑為 \(r\) ,加工曲面 \(S(u,v)\) ,則刀心點是沿曲面法線偏移:

\[ C(u,v) = S(u,v) + r\,\frac{S_u \times S_v}{\|S_u \times S_v\|} \]

設計與製造共用同一個 \(S(u,v)\) ,意味著設計變更會自動反映到加工程式——公差鏈與重工成本大幅縮短。這正是「設計製造一體化」的數學本質。

import numpy as np
# 驗證:Cox-de Boor 三次 B 樣條基函數的局部支撐性
def N(i, p, u, t):
    if p == 0:
        return 1.0 if t[i] <= u < t[i+1] else 0.0
    a = 0 if t[i+p] == t[i] else (u - t[i])/(t[i+p] - t[i])
    b = 0 if t[i+p+1] == t[i+1] else (t[i+p+1] - u)/(t[i+p+1] - t[i+1])
    return a*N(i, p-1, u, t) + b*N(i+1, p-1, u, t)

t = [0,0,0,0,1,2,2,2,2]   # 節點向量
for i in range(4):
    vals = [N(i,3,u,t) for u in np.linspace(0,2,21)]
    nz = sum(1 for v in vals if v > 0)
    print(f"N_{i},3 非零樣本數: {nz}/21 (只在局部區間非零)")

破案時刻#

1981年 CATIA 獨立成軟體公司,第一個大客戶正是其母公司達梭航太,隨後波音(1984年採用 CATIA 設計 777,全機無紙化)與奇異(GE 航太發動機)相繼導入;Unigraphics 在通用汽車等車廠扎根。1983年 NURBS 進入 IGES 標準,1980年代末几乎所有主流 CAD 系統都支援 NURBS——曲面數學統一了,「破案」關鍵確立。圖板、鴨嘴筆、曬圖機在十年內從工程部門消失。

後果 -- 改造了什麼#

  • 波音 777(1994年開始設計、首款完全以 CAD 設計的大型客機)成為本案最著名的戰果:全機數位模型先行,實體原型機直接拼裝成功。
  • CAD/CAM 一體化催生了 PLM(產品生命週期管理)、數位原型(digital mock-up),為後來的工業 4.0 與數位分身鋪路。
  • NURBS 至今仍是所有 3D 軟體(Blender、Rhino、SolidWorks)的幾何基石,成為工程界的「通用語言」。
  • 製圖員職業轉型為 CAD 工程師;設計週期從以月計縮短到以天計,複雜機器(車身、發動機、機翼)的曲面品質從此由數學而非手工樣板保證。