如何在 CAD 中正確建立 3D 列印用 STL 檔

一位設計師用 SolidWorks 預設的 0.5 mm 弦高公差匯出一顆曲面葉輪殼體,得到 4.3 MB、11.2 萬面的 STL。SLS 列印後 18 mm 半徑的流道表面出現明顯稜面,於是重新用 0.05 mm 弦高匯出,檔案膨脹到 62 MB、180 萬面,切層軟體卡了九分鐘才讀完。
STL 匯出處於一個很窄的甜蜜區間:要粗到能快速切層、又要細到能保留幾何。任何一邊失手,不是列印出多邊面,就是白白花一小時等一個印表機根本解析不出的網格。
本篇把 STL 當成一個需要刻意規劃的匯出產物,而不是一堆隨手三角面。CAD 端的每個決策(公差、單位、法向、封閉性)都會對應到列印台上的某種失效模式。
STL 與新一代格式的比較
STL 到 2025 年已經 37 歲,它只儲存三角面的頂點與法向,不帶單位、顏色、材料、晶格、組件資訊。3MF 與 AMF 補上這些空缺;STEP 與 OBJ 則解決的是完全不同的問題。
| 格式 | 幾何類型 | 包含資訊 | 最適用途 | 限制 |
|---|---|---|---|---|
| STL | 三角網格 | 頂點、法向 | 通用切層輸入 | 無單位、顏色、中繼資料 |
| 3MF | 三角網格 + XML | 單位、顏色、材料、支撐、列印參數 | 現代 FDM/SLA/MJF 且切層支援 | 需新版工具鏈 |
| STEP | B-rep 實體 | 精確曲面、組件、公差 | 設計交付、反向轉換 | 切層軟體無法直接讀 |
| OBJ | 多邊形網格 | 頂點、法向、貼圖、材質 | 全彩視覺化、彩色 MJF | 檔案偏大、多數切層非原生支援 |
| AMF | 三角網格 + XML | 單位、材料、曲面三角面 | 研究與晶格工作流 | 2026 年生態支援仍弱 |
弦高公差、面數與檔案大小
弦高公差(又稱弦高或偏差)是指三角面與真實 CAD 曲面之間的最大距離。把公差減半,曲面上的面數大約會變成四倍。這種非線性的成本,是多數人第一次匯出時沒料到的。
角度公差(相鄰面法向的最大夾角)是第二個旋鈕。10 度偏粗,5 度屬正常,1 度則是高保真。多數 CAD 都允許同時設定這兩個參數。
| CAD 軟體 | 參數名稱 | 預設弦高 | 建議列印值 | 備註 |
|---|---|---|---|---|
| SolidWorks | Deviation / Angle | 約 0.15 mm / 30 度 | 0.02 mm / 5 度 | 用二進位 STL,Fine 預設偏粗 |
| Fusion 360 | Refinement 預設 | Medium | High 或自訂 0.05 mm | 超過 200 mm 零件請改自訂 |
| Creo | Chord height / Angle control | Auto | 0.03 mm / 1 度 | 同時設 Step size 面才均勻 |
| NX | Triangle tolerance / Adjacency | 0.08 mm | 0.02 mm | 開啟 Auto Normal Gen |
| Inventor | Surface deviation | Medium | High + 自訂 0.025 mm | 用二進位 + mm |
常見 STL 錯誤與對應失效
切層軟體把 STL 當成封閉體積來讀。任何破壞封閉性的瑕疵,都會讓切層軟體亂猜、直接拒收、或默默印出空洞區域。這四種錯誤大概佔了 MJF 與 SLA 線上平台被退件的九成。
| 錯誤 | 內容 | 下游後果 | 常見 CAD 成因 |
|---|---|---|---|
| 非流形邊 | 同一條邊被 2 個以上面共用 | 切層拒收或印出亂碼 | 零厚度曲面、實體重疊 |
| 法向翻轉 | 三角面朝向內側 | 切層內外翻轉 | 鏡射後未修、布林失敗 |
| 網格破洞 | 缺少三角面 | 切層用亂面補 | 銳角倒角處細分失敗 |
| 自相交 | 三角面互相穿過 | 出現雙壁或體積錯誤 | 多個實體未合併 |
| 重複頂點 | 同點有兩個頂點 | 外觀像封閉實則裂縫 | 匯出時合併公差過緊 |

單位是最不起眼、也最可能釀成災難的陷阱。STL 不帶單位標記:25.4 這個數字可能代表 25.4 mm、25.4 inch,也可能 25.4 m。切層軟體預設是毫米。若用英吋單位的 CAD 匯出後丟進毫米單位的切層,會以 2540% 的比例列印,更常見的是被平台尺寸檢查悄悄退件。
| 來源 CAD 單位 | 切層單位 | 結果 | 避免方式 |
|---|---|---|---|
| 英吋 | mm | 尺寸放大 25.4 倍 | 匯出前把 CAD 切換成 mm |
| 公尺 | mm | 尺寸放大 1000 倍 | 改文件單位,不是只改視圖 |
| mm | mm | 正確 | Orinovate 標準流程 |
| cm | mm | 尺寸放大 10 倍 | CAD 端拒絕 cm 範本 |
依零件尺寸與細節選擇匯出設定

一組公差不可能通吃所有零件。一支 6 mm 的扣合卡勾,需要比 400 mm 外殼牆面更細的網格。公差要跟著零件上最小特徵與最大半徑走,而不是跟著包圍盒走。
| 零件類別 | 包圍盒 | 弦高公差 | 角度公差 | 典型面數 |
|---|---|---|---|---|
| 微件 / 珠寶 | < 30 mm | 0.005 mm | 1 度 | 8 萬–30 萬 |
| 功能原型 | 30–150 mm | 0.02 mm | 5 度 | 15 萬–50 萬 |
| 外殼 | 150–400 mm | 0.05 mm | 5 度 | 20 萬–80 萬 |
| 大型 / 建築件 | > 400 mm | 0.1 mm | 10 度 | 30 萬–150 萬 |
應用案例
SLS 列印葉輪出現稜面瑕疵
某航太供應商出貨 18 顆尼龍葉輪做流道測試。CAD 上進氣葉片寬 12 mm、帶 3 mm 倒角;Creo 以 Auto 預設(0.08 mm 弦高、10 度角)匯出 STL。印出來的葉片前緣出現 0.4 mm 高的稜面,直接干擾了試驗台上的流場訊號。
關鍵設計動作: 把弦高公差壓到 0.02 mm、角度公差 1 度,並確認稜面高度低於印表機 XY 原生解析度(MJF 常見為 80 微米)。檔案從 6 MB 漲到 41 MB,但重印後的葉輪一次就通過流道重現性驗證。
重點:氣動曲面的細分精度是功能規格,不是外觀偏好。
醫療支架因非流形邊被退件
一顆送進 Class I 印表機的手術治具被自動退件三次。元兇是早期掃掠留下的兩片零厚度輔助曲面,在內部通道邊留下 14 條非流形邊。SolidWorks 內建的 Check STL 幾秒就抓出全部 14 條;刪掉幽靈曲面重匯後順利通過上傳。
消費電子專案改用 3MF
某穿戴裝置團隊每週產出 40 版 STL,2026 年第一季改用 3MF 後,平均檔案從 58 MB 降到 11 MB(約減少 80%)。3MF 會壓縮網格並把顏色與列印參數內嵌,就不用每版都另存切層設定。
Do / Don't 對照表
| 建議 | 避免 | 原因 |
|---|---|---|
| 用二進位 STL | 用 ASCII STL 出貨 | 二進位小 5–8 倍、讀取更快 |
| 文件單位設為 mm | 讓切層去猜 | STL 沒有單位標記 |
| 匯出前跑封閉性檢查 | 只用視覺判斷 | 0.05 mm 以下缺口螢幕看不出來 |
| 弦高隨最小特徵調整 | 全部零件一個公差 | 微特徵需要微米級網格 |
| 保留原生 CAD 檔 | 只存 STL 歸檔 | STL 是損失型格式,無法回推修改 |
| 鏡射或布林後檢查法向 | 相信 CAD 會自動處理 | 鏡射常讓一半外殼翻面 |
| 檔名標示版本與單位 | 用通用的 part.stl | 避免單位與版次混淆 |
常見錯誤與避免方式
| 錯誤 | 為何失敗 | 避免方式 |
|---|---|---|
| 用預設匯出 | 預設是給視覺化,不是列印 | 手動改 0.02 mm 弦高 / 5 度 |
| 組件內混用 mm 與英吋 | 匯出時各零件繼承自己的單位 | save-as 前強制整組件轉 mm |
| 跳過封閉性檢查 | 10 微米的縫就會破壞切層體積邏輯 | 用 Netfabb、Meshmixer 或內建檢查 |
| 300 mm 的牆面過度細分 | 平面只需兩個三角形 | 用自適應細分,不要均勻 |
| 鏡射後忽略法向翻轉 | 內表面被當成外表面 | 用法向著色視圖先檢查 |
| STL 不附版次說明 | 廠商分不出 v3 與 v7 | 把版次寫進檔名與模型註記 |
匯出前檢查清單
每份生產用 STL 匯出前跑這八點檢查。每件不到兩分鐘,卻能攔下在廠商端會吃掉好幾天的失效模式。
- 文件單位設為 mm 並在標題欄確認
- 刪除所有輔助曲面、草圖與零厚度實體
- 在 CAD 內通過封閉性 / 非流形檢查
- 弦高對齊最小特徵,角度 5 度或更細
- 以法向著色檢查鏡射與布林結果
- 選擇二進位 STL,不用 ASCII
- 檔名包含料號、版次與單位標記
- 原生 CAD 檔與 STL 放在同一資料夾歸檔
設計重點整理
好的 STL 輸出來自三個小習慣:刻意設好單位、按最小特徵決定細分密度、每次寄出前都驗封閉性。格式本身也重要,如果你的切層鏈支援,3MF 能一次解掉 STL 背了 37 年的單位與中繼資料問題。把 STL 當成有規格的匯出產物,而不是一顆存檔按鈕,後面整條積層流程就會安靜很多。
