立方衛星側板,Z 軸對 Y 差 0.2 mrad:平放銑的端面整面斜,立起來鑽的孔斜、孔口不動¶
SpaceTeamSat1(STS1)是 TU Wien Space Team 的 1U 立方衛星,結構是六片 Al 7075 板。在 STS1 案例裡,一個 AI 代理 (agent) 把這個結構建進 HiNC:自寫 2.5 軸 CAM、排出 24 次裝夾與它們的 Fanuc 程式,每一次裝夾都接著前一次留下的毛胚紀錄播,在 0.125 mm 下驗收。這一頁拿其中一片側板 CS_Yminus 五次裝夾裡的三次,讓案例的三軸機台帶一個幾何誤差:Z 行程在 Y–Z 平面內不垂直於台面 0.2 mrad,也就是走 200 mm,刀尖往 +Y 偏 0.04 mm。這是一台輕型銑床出廠檢驗允許的上限(Tormach 1100M 出廠檢驗表 TD10547 的 G6a 項,0.04 mm/200 mm),不是典型值。
這個誤差做成 Z 軸正上游一條標記的誤差項。程式一行都沒改。同一個誤差,在這片板上有兩種讀法:
- 平放銑(OP1)。 毛胚躺在虎鉗裡,刀從上面下來。朝 ±Y 的每一個面——兩個端面、端條的內面、角塊的端面——都是刀的側刃一層一層切出來的。Z 行程一斜,每一層的牆就照它自己的深度往 +Y 移,所以整個面平移並傾斜 θ。地板則跟著刀底斜。
- 立起來鑽(E2、E3)。 板立在虎鉗裡,孔從端面往裡鑽。對刀就在端面上,所以孔口不動;孔沿著傾斜的行程鑽進去,越深越往零件的 +z 偏,也就是端條 0.85 mm 薄壁的那一側。
真實值在零件上只留下零點幾 µm 到約 3.2 µm,所以另外播一組十倍的誤差(2 mrad)當顯示值,放在自己的資料夾;下面每個數都兩組並列。每一次裝夾都播三趟:誤差項關(名目趟,它切出的工件是每一次比對的理想幾何)、再關一次並做 Diff(對照趟,看雜訊底)、誤差項開而有標記(控制器不知道這個誤差)。結果:
- 刀尖。 每一趟誤差項開的每一步(E2 4,535、E3 5,251、OP1 313,787 個配對步),刀尖偏移都落在 δ = (0, −Z·sin θ, −Z·(1 − cos θ)) 上,最多差 2.54×10⁻¹³ mm;Z 是名目刀尖的程式 Z。對刀面上是 0,越深越往 +Y。每一步的機械座標都與名目趟相同。
- 平放的端面。 −Y 端面整面過切、+Y 端面整面留料,越往下越多:端條上帶 ∓2.03/∓20.31 µm、下帶 ∓2.77/∓27.69 µm(0.2/2 mrad;預測 ∓2.03/∓20.3 與 ∓2.77/∓27.7)。從角塊頂 z 14.6 到 z 0.5,每 0.5 mm 高一格都落在預測線 ∓(15.9 − z)·sin θ 上。
- 內面與地板。 −Y 端條朝窗口的內面留料 +2.39/+23.92 µm,+Y 的過切 −2.39/−23.94 µm(預測 ±2.40/±24.0)。角塊頂最後由 D6 切出,傾斜的刀底留下幾乎均勻的 −0.588/−5.873 µm(預測 −0.59/−5.9);導軌條朝 −X 的側面是 0。
- 立起來鑽的孔。 孔軸每 1 mm 深度往零件 +z 偏 2.000 µm(M3,2 mrad;M4 1.995 µm),外推到端面只有 −0.10…+0.13 µm:孔口不動、孔斜。M4 孔頂的深段過切 −1.10/−11.00 µm、孔底留料 +1.06/+10.63 µm(預測 ∓1.06/∓10.6);E3 的 M3 孔頂 −1.67/−16.98 µm(預測 −1.63/−16.3)。沉頭底跟著刀底斜,一側留料、一側過切(2 mrad 時 +2.78/−3.22 µm,預測 ±3.2)。
- 線性。 兩個值都量得到的 20 個盒,2 mrad 的中位數是 0.2 mrad 的 9.925–10.169 倍。
- 對照與不標記。 對照趟的刀尖與機械座標每一步都與名目趟相同,切出的工件只差約 10⁻¹⁰ mm。E2 另播一趟清掉標記(控制器知道這個誤差),每一步都與誤差項開那一趟相同:一般三軸程式不管標不標記,都把誤差切進零件。
- 成本,在共用的 32 執行緒伺服器上:E2/E3 每趟 4,535/5,251 步、5–30 s、1.23–2.33 GB;OP1 每趟約 31.4 萬步、666–741 s、4.13–5.75 GB。
這裡的一切都是仿真,沒有切過任何零件。

OP1 誤差項開(2 mrad,×10 顯示值)那一趟記下的毛胚,連同它的 Diff 放回畫布,再播姿勢程式 pose-op1-t2.nc:T2 D6 端銑刀與 SF6 熱縮刀把停在 −Y 端面旁 0.2 mm、端條中段的高度,沒有碰料(Play-Touch--None)。Diff 色階 ±0.035 mm(紅=過切、藍=留料、綠=0,正負同權重);0.125 mm;HiNC 3.2.46 開發版(含誤差項)。
| CS_Yminus,0.125 mm,HiNC 3.2.46 開發版(含誤差項),0.2/2 mrad | 預測 | 量到 |
|---|---|---|
| 刀尖減名目刀尖再減 δ,六趟誤差項開的每一個配對步 | 0(計畫容許 10⁻⁹ mm) | 最多 2.54×10⁻¹³ mm |
| 機械座標,開對名目 | 相同 | 每一步都相同 |
| 刀尖偏移仿射擬合在程式零點的偏移 | 0(容許 10⁻⁹ mm) | 最多 8.44×10⁻¹⁴ mm |
| −Y 端條端面,上帶/下帶(µm) | −2.03/−20.3;−2.77/−27.7 | −2.029/−20.313;−2.768/−27.687 |
| −Y 角塊端面,上段/下段(µm) | −0.62/−6.2;−2.74/−27.4 | −0.629/−6.310;−2.731/−27.311 |
| 端條內面,−Y 條/+Y 條(µm) | ±2.40/±24.0 | +2.394/+23.924;−2.394/−23.937 |
| 角塊頂(µm) | −0.59/−5.9 | −0.588/−5.873 |
| 導軌條朝 −X 的側面 | 0 | 0/0 |
| 孔軸斜率,M4/M3,2 mrad | sin θ = 0.002 ± 15 % | 0.0019945/0.0019998 |
| 孔軸外推到端面,M4/M3,2 mrad | ≤ 0.15 × 最深一片 | −0.095/+0.126 µm(最深 15.36/19.62 µm) |
| M4 孔深段的孔頂/孔底(µm) | ∓1.06/∓10.6 | −1.102/−10.996;+1.058/+10.630 |
| M4 孔頂在孔口對深段,2 mrad | 最多 0.3 | 0.158 |
| 2 mrad 對 0.2 mrad,兩個值都量得到的 20 個盒 | 10 ± 1.5 | 9.925–10.169 |
| 對照趟對名目,刀尖與機械座標 | 0 | 每一步都是 0 |
| OP1 每趟的伺服器時間/記憶體峰值 | — | 665.7–740.8 s/4.13–5.75 GB |
案例¶
STS1 案例記錄代理怎麼從團隊公開的 STEP 檔與 13 張圖面,自寫 2.5 軸 CAM,排出六片板的 24 次裝夾、寫 Fanuc 程式、建 24 個 HiNC 專案,每一次裝夾都接著前一次寫下的毛胚紀錄播,在 0.125 mm 下驗收(見下面的來源與授權)。側板 CS_Yminus 是 91.4 × 94.0 × 14.9 mm,毛胚 95.4 × 98.0 × 23.9 mm,有 25 個孔,分五次裝夾:OP1(毛胚平放在虎鉗裡,銑出板的上半)、OP2(翻面放到子板上的巢裡)、E1–E3(板立在虎鉗裡,鑽端面與側邊的孔)。它的機台照設計建,沒有誤差。這一頁替它加一個幾何誤差,問的是:Z 軸不垂直,對同一片板平放銑與立起來鑽各有什麼影響。代理拿到的:
-
基案的專案與程式。
- OP1:毛胚在虎鉗裡,程式零點在毛胚頂面中心,
G54(−400, −250, −486.09999946062453)。11 支分段程式,每支一把刀:D16、D6、D4、D2 端銑刀粗加工,D6、D4、D2 半精修,D4 球刀切凹槽,三支鑽頭(D1.6、D2.4、D2.5)。D6(T2)裝在 SF6 熱縮刀把上。 - E2:板立著,刀從零件的 −Y 來,程式零點在 −Y 端面上,
G54(−400, −250, −446)。D1.6 鑽頭鑽兩個 M2 孔、D3.3 鑽頭鑽 M4 孔、D4 端銑刀繞圈銑出 D5.5 H7 座、再用 D5.5 H7 平頭鉸刀鉸。 - E3:同樣的事從零件的 +Y 做,程式零點在 +Y 端面上,
G54相同。D1.6 鑽頭鑽兩個 M2 孔、D2.5 鑽頭(T14,裝在 SF4 熱縮刀把上)鑽 M3 孔、D4 端銑刀在它外圍插出 D4 沉頭、平頭鉸刀鉸座。 - 全是一般三軸 Fanuc 程式:
G54、G43、G81/G83鑽孔循環;沒有 RTCP、傾斜工作平面或 CL。 - 毛胚紀錄:這片板的五次裝夾用紀錄接力,OP1 → OP2 → E1 → E2 → E3,每一次讀前一次寫下的紀錄。
- OP1:毛胚在虎鉗裡,程式零點在毛胚頂面中心,
-
機台。 HiNC 的三軸骨架
Empty-wXYOZSt.default.mt,基案 24 個專案共用:工作台走 X、Y,主軸頭走 Z,Z→S繫結主軸角色。沒有任何實體。 - HiNC 的誤差項。 機台鏈上的軸或主軸可以帶一個誤差項,也就是緊接在那根軸的連接之前、一條自己的靜態連接:它帶的是量到的誤差,不是設計的一部分。把 NC 轉成機械座標的控制器在名目鏈上解,把標記的連接當作不存在;專案的啟用誤差項開關開著時,仿真的機台移動、切削與碰撞檢查都帶著它們。所以誤差會切進零件,就像一台控制器不知道自己誤差的真機。每一步的機械座標開關開或關都一樣;不同的是刀尖與切出的工件。沒有 RTCP 或傾斜工作平面時,鏈上的每一個誤差都會切進零件,標不標記都一樣(標記會改變什麼)。
- 對刀與 P0。 HiNC 的 P0 在名目鏈上量程式零點。真機上,對刀找到的
G54已經吃進誤差在對刀姿態造成的常數偏移(有誤差項的機台上的工作偏移)。 - 放置規則。 HiNC 的產品擁有者在 2026-10-06 裁定:誤差項只放在角色連接(X … C 軸或主軸)的正上游,每個誤差一個新錨點。
- 請求。 HiNC 的產品擁有者要從先前的案例往上加誤差項的實作案例,產品案與論文案都可以,重的播放放在共用伺服器上。
沒有人說的:
- 這台機的 Z 差多少。 沒有量任何機台。代理取一份公開的輕型銑床出廠檢驗表的上限 0.2 mrad,方向取「Z 行程與刀一起繞 +X 轉」。
- 哪幾次裝夾看得出來。 這片板有五次;代理選了用兩種方式讀這個誤差的三次,避開 E1:基案把那一次擺成繞對角線轉 120°,HiNC 在那裡有已知缺陷(難題 1)。
- 兩個對刀高度,樞軸放哪裡
G54才不用改(難題 4)。 - 0.125 mm 的網格讀不讀得出零點幾 µm(難題 5)。
這一頁新的地方:
- 一個誤差,兩種讀法。 同一個垂直度,讓平放裝夾的面傾斜、讓立板裝夾的孔傾斜,而立板裝夾對刀的端面留在原地。
- 對刀點就是零點。 對刀的地方偏差為 0,離它越遠越大:OP1 是毛胚頂面下 15.9 mm 的板,E2、E3 是端面下 8–10 mm 的孔。
- 五次裝夾的毛胚鏈。 立板裝夾從另一次裝夾寫下的毛胚紀錄開始,誤差項的各趟也讀寫這種紀錄(難題 1)。
代理建了什麼¶
每個值都標明出處:讀的(基案或建置紀錄)、推得的(從讀到的算出)或選的(代理自己決定)。θ 是 Z 行程對 Y 的垂直度。
| 值 | 出處 | |
|---|---|---|
| 意義 | Z 行程連同上面的主軸頭、主軸與刀,在 Y–Z 平面內不垂直於台面,也就是 ISO 230-1 說的 Z 對 Y 垂直度。刀每往下 1 mm,刀尖往 +Y 偏 θ mm:真實值是每 mm 0.2 µm | 選的:誤差的種類與方向;推得的:每 mm 的量 |
| 大小 | θ = 0.2 mrad = 0.011459155902616465°,0.04 mm/200 mm:Tormach 1100M 出廠檢驗表 TD10547 的 G6a 項(主軸中心線對台面、沿 Y,0.04/200),也滿足它的 G5a 項(主軸頭行程對台面、沿 Y,0.035/150 = 0.233 mrad)。相當於一台剛好在出廠驗收邊緣的輕型銑床 | 選的:公開的上限,不是任何一台機的量測 |
| 顯示值 | ×10 = 2 mrad = 0.11459155902616465°,放在自己的資料夾,出現的地方都標明是顯示值 | 選的 |
| 放在哪 | Z 軸連接(base→Z)的正上游,新錨點 Zerr。base→Zerr 命名為 YZsq,是一個繞 (1, 0, 0) 的 Static Rotation,標記為誤差項。Z 軸的 Dynamic Translation(軸 (0, 0, 1))整個搬到 Zerr→Z,Axis Z 重新繫結;主軸 NewAnchor-006(Z→S)與其餘連接都不變 |
選的:照擁有者 2026-10-06 的裁定 |
| 樞軸,立板裝夾(E2、E3) | base 座標 (0, 0, 554):G54 Z −446 加刀具安裝點的 1000,也就是在端面上對刀時的刀尖 |
推得的 |
| 樞軸,平放裝夾(OP1) | (0, 0, 513.9000005393755):G54 Z −486.09999946062453 加 1000,毛胚頂面中心的刀尖 |
推得的 |
| 為什麼只看 Z | 刀側 base→Zerr→Z→S→t 沒有 X、Y 軸,所以在 base 裡刀尖永遠在主軸線 x = y = 0 上:樞軸的 X 不影響結果,Y 必須是 0 |
推得的 |
| 鏈 | 台側 O→base→X→Y→w,刀側 base→Zerr→Z→S→t |
讀的:建置後從六個專案讀回的拓樸 |
| 工作偏移 | 每一趟都用專案自己的 G54,沒有手動打入 |
推得的:對刀點的偏差為 0(難題 4) |
| 資料夾 | 一個誤差、兩個樞軸、兩個值:四個專案資料夾,各有自己的機台檔——Edge/ 與 Edge-x10/(E2、E3 兩個專案,共用資料夾裡的機台檔與毛胚紀錄)、Flat/ 與 Flat-x10/(OP1) |
選的 |

設備頁拓樸欄的工具機一塊。誤差項 YZsq 是 base→Zerr 這一條,帶橘色「誤差項」徽章;Z 軸(工具機・Z 軸)在它下游的 Zerr→Z,主軸 NewAnchor-006 不變。HiNC 3.2.46 開發版(含誤差項),中文介面。
刀尖會偏多少:計畫裡寫下的預測。
- 刀尖在 base 座標是 (0, 0, Z_MC + 1000 − H),H 是刀長:主軸繞 (0, 0, −1) 轉、樞軸在 (0, 0, 1000),刀尖在它的軸線上,刀具安裝點再加 (0, 0, 1000)。三次裝夾的程式座標軸都與 base 同向。
- 誤差讓刀側繞樞軸 c 轉 θ,刀尖變成 R(刀尖 − c) + c,R = R_X(θ),偏移 δ = (R − I)·(0, 0, Z) = (0, −Z·sin θ, Z·(cos θ − 1)),Z 是名目刀尖的程式 Z。
- δ 只看 Z,與 X、Y、刀號都無關:對刀高度是 0,以下往 +Y、以上往 −Y。
零件表面偏多少:計畫的預測。
- OP1,零件座標(z_p = z − 15.9027):刀側刃切出的牆偏 δ = (0, (15.9027 − z)·sin θ, ≈ 0)。朝 −Y 的面過切、朝 +Y 的面留料,大小 (15.9027 − z)·sin θ,毛胚頂面為 0。
- E2、E3:零件的 +z 是機台的 +Y。深 d 處的孔軸往零件 +z 偏 d·sin θ:孔頂過切、孔底留料,孔口在對刀面上不動。E2 從 −Y 端、E3 從 +Y 端鑽,兩端的孔都往 +z 爬,兩條軸線對板的中面成鏡像的 V 形。
- 地板由平底刀切出,跟著刀底斜:−Y 側最低,深 R·sin θ。
各趟:
| 趟 | 專案 | 啟用誤差項 | YZsq |
用途 |
|---|---|---|---|---|
| t-e2x-nominal | E2,2 mrad 資料夾 | 關 | 標記(不生效) | 修剪:名目切削件 |
| t-e2x-on | E2,2 mrad 資料夾 | 開 | 標記 | 修剪:公式與正負號 |
| t-e2x-unmarked | E2,2 mrad 資料夾 | 開 | 不標記 | 修剪:控制器知道誤差 |
| t-e2x-control | E2,2 mrad 資料夾 | 關 | 標記(不生效) | 修剪:雜訊底 |
| t-op1x-nominal/t-op1x-on | OP1 第一段(D16 粗加工),2 mrad 資料夾,0.25 mm | 關/開 | 標記 | 修剪:重的那次裝夾的第一段 |
| f-e2-nominal/f-e3-nominal/f-op1-nominal | 0.2 mrad 資料夾 | 關 | 標記(不生效) | 每一次比對的理想幾何 |
| f-e2-control/f-e3-control/f-op1-control | 0.2 mrad 資料夾 | 關 | 標記(不生效) | 雜訊底 |
| f-e2-on/f-e3-on/f-op1-on | 0.2 mrad 資料夾 | 開 | 標記 | 真實值 |
| f-e2-onx10/f-e3-onx10/f-op1-onx10 | 2 mrad 資料夾 | 開 | 標記 | 顯示值 |
每一趟共通的:
- 0.125 mm 網格,基案驗收的格寬(OP1 的修剪段用 0.25 mm),物理關、碰撞偵測開。
- 立板裝夾的毛胚鏈。 E2 從 OP2 在基案驗收時記下的毛胚開始(難題 1),E3 讀 E2 最後寫的那份;開與名目讀同一份輸入,所以差異只來自 E2、E3 自己(OP1、OP2 不帶誤差播)。每個資料夾裡,E3 都緊接在同一模式的 E2 之後播。
- OP1 從毛胚盒開始:基案的分段紀錄停用,11 支分段程式一趟播完。
- ×10 的各趟拿 0.2 mrad 資料夾的名目與對照比:誤差項關的一趟不讀誤差的值,兩個資料夾切出來一樣。
- Diff(幾何驗證):理想幾何是同一次裝夾的名目切削件,偵測半徑 1 mm;色階(
DiffVisualRadius)在 2 mrad 時,立板裝夾 ±0.005 mm、OP1 ±0.035 mm,0.2 mrad 時是十分之一。有 Diff 的每一趟都記下毛胚、匯出切出的工件。
代理怎麼管理這件工作¶
- 計畫前先讓別的代理讀設計。 四個唯讀代理分別從運動學、刀具行為、標準與特徵預測四個角度讀設計,在任何播放之前就挑出錯(難題 9)。
- 先寫標準與預測。 計畫、預測與十條標準在 2026-10-07 01:20:17 提交;第一趟在 01:20:28 開始。
- 建置。 代理的工具把每個基案專案另存成它資料夾裡的新誤差項專案,只經 Web API 修改:插入
Zerr與YZsq並標記、搬移 Z 軸並重新繫結、網格設成 0.125 mm、物理關、毛胚紀錄依各趟需要保留或停用。六個專案再各重開一次,把鏈讀回來。 - 修剪先跑。 T1 是 E2 在 2 mrad 下播名目、開、不標記、對照,驗建置、逐步公式、機械座標與名目相同、孔的正負號,以及標記與不標記的問題。T2 是 OP1 第一段(D16 粗加工)在 0.25 mm 下播,驗重的那次裝夾的公式與程式零點偏移。
- 第一輪之後的改變,在重跑之前寫下。 立板整案的第一輪照基案的接法,讓 E2 從 E1 的毛胚紀錄開始,結果 E3 自己的孔組在盒裡一個頂點都沒有。試播從 OP2 的紀錄開始就好了,這個改變寫進計畫原文後面註明日期的一節(01:41:09 提交),T1 與立板各趟從 01:42:30 起全部重播(難題 1)。OP1 與 T2 不受影響。
- 一次一趟,每趟重啟實例。 每一趟都在剛重啟的實例上從檔案載入專案,所以 VmHWM 是那一趟自己的峰值。立板各趟每趟不到一分鐘,直接跑;OP1 各趟每趟 11–12 分鐘、最多 5.8 GB,在共用伺服器上排隊等輪到,17:08 到 17:56 跑完。
- 每次播放前先核毛胚紀錄。 要讀的毛胚紀錄不在時,HiNC 只記一則訊息、從毛胚盒開始播,名目與誤差項開會一起錯,比對看不出來。所以每次播放前,代理的工具都先查這一趟要讀的每一份紀錄都在,並記下大小與時間:每一個 E3 讀到的,都是同一模式 E2 那一趟播放期間寫下的紀錄;每一個 E2 讀的都是同一份 93,515,940 位元組的 OP2 紀錄。
- 逐步對齊。 E2、E3 的步數與名目趟相同,直接用步序號對齊;OP1 誤差項開的兩趟多一、兩步,改照程式檔與行配對(難題 8)。
- 數字都從紀錄算。 代理的分析腳本從執行紀錄與匯出的切削件算出本頁每一個數,每個數都附出處。
- 畫面兩種介面語言各拍一套,都是把記下的毛胚放回畫布拍的,不是重播:OP1 五個鏡頭、E2 與 E3 從上方看的 Diff,兩支把刀與刀把帶進畫面的姿勢程式,以及拓樸圖。
- 人在哪裡介入。 HiNC 的產品擁有者要從先前的案例往上加誤差項的實作案例,並裁定誤差項可以放在哪裡。誤差、它的大小與方向、樞軸、裝夾的選擇、預測與標準,都是代理們自己定的:設計代理推導出來,審查代理改正,執行這一案的代理寫進計畫。
第一次播放前提交的標準(n_box 是一個盒的雜訊底,見標準 4):
| # | 標準 |
|---|---|
| 1 | 建置,以六個專案重開後為準:拓樸 O→base→Zerr→Z→S→t;YZsq(base→Zerr)是標記的 Static Rotation,繞 (1, 0, 0),讀回的角度與樞軸與 case 檔相同(≤ 10⁻¹²);Z(Zerr→Z)是原來的 Dynamic Translation、繫結 Axis Z;X、Y、主軸 NewAnchor-006、兩個安裝點與其餘連接不變;角色檢查為空;重開沒有載入訊息;案例在誤差項資料夾以外的檔案沒有變 |
| 2 | 每一趟:Finished、步數 > 0;每支有刀路的分段程式都有接觸步(逐段數 IsTouched);開、對照、不標記的 Warning 以上訊息與名目相同,只多 Diff--TargetNotClosed、Diff--Stats;碰撞、行程超限、快移切料都是 0;毛胚鏈照計畫 |
| 3 | 刀尖,每一個配對步,含空中的步:開與名目 |ΔMC| ≤ 10⁻⁹ mm;|Cl(開) − Cl(名目) − δ| ≤ 10⁻⁹ mm;仿射擬合在程式零點的偏移 ≤ 10⁻⁹ mm;對照對名目、不標記對開逐步相同(≤ 10⁻¹²);步數不同時照檔與行配對 |
| 4 | 雜訊底:每個盒取對照趟到名目切削件距離的 n_box = max(|p01|, |p99|),下限 0.1 µm |
| 5 | 2 mrad 時牆、孔與有號地板的盒(不含 H3、F11,它們歸標準 7):中位數與預測同號,且 |中位數 − 預測| ≤ 20 %·|預測| + 2·n_box |
| 6 | 同一批盒在 0.2 mrad:|中位數| > 3·n_box 的做同樣的檢查,且 中位數(2 mrad)/中位數(0.2 mrad) = 10 ± 1.5;量不到的盒照實寫「低於雜訊底」,改以 2 mrad 的值除以 10 報 |
| 7 | 對刀面:2 mrad 時 |H3| ≤ 0.3·|H1|(M4 孔頂在孔口對深段);零盒 F11 兩個值都 |中位數| ≤ 3·n_box |
| 8 | 地板:F12 的中位數照標準 5、6(−0.59/−5.9 µm),而且 F12、F13、H6 的 p01、p99 都在預測範圍內,範圍兩端各外擴範圍寬度的 20 % 加 2·n_box |
| 9 | 孔軸,2 mrad:E2 的 M4(軸 x −30.5、z 4.3027、r 1.65,y −47…−39)與 E3 的 M3(軸 x −41.35、z 4.3527、r 1.25,y 41.2…36.72),擬合圓心的 z 偏移對深度的斜率 = sin θ ± 15 %,外推到端面的偏移 ≤ 0.15 × 最深處的偏移 |
| 10 | 成本:每一趟的步數、牆鐘與 VmHWM |
難題¶
每一個都依序寫出情況、若沒發現會有的風險、怎麼發現、怎麼解決,以及證明解法成立的證據。
1. E1 的毛胚紀錄帶著破掉的角塊:E2 改從 OP2 的開始¶
- 情況。 基案把這片板的五次裝夾用紀錄接力,E2 讀 E1 寫下的紀錄。立板整案的第一輪也照這樣。E2 的 M4、M2 孔周圍的盒在兩個值都合預測,但 E3 自己的孔組——M3 孔與它的 D4 沉頭——四個盒裡一個頂點都沒有,M3 的孔軸也擬合不出來。
- 風險。 E3 的孔組是立板故事的一半:少了它,這一頁只剩一組孔,或者讀錯手上那一組。
- 怎麼發現。 盒裡的頂點數是 0。沿 M3 孔軸切名目切削件,孔正好在設計位置,但孔壁只剩孔軸以下的半圈,那一段的板底面也大半不見。在匯出的切削件上數只被一個三角形用到的邊(開放邊):E2 的名目切削件 6,289 條、E3 的 9,052 條,集中在兩端的角塊。
- 原因。 E1 是基案擺成繞板的對角線轉 120° 的裝夾之一。HiNC 在那裡有已知缺陷,基案記錄過:這種裝夾讀不到力,匯出的零件在它切過的特徵周圍有開放邊。E2、E3 讀它的紀錄,就繼承了破掉的角塊;E3 的孔組正好鑽進 +Y 那一塊。
- 解決。 試播一次,讓 E2 從 OP2 在基案驗收時寫下的紀錄開始:開放邊降到 E2 名目切削件 726 條、E3 的 1,272 條,M3 孔整圈都在,每 0.5 mm 一片 320 點,圓心正好在設計位置。E1 鑽的是 z 11.75 的側孔,與 E2、E3 的孔(z 約 4.35)都不相交,所以立板各趟改讓 E2 從 OP2 的紀錄開始。這個改變寫進計畫原文後面註明日期的一節,T1 與立板各趟全部重播。立板的零件因此少了 E1 的側孔;要量的東西都不靠它們。
- 證據。 第一輪、試播與報告用各趟的開放邊數與位置;計畫註明日期的那一節;每一趟 E2 讀的紀錄記錄(93,515,940 位元組,OP2 的)。
2. 第一輪的座底與預測不合¶
- 情況。 第一輪的盒 H6(E2 的 D5.5 座底)在 2 mrad 讀到中位數 +1.75 µm、只有 46 個頂點,審查代理從刀路推得的是約 −1.2 µm。
- 風險。 照字面讀,會說預測錯了;把預測改得遷就它,就是讓計畫去配一個破掉的網格。
- 怎麼發現。 盒裡的頂點比一個座底該有的少很多。
- 原因。 同一個破掉的角塊:座在 −Y 那一塊。
- 解決與證據。 從 OP2 的紀錄開始後,同一個盒有 1,081 個頂點,中位數 −0.50 µm,p01/p99 −4.71/+4.29 µm;審查代理掃刀算的是 −4.75/+4.25。頂點比平常少很多的盒,先查匯出的網格,再懷疑預測。
3. 立板裝夾的平底地板,匯出時仍有開放邊¶
- 情況。 從 OP2 的紀錄開始後,E2、E3 匯出的切削件還有幾百條開放邊,都在平底刀切出的地板上:D5.5 座底(|y| 46)與 E3 的沉頭底(y 41.2)。OP1 的匯出件也有,名目切削件 20,680 條,最大的幾群在沒切到的毛胚底面(z −8)的四角與邊上。HiNC 的 Diff 在每一趟誤差項開與對照都報
Diff--TargetNotClosed(理想幾何沒有封閉),各趟有 4–13 個量不到(NaN)的葉、9,950–21,533 條量不到的線,量到的有 250 萬–401 萬條。 - 風險。 落在這些地板上的盒,讀到的可能是網格的破洞,不是切削。
- 怎麼發現。 試播之後,把每一件匯出切削件的開放邊都數過。
- 解決。 照實記下。沉頭底的兩個盒 H9a、H9b 只有 19、23 個頂點,但讀數照預測(2 mrad 時 +2.78、−3.22 µm,預測 ±3.2);其他量的面都不在開放邊上。「擺成 90° 與 180° 的立板裝夾,平底地板也會開」這個觀察,補進了 HiNC 那個 120° 擺放缺陷的紀錄。
- 證據。 每件匯出切削件的開放邊數;各盒的頂點數與讀數。
4. 兩個對刀高度、兩個樞軸,G54 才不用改¶
- 情況。 真機對刀會把誤差在對刀姿態造成的常數偏移吃進工作偏移;HiNC 的 P0 在名目鏈上量,什麼都不吃。這片板在兩個高度對刀:OP1 在毛胚頂面,E2、E3 在端面。
- 風險。 三次裝夾只用一個樞軸,至少有一次裝夾的程式零點會偏「兩個對刀高度的差 × θ」,誤差項開與名目就得用不同的工作偏移,Diff 會把少做的對刀算到誤差頭上。
- 怎麼發現。 設計推導程式零點的偏移時。
- 解決。 每個對刀高度一個樞軸,各放在它對刀時刀尖所在的位置:端面 (0, 0, 554)、毛胚頂面 (0, 0, 513.9)。對刀點的偏差就是 0,每個專案自己的
G54就是真機對刀會找到的值。代價是兩份機台檔,所以分成Edge與Flat兩類資料夾。 - 證據。 六趟誤差項開與 T2 的仿射擬合,在程式零點的偏移最多 8.44×10⁻¹⁴ mm;每一趟都用專案自己的
G54、沒有手動打入;誤差項開與名目的機械座標每一步差 0。
5. 零件上只有 0.2–3.2 µm:真實值旁邊放一組顯示值¶
- 情況。 0.2 mrad 時零件上最大的偏差約 3.2 µm,在 OP1 端面的最下緣,對刀的毛胚頂面下 15.9 mm;孔口與地板只動零點幾 µm。網格一格是 125 µm。
- 風險。 真實值在畫布上只是淡淡的色調;零點幾 µm 的盒可能落在雜訊裡。
- 怎麼發現。 設計估計每個特徵時。
- 解決。 另播一組十倍的誤差(2 mrad),放在自己的資料夾,出現的地方都標明是顯示值。兩組都量:20 個盒在兩個值都量得到;H9a(沉頭底的上側)在 0.2 mrad 讀 0.28 µm,低於三倍雜訊底(0.3 µm),照計畫寫「低於雜訊底」,改以 2 mrad 的值除以 10 報(0.278 µm)。畫布圖多半用 2 mrad,每一張都有一張真實值配十倍細色階的對照。
- 證據。 2 mrad/0.2 mrad 的比值 9.925–10.169;真實值的畫面與顯示值的一樣(見下面〈真實值與顯示值〉)。
6. 孔壁在畫布上看不到¶
- 情況。 HiNC 的畫布沒有剖面視圖:從上方看孔,只看得到孔口與孔底,偏差卻在孔壁上。
- 風險。 看不出孔的哪一側偏、偏多深的圖,讀者只能看數字。
- 怎麼發現。 設計列為疑點。
- 解決。 孔用匯出的網格量:特徵盒、把孔壁繞孔軸展開的圖、逐片擬合的孔軸。畫布圖放看得到的面——端面、座底與沉頭底——再加一張把鑽頭與刀把帶進 M3 孔的圖。
- 證據。 下面的孔壁展開圖與孔軸圖。
7. M3 出口的半片把孔軸擬合拉歪¶
- 情況。 M3 孔軸第一次擬合,斜率 0.00116、外推到端面 6.3 µm,與盒子的讀數不合。
- 風險。 錯的斜率會讓正確的切削件在標準 9 判不過,或讓錯的過關。
- 怎麼發現。 擬合與同一面孔壁上的盒對不上。
- 原因。 圓心是孔壁每 0.5 mm 一片擬合的,最後一片跨出孔的出口(y 36.72,M3 在那裡鑽穿到窗口):只有 222 點,圓心在 x 偏 1.2 µm、在 z 離直線 5 µm。前 8 片整片的讀 12.63、13.62、…、19.63 µm,每 mm 2.000 µm。
- 解決。 只擬合整片落在孔內的切片(M4 的切片本來都是整片)。
- 證據。 M3 讀成 0.0019998、端面 0.13 µm。
8. 誤差項開的那幾趟多一兩步、多碰料¶
- 情況。 OP1 誤差項開的兩趟比名目多一步與兩步,接觸步也多:第一段(D16 粗加工)名目 51,291 步,0.2 mrad 56,653 步。
- 風險。 用步序號對齊,第一個多出的步之後,每一步都會配錯對象。
- 怎麼發現。 步數不同。
- 原因。 HiNC 在刀尖實際移動的地方出步,傾斜的刀讓某一行多出一步。刀的平底斜了以後,每一圈的低側會碰到旁邊那一圈留下的地板之下(推論,沒有逐步驗)。
- 解決。 照程式檔與行配對,配不上的一兩步不比;切出的體積本身由地板的盒量。
- 證據。 OP1 每一組比對都配上 313,787 步;刀尖殘差與立板各趟相同。
9. 計畫前的唯讀審查挑出了什麼¶
提交計畫之前,四個唯讀代理各從一個角度讀設計:運動學、刀具行為、標準與特徵預測。它們挑出的錯,都在第一次播放前改好:
- 角塊頂(F12)的預測用錯了刀。 設計以為那裡最後一刀是 D16;D16 只到 Z −0.85,Z −1.0 的角塊頂最後只有 D6 走過,留下幾乎均勻的 −0.59/−5.9 µm。設計原本 −1.6 到 0 的範圍,寬到抓不出錯。
- 沉頭底的盒框進了孔壁。 盒的上下界跨過地板,把 M3 與 D4 的孔壁也框進去;孔壁跟著孔軸偏,偏得比地板的傾斜大好幾倍,資料正確也會判不過。改成只落在環形地板上的兩個盒 H9a、H9b,在孔軸上下。
- 導軌條頂的盒(F13)跨過一個台階(y 14.7 以外),改成收到 y 13。
- 少了毛胚紀錄不會被發現。 一趟該讀的紀錄不在時,HiNC 只記一則訊息、從毛胚盒開始播,所以各趟現在播放前都先核要讀的每一份紀錄。
- 證據。 計畫裡的預測與盒;F12 讀 −0.588/−5.873 µm,H9a、H9b 照預測,以及每一趟的紀錄記錄。
結果與效益¶
量在 HiNC 3.2.46 開發版(含誤差項)上,0.125 mm、物理關。這裡的「量到」是在 HiNC 的仿真結果上量到的。
| # | 判定 | 量到的 |
|---|---|---|
| 1 | 通過 | 六個專案重開後讀回:角度與樞軸與 case 檔逐位元相同、已標記;Axis Z 在 Zerr→Z,主軸仍是 NewAnchor-006;X (−1, 0, 0)、Y (0, −1, 0)、床台安裝點的 (−400, −250, 400)、主軸 (0, 0, −1) 與樞軸 (0, 0, 1000)、刀具安裝點 (0, 0, 1000)、Z (0, 0, 1) 都與基案相同;角色檢查為空;沒有載入訊息;誤差項資料夾以外沒有檔案變動 |
| 2 | 通過 | 18 趟全部 Finished;每一趟每支分段程式都有接觸步;名目趟沒有任何 Warning 以上的訊息,其他各趟只多 Diff--TargetNotClosed;沒有碰撞、行程超限或快移切料。每一個 E2 讀的都是 OP2 的紀錄(93,515,940 位元組),每一個 E3 讀的都是同一模式 E2 那一趟播放期間寫下的紀錄 |
| 3 | 通過 | 殘差最多 2.54×10⁻¹³ mm,程式零點偏移最多 8.44×10⁻¹⁴ mm,ΔMC 每一步都是 0;對照對名目、不標記對開每一步都是 0。OP1 誤差項開的兩趟多一兩步:照檔與行配上 313,787 步 |
| 4 | 照記 | 對照趟的切削件與名目只差約 10⁻¹⁰ mm,所以每個盒都取下限 0.1 µm |
| 5 | 通過 | 21 個盒全過:OP1 的 F1–F10 與 F12,E2 的 H1、H2、H4、H5,E3 的 H7、H8、H9a、H9b、H10、H11(E3 的切削件也帶著 E2 的孔,讀數與 E2 的相同) |
| 6 | 通過 | 量得到的 20 個盒全過,比值 9.925–10.169;H9a 讀 0.28 µm,低於 3·n_box,照實寫「低於雜訊底」(由 2 mrad 得 0.278 µm) |
| 7 | 通過 | H3/H1 = 0.158;F11 兩個值的中位數都是 0 |
| 8 | 通過 | F12 −0.588/−5.873 µm(預測 −0.59/−5.9);p01/p99:F12 −0.599/−0.547 與 −5.985/−5.473,F13 −0.598/−0.382 與 −5.968/−3.819,H6 −0.469/+0.431 與 −4.707/+4.292 µm |
| 9 | 通過 | M4 0.0019945(−0.27 %),端面 −0.095 µm、最深一片 15.36 µm;M3 0.0019998(−0.01 %),端面 +0.126 µm、最深 19.62 µm |
| 10 | 通過(照記) | 見下面〈執行成本〉 |
與計畫不同的地方:E2 改從 OP2 的紀錄開始,不從 E1 的(難題 1),所以標準 2 的毛胚鏈改成「E2 讀 OP2 的紀錄」。這個改變是計畫原文後面註明日期的一節,2026-10-07 01:41:09 提交,在 01:42:30 重播 T1 與立板各趟之前;那一節的標題寫 01:45,是筆誤。
刀尖:每一步都落在預測上¶
這裡的刀尖指每一步的 CL:程式座標裡刀尖的實際位置。
每一步的刀尖偏移(開減名目,程式 Y 方向)對名目刀尖的程式 Z。左:每個值一條直線,點從切削區(Z −17 到 0)一直排到換刀高度(E2、E3 的 Z +353、OP1 的 +393.1);插圖是切削步。右:每一步對預測的殘差,都在 ±3×10⁻¹³ mm 內。0.125 mm;HiNC 3.2.46 開發版(含誤差項)。
| 裝夾 | 值 | 配對的步 | 殘差最大 | 程式零點偏移 | 切削步的 Z | 偏移範圍(程式 Y) |
|---|---|---|---|---|---|---|
| E2 | 0.2 mrad | 4,535 | 2.02×10⁻¹³ mm | 2.75×10⁻¹⁴ mm | −8.60…0 | −70.6…+1.78 µm |
| E2 | 2 mrad | 4,535 | 1.92×10⁻¹³ mm | 4.25×10⁻¹⁴ mm | −8.60…0 | −706.0…+17.80 µm |
| E3 | 0.2 mrad | 5,251 | 1.62×10⁻¹³ mm | 1.02×10⁻¹⁴ mm | −10.74…0 | −70.6…+2.21 µm |
| E3 | 2 mrad | 5,251 | 2.54×10⁻¹³ mm | 8.22×10⁻¹⁴ mm | −10.74…0 | −706.0…+22.07 µm |
| OP1 | 0.2 mrad | 313,789 步中的 313,787 | 2.43×10⁻¹³ mm | 8.44×10⁻¹⁴ mm | −16.90…0 | −78.6…+3.38 µm |
| OP1 | 2 mrad | 313,788 步中的 313,787 | 2.23×10⁻¹³ mm | 7.64×10⁻¹⁴ mm | −16.90…0 | −786.2…+33.80 µm |
- 偏移只看深度。 對刀高度是 0,最深的切削(OP1 的 Z −16.9)往 +Y 偏 3.38/33.80 µm;換刀高度(
G91 G28 Z0)刀在空中,偏 −70.6…−78.6/−706…−786 µm。 - 每一步的機械座標都與名目趟相同(ΔMC = 0):控制器在名目鏈上算機械座標,誤差只出現在刀尖。
- OP1 誤差項開的兩趟多一步與兩步,照檔與行配對(難題 8)。
平放的端面:每個面平移並傾斜¶
量法:誤差項開那一趟匯出的切削件,每個頂點都量出它到同一次裝夾名目切削件的帶號距離 d。正=留料(Diff 藍),負=過切(Diff 紅)。每個特徵盒是零件自己座標(匯出網格的座標)裡的一塊區域,z 沿板厚往上,y 沿板長。

OP1 從 −Y 端看,原地交替誤差項開(2 mrad,×10 顯示值)與關(對照)。端面整面過切,越往下越深(端條 −20 到 −28 µm);角塊(左)從頂端的綠到底部的紅。這是這一案開/關的比對畫面。Diff 色階 ±0.035 mm(紅=過切、藍=留料、綠=0,正負同權重);0.125 mm;HiNC 3.2.46 開發版(含誤差項)。

從 +Y 端看,正好反號:+Y 端面整面留料,越往下越多。色階、網格與版本同上。
朝 −Y(紅)與 +Y(藍)的面:每 0.5 mm 高一格的偏差中位數對零件 z,包括端條的端面(z 1.25–6.55)與角塊的端面(z 0.5–14.6),0.2 mrad 的值乘 10 畫上。每一格都落在預測線 ∓(15.9027 − z)·sin θ 上,對刀的毛胚頂面(z 15.9)處為 0。0.125 mm;HiNC 3.2.46 開發版(含誤差項)。
| 盒 | 位置(零件座標) | 0.2 mrad:中位數(預測) | 2 mrad:中位數(預測) | 比值 |
|---|---|---|---|---|
| F1 | −Y 端條端面,上帶 z 5.0–6.5 | −2.029(−2.03) | −20.313(−20.3) | 10.010 |
| F2 | −Y 端條端面,下帶 z 1.3–2.8 | −2.768(−2.77) | −27.687(−27.7) | 10.004 |
| F3 | +Y 端條端面,上帶 | +2.029(+2.03) | +20.298(+20.3) | 10.002 |
| F4 | +Y 端條端面,下帶 | +2.768(+2.77) | +27.674(+27.7) | 9.999 |
| F5 | −Y 角塊端面,上段 z 11.0–14.6 | −0.629(−0.62) | −6.310(−6.2) | 10.025 |
| F6 | −Y 角塊端面,下段 z 0.4–4.0 | −2.731(−2.74) | −27.311(−27.4) | 9.999 |
| F7 | +Y 角塊端面,上段 | +0.629(+0.62) | +6.298(+6.2) | 10.007 |
| F8 | +Y 角塊端面,下段 | +2.731(+2.74) | +27.298(+27.4) | 9.995 |
單位 µm;d > 0 留料、d < 0 過切。F6 減 F5 就是角塊端面本身的傾斜,每 mm 高 θ。
內面、地板與零盒¶

從 −Y 端略往下看,原地交替開(2 mrad,×10)與關。近端的 −Y 端面過切;遠端 +Y 端條朝這邊(朝 −Y)的內面也過切(F10);窗口地板的黃綠是傾斜的刀底留下的過切。Diff 色階 ±0.035 mm;0.125 mm;HiNC 3.2.46 開發版(含誤差項)。

從 +Y 端略往下看:+Y 端面留料,遠端 −Y 端條朝 +Y 的內面也留料(F9)。色階、網格與版本同上。

俯視:地板的過切來自傾斜的刀底,D16 粗加工留下約 −16 µm 的黃,D6 收尾的角塊頂 −5.9 µm;導軌條朝 ±X 的側面與頂面都是綠的。色階、網格與版本同上。
| 盒 | 位置 | 0.2 mrad | 2 mrad | 預測 |
|---|---|---|---|---|
| F9 | −Y 端條朝窗口的內面(y −42) | +2.394 | +23.924 | +2.40/+24.0 |
| F10 | +Y 端條的內面(y 42) | −2.394 | −23.937 | −2.40/−24.0 |
| F11 | 導軌條朝 −X 的外側面(零盒) | 0.000(p01/p99 ±0.027) | 0.000(±0.195) | 0 |
| F12 | 角塊頂(z 14.903,程式 Z −1.0) | −0.588(p01/p99 −0.599/−0.547) | −5.873(−5.985/−5.473) | −0.59/−5.9,範圍 −0.60…−0.54/−6.0…−5.4 |
| F13 | 導軌條頂(z 8.603) | −0.563(−0.598/−0.382) | −5.618(−5.968/−3.819) | 範圍 −0.6…0/−6…0 |
- 內面朝窗口,方向與端面相反:−Y 端條的內面留料、+Y 的過切,大小照各自的高度。
- 角塊頂最後只有 T2 D6 在程式 Z −1.0 走過(D16 只到 Z −0.85)。D6 的刀底在 −Y 側最低,R·sin θ = 3 mm·θ:0.588/5.873 µm,整片幾乎均勻。導軌條頂也由 D6 切出,但各處在刀下的位置不同,所以是一個範圍。
- 朝 ±X 的面不受這個誤差影響:零盒 F11 兩個值的中位數都是 0。
立起來鑽的孔:孔口不動、孔斜¶
孔壁展開(2 mrad,×10 顯示值):每個點是匯出切削件孔壁上的一個頂點,顏色是它到名目切削件的帶號距離,每 2.5 µm 一階、共 16 階。孔頂(0°,零件 +z)越深越紅(過切),孔底(±180°)越深越藍(留料);孔口附近幾乎是 0。0.125 mm;HiNC 3.2.46 開發版(含誤差項)。
孔軸的 z 偏移對從端面算起的深度:孔壁每 0.5 mm 一片擬合圓心,開減名目,0.2 mrad 的值乘 10 畫上。兩個孔都貼著 d·sin θ,外推到端面最多 0.13 µm。0.125 mm;HiNC 3.2.46 開發版(含誤差項)。
| 孔 | 值 | 斜率 | 對 sin θ | 外推到端面 | 最深一片(深度) |
|---|---|---|---|---|---|
| E2 的 M4(D3.3) | 0.2 mrad | 0.00019945 | 0.997 | −0.010 µm | 1.536 µm(7.75 mm) |
| E2 的 M4 | 2 mrad | 0.0019945 | 0.997 | −0.095 µm | 15.363 µm(7.75 mm) |
| E3 的 M3(D2.5) | 0.2 mrad | 0.00019995 | 1.000 | +0.013 µm | 1.962 µm(9.75 mm) |
| E3 的 M3 | 2 mrad | 0.0019998 | 1.000 | +0.126 µm | 19.624 µm(9.75 mm) |
M3 的孔壁從沉頭底(y 41.2、深 5.8 mm)下面開始,所以它在端面的值是外推的;M4 從端面開始。斜率 0.0019998 就是每 1 mm 深度偏 2.000 µm,也就是 2.0 mrad。
| 盒 | 位置 | 0.2 mrad:中位數(預測) | 2 mrad:中位數(預測) | 比值 |
|---|---|---|---|---|
| H1 | E2 的 M4,深段的孔頂 | −1.102(−1.06) | −10.996(−10.6) | 9.976 |
| H2 | E2 的 M4,深段的孔底 | +1.058(+1.06) | +10.630(+10.6) | 10.047 |
| H3 | E2 的 M4,孔口的孔頂(對刀面) | −0.174(−0.16) | −1.742(−1.6) | — |
| H4/H11 | M2 孔頂,深段(x 25.8) | −1.012(−0.98) | −10.053(−9.8) | 9.930 |
| H5/H10 | M2 孔頂,深段(x −17.2) | −0.771(−0.74) | −7.654(−7.4) | 9.925 |
| H7 | E3 的 M3,深段的孔頂 | −1.669(−1.63) | −16.976(−16.3) | 10.169 |
| H8 | E3 的 D4 沉頭,孔頂 | −0.674(−0.66) | −6.746(−6.6) | 10.007 |
| H9a | E3 的沉頭底,孔軸上側 | +0.279(+0.32),低於雜訊底 | +2.781(+3.2) | — |
| H9b | E3 的沉頭底,孔軸下側 | −0.320(−0.32) | −3.220(−3.2) | 10.049 |
| H6 | E2 的 D5.5 座底 | −0.042,p01/p99 −0.469/+0.431(範圍 ±0.55) | −0.496,−4.707/+4.292(±5.5) | — |
- 對刀面讀到零。 孔口那一盒 H3 在 2 mrad 只有深段 H1 的 0.158 倍,端面本身是綠的。
- 地板跟著刀底斜。 沉頭底在孔軸上側留料、下側過切(H9a、H9b)。D5.5 座底由 D4 繞座軸銑一圈、再由鉸刀切出,兩把刀的刀底都斜:p01、p99 在 ±0.55/±5.5 µm 內。
- 兩端互為鏡像。 E3 的兩個 M2 孔(H10、H11)與 E2 的(H5、H4)讀到同一組數:兩端的孔對板的中面成鏡像,0.125 mm 的格子也是。
- M4 上方的薄壁。 從孔到端條頂(z 6.803)的壁,孔口處 0.850 mm,依推導在出口處剩 0.8484/0.834 mm;這道壁沒有逐點量。

E2:板立在虎鉗裡,從上方看 −Y 端面的孔組(左是 D5.5 H7 座,右是 M4 孔口),原地交替開(2 mrad,×10)與關。端面是綠的:對刀面不動。座底上半藍、下半紅。孔壁從上方看不到,要看上面兩張圖。Diff 色階 ±0.005 mm;0.125 mm;HiNC 3.2.46 開發版(含誤差項)。

E3:從上方看 +Y 端面(左是 M2 孔,右是 D4 沉頭與其中的 M3 孔),原地交替開(2 mrad,×10)與關。端面維持綠色;沉頭底的環上藍下紅(H9a +2.8、H9b −3.2 µm)。色階、網格與版本同上。

E3 誤差項開(2 mrad,×10)那一趟記下的毛胚放回畫布,再播姿勢程式 pose-e3-t14.nc:T14 D2.5 鑽頭沿 M3 孔軸下到程式 Z −6,SF4 熱縮刀把的鼻端在端面上方,沒有再切到料。Diff 色階 ±0.005 mm;0.125 mm;HiNC 3.2.46 開發版(含誤差項)。
真實值與顯示值:一樣的圖,十分之一的色階¶

OP1 從 −Y 端看,原地交替真實值 0.2 mrad(色階 ±0.0035 mm)與顯示值 2 mrad(±0.035 mm):兩張一樣。E2、E3 的同一組(±0.0005/±0.005 mm)也一樣。0.125 mm;HiNC 3.2.46 開發版(含誤差項)。
每個特徵盒的量測中位數對預測(實心:2 mrad;空心:0.2 mrad 的值乘 10),灰帶 ±20 %。匯出切削件到名目切削件的帶號距離;0.125 mm;HiNC 3.2.46 開發版(含誤差項)。
兩個值都量得到的 20 個盒,2 mrad 是 0.2 mrad 的 9.925–10.169 倍。只有 H9a 在 0.2 mrad 讀 0.28 µm,低於三倍雜訊底(0.3 µm),照計畫寫:低於雜訊底,以 2 mrad 的 2.781 µm 除以 10 報。
對照與不標記¶
- 對照趟(誤差項關、再做一次 Diff):E2、E3、OP1 三組的刀尖與機械座標每一步都與名目趟相同,切出的工件只差約 10⁻¹⁰ mm,所以每個盒的雜訊底都取計畫的下限 0.1 µm。畫布上全綠(每張比對畫面的第二格)。
- 不標記趟(只有 E2 的 2 mrad 修剪組):控制器知道這個誤差,每一步的刀尖與機械座標都與誤差項開那一趟相同,切出的工件也相同。一般三軸程式(
G54、G43、G81、G83)的機械座標只由程式與偏移決定,所以標不標記,誤差都切進零件(標記會改變什麼)。真的三軸控制器要拿掉這種誤差,得靠它自己的垂直度補償,這一案的 HiNC 沒有仿真那個補償。
執行成本¶
全部在共用 32 執行緒伺服器上的私有實例跑,HiNC 3.2.46 開發版(含誤差項),物理關、碰撞偵測開。每一趟前都重啟實例、從檔案載入專案,所以每個 VmHWM 都是那一趟自己的峰值。
| 播放 | 步數 | 牆鐘 | 記憶體峰值(VmHWM) |
|---|---|---|---|
| T1:E2 在 2 mrad,名目/開/不標記/對照 | 4,535 | 5/20/25/20 s | 1.27/2.12/2.30/2.33 GB |
| T2:OP1 第一段在 0.25 mm,名目/開 | 66,199 | 130.1/145.1 s | 1.32/1.81 GB |
| E2 名目/對照/開/開 ×10 | 4,535 | 5/20/20/20 s | 1.23/2.08/2.21/2.23 GB |
| E3 名目/對照/開/開 ×10 | 5,251 | 10/25/30/25 s | 1.26/2.10/2.26/2.25 GB |
| OP1 名目 | 313,787 | 665.7 s | 4.13 GB |
| OP1 對照 | 313,787 | 685.8 s | 5.36 GB |
| OP1 開,0.2 mrad | 313,789 | 740.8 s | 5.75 GB |
| OP1 開,2 mrad | 313,788 | 695.7 s | 5.68 GB |
- 牆鐘從播放開始算到讀到
Finished的那次輪詢,所以包含播放後的匯出、Diff 與毛胚紀錄;狀態每 5 s 輪詢一次,所以立板各趟的時間只準到 5 s。 - 總計,報告用的 18 趟花了 3,288.2 s 的伺服器時間,其中 OP1 四趟 2,788.0 s。從 E1 的紀錄開始的立板第一輪、從 E1 的紀錄開始的 T1,以及從 OP2 的紀錄開始的試播,每趟都不到一分鐘,只留作難題 1 的證據。
- 記憶體。 OP1 有 Diff 的各趟,峰值比名目趟高 1.2–1.6 GB;名目趟匯出切削件,但不做 Diff、不記毛胚。
- 畫面不重播。 記下的毛胚連同 Diff 放回畫布;兩張刀把圖再在上面播姿勢程式。
它說明了什麼¶
給加工工程師。
- Z 軸對台面不垂直 0.2 mrad,也就是一台輕型銑床的出廠驗收上限,在同一片板的不同裝夾上做的事不一樣。平放銑時,朝 ±Y 的每一個面都平移並傾斜:−Y 端條的端面過切 2.0–2.8 µm、+Y 的留下同樣多的料,端條內面正好反過來,地板跟著刀底斜。立起來鑽時,孔每 1 mm 深度往零件 +z 斜 0.2 µm,孔口留在原地。
- 對刀點就是零點。在要鑽的那個面上對刀的裝夾,那個面與它的孔口都不動;偏差隨對刀點以下的距離變大,OP1 是 15.9 mm 的板,E2、E3 是 8–10 mm 的孔。
- 形狀會說出原因:朝 ±Y 的面一起傾斜同一個角度、朝 ±X 的面不動、孔從不動的孔口以固定斜率斜下去。
- 對這片板的意義,是推論而不是仿真:側板若坐在斜的端面上,整片板傾斜 θ,94 mm 遠的另一端偏 94 × 0.2 mrad = 18.8 µm,是 1U 圖 100.0 ± 0.1 mm 半帶的 19 %(CubeSat Design Specification Rev. 14.1,圖 CDS-14-001)。單看這一項,誤差可以到 1.06 mrad,是這台機出廠驗收上限的 5.3 倍。對 ISO 2768-f 短邊 10–50 mm 的角度公差 ±30′,0.2 mrad 只有 0.69′。它也比基案量到的精修撓曲小一個數量級(長 D6 最多 23.1 µm、D2 最多 48.5 µm):對這片板,該先花力氣的是小刀的撓曲,不是機台的垂直度。
- 在 HiNC 裡,量到的機台常數誤差可以放進那台機的模型,零件還沒切,就看得到它在你的零件上長什麼樣、有多大。
給老師與學生。
- Z 軸上游的一個小角度,怎麼變成刀尖偏移 δ = (0, −Z·sin θ, −Z·(1 − cos θ)),以及為什麼它只看深度,與 X、Y、刀號無關。
- 為什麼同一個誤差讓銑出的面整面傾斜,卻讓孔口留在原地:要看對刀在哪裡,以及面或孔相對 Z 行程是什麼方向。
- 為什麼平底刀的地板斜 R·sin θ,以及為什麼一把刀在一個高度切出的角塊頂,讀到幾乎均勻的 −0.59 µm。
- 預先登錄預測:標準在第一次播放前寫下;被迫改變時,在重跑之前寫一節註明日期的附錄。
- 0.125 mm 的網格怎麼讀出零點幾 µm 的偏移,以及哪裡要小心:匯出網格的開放處,以及跨出孔出口的切片。
給評估這種做法值不值得的人。
- 成本。 18 趟花了 3,288.2 s 的伺服器時間,每趟記憶體最多 5.75 GB;OP1 四趟 2,788.0 s。
- 預測,在第一次播放前寫下:逐步刀尖對公式差 2.54×10⁻¹³ mm 以內;端面的盒在 2 mrad 與預測差 0.11 µm 以內,內面差 0.08 µm 以內;孔軸斜率對 sin θ 差 0.3 % 以內。
- 失準與缺口,照量到的寫:角塊頂起初用錯刀預測、沉頭底的盒起初框進孔壁(都在計畫前被審查抓到);立板第一輪繼承了一份破掉的毛胚紀錄,改從另一份重播;立板裝夾的平底地板匯出時仍有開放邊;沉頭底上側在真實值低於雜訊底。
誠實的限制¶
- 只放了一個誤差,而且是常數。 真實的機台還有 Z 對 X 的垂直度、各行程的真直度、定位誤差與熱伸長。誤差項只能表達常數誤差;隨位置變化的誤差、背隙、伺服不匹配與熱變形都放不進來(機台幾何誤差)。
- 大小是公開的上限,不是量測。 0.2 mrad 是一台輕型銑床檢驗表上的出廠驗收上限,不是任何一台機量到的垂直度,也不是量產立式加工中心的典型值;ISO 10791-2 的允差沒有看到原文,所以不引用。方向相反時,這一頁所有的正負號都反過來。
- 立板的零件少了 E1 的側孔。 E2 改從 OP2 的紀錄開始(難題 1);HiNC 在繞對角線轉 120° 擺放的裝夾上的缺陷還沒修。
- 只看幾何。 物理關:沒有力、撓曲或溫度。上面的誤差預算,是拿基案驗收時量到的撓曲來比。
- 匯出網格的開放處。 立板裝夾的平底地板與 OP1 的毛胚底面匯出時是開的;盒子避開它們,HiNC 自己的 Diff 在那裡有少數量不到的點(難題 3)。
- 對刀靠樞軸的位置表達。 真機在 Y 方向對刀,可能在端面下幾 mm 探板的側面,會多出一個常數 e·θ(e 是探針深度,0.2 mrad 時每 mm 0.2 µm);模型把零點放在程式零點。
- 誤差預算是推論。 沒有仿真組裝,「側板坐在斜的端面上」是假設,CubeSat 規範也沒有給導軌垂直度或平行度的 GD&T。
讀者可以帶到自己案例的¶
- 把誤差放在一條自己的連接上,緊接在它所屬那一軸的上游。 那一軸自己的運動、值與角色都照舊,建置後再把鏈讀回來核對(誤差項放在哪裡 (Where an Error Term Goes),英文,未鏡像)。
- 靜態誤差的樞軸放在對刀時刀尖所在的位置,每個對刀高度一個。 這樣對刀點的偏差就是 0,名目的工作偏移就是真機對刀會找到的值。兩個對刀高度要兩份機台檔,不然就手動打入工作偏移(有誤差項的機台上的工作偏移)。
- 先看裝夾,再看誤差。 同一個垂直度,讓側刃切出的面傾斜、讓刀底切出的地板傾斜,讓沿行程鑽的孔傾斜而孔口留在對刀面上。
- 第一次播放前先寫下預測,任何改變都註明日期。 第一輪之後被迫的改變,在重跑之前寫成註明日期的一節,不改原文。
- 先核刀尖,對著公式核。 這裡的逐步刀尖在讀任何網格之前,就把模型核到 10⁻¹³ mm。
- 以同一次裝夾的名目切削件當理想幾何。 這樣 Diff 才只顯示誤差,不含刀路本身的痕跡。
- 裝夾之間用毛胚接力時,核每一趟讀的是什麼。 少了一份毛胚紀錄,播放只記一則訊息就從毛胚盒開始;播放前記下每一份紀錄的大小與時間。
- 懷疑預測之前,先數盒裡的頂點,也數匯出網格的開放邊:破掉的毛胚紀錄會先在那裡露出來。
- 孔軸只用整片的切片擬合:跨出出口的切片會把直線拉歪。
- 真實值只有零點幾 µm 時,旁邊放一組顯示值,兩組都寫進數字裡,並核它們的比值等於誤差的比值。
- 一般三軸程式上,標記不改變切削結果:鏈上的每一個誤差都會切進零件。清掉標記的那一趟,只有在 RTCP、傾斜工作平面或 CL 播放下才會不同(標記會改變什麼)。
來源與授權¶
這片板經由 STS1 案例,出自 TU Wien Space Team 公開的機構設計:
- 來源: Tim Munhowen(TU Wien Space Team,維也納),SpaceTeamSat1 Mechanical Design,Zenodo,版本 1.0,2025-05-21 發佈,doi:10.5281/zenodo.15482346。連結失效時的搜尋詞:
SpaceTeamSat1 Mechanical Design、zenodo 15482346、CS_Yminus.STEP。 - 授權: CC BY 4.0,照 Zenodo 紀錄的標示。授權依現狀提供這些資料,不附任何保證。
- 姓名標示,照基案的寫法:"SpaceTeamSat1 mechanical design by Tim Munhowen, TU Wien Space Team (Zenodo, doi:10.5281/zenodo.15482346), CC BY 4.0. Machining set-up by Tech Coordinate's agent."
- 基案改了什麼: 零件幾何照原樣使用;毛胚、工序與裝夾、夾治具、刀與刀把、程式與機台都是代理的。
誤差的大小出自廠商公開的文件:Tormach 1100M 出廠檢驗表 TD10547(版次 1023A)的 G5a、G6a 兩項,https://tormach.com/media/asset/t/d/td10547_1100m_cert_inspect_1023a.pdf。連結失效時的搜尋詞:Tormach 1100M certificate of inspection、TD10547。這個值是那張表上的上限,不是任何一台機的量測;這一頁沒有量任何機台。
誤差預算用的公差:CubeSat Design Specification Rev. 14.1(Cal Poly SLO,2022 年 2 月)附錄 B 的 1U 圖 CDS-14-001,https://www.nasa.gov/wp-content/uploads/2018/01/cubesatdesignspecificationrev14_12022-02-09.pdf;以及基案圖面的一般公差 ISO 2768-f。
這一頁另外加的。 機台上一條標記的誤差項連接 YZsq。它的種類、方向、樞軸與兩個值都是代理選的。板的設計沒有改。畫面都是 HiNC 的擷取,圖表畫的是 HiNC 的逐步結果與切削網格。一切都是仿真,沒有實際切削。作者與 TU Wien Space Team 沒有參與這一案,也沒有為它背書,Tormach 也一樣。本站不提供下載;請從 Zenodo 紀錄取得設計檔。
另見¶
- SpaceTeamSat1 立方衛星結構——基案:六片板、24 次裝夾、代理自寫的 CAM 與驗收,以及繞對角線轉 120° 擺放的立板裝夾
- 建立虛擬工具機:誤差項——誤差項可以放在哪裡、標記會改變什麼、啟用誤差項開關,以及有誤差項的機台上的工作偏移
- 運動拓樸:誤差項連接 (Error-Term Branches)(英文,未鏡像)——控制器求解的名目鏈,以及它看得到哪些誤差
- 模型之外的加工問題:機台幾何誤差——模型放不進的機台誤差
- 工作流程:幾何驗證——幾何差異比對、偵測半徑與色階
- 程式原點對齊——P0,以及手動打入量到的工作偏移
- 深槽插銑對分層,Z 軸差 0.003°——同一種誤差放在同一台骨架機上,讓 74 mm 深槽的兩壁一起傾斜
- RPTU 基準件 8 的三個垂直度——三個量到的垂直度(其中一個是 Z 對 Y),在 ISO 10791-7 式試件上讀出來
- 實作案例——其他案例,以及案例頁怎麼讀