NIST 圓錐台:C 軸中心偏 10 µm,沒校正的控制器讓圓錐面大半圈過切、最深 18 µm,真圓度卻只差 3 µm,校正過的切回名目¶
NIST 圓錐台是 AI 代理 (agent) 依一篇 NIST 論文的圖面畫出、自己寫程式的兩個五軸試件之一。零件傾斜 10° 放在通用 B/C 雙轉台機的旋轉台上,所以圓錐側面要在五軸同時移動下,用 Ø12.7 mm 端銑刀的側刃精修。HiNC 從代理的刀位寫出 Fanuc G43.4(RTCP)程式,案例已經驗收過。
論文作者也把在這個圓錐台試件上量到的誤差,追到切它的那台機台:機台的 C′ 軸在 X 向約偏 10 µm(Moylan 等人,ASPE 2011,p. 523)。這一頁,代理把同一個誤差放進案例的機台。C 軸實際的旋轉中心,比控制器運動學模型所定的位置偏 +X 10 µm;ISO 230-7 把這個誤差稱為 EX0C。它做成機台鏈上的一條連接,標記為誤差項。程式一行都沒改,圓錐台以 0.25 mm 的網格切了四次:
- 誤差項關:切出名目件。其他各趟的幾何差異比對,都以它為基準。
- 誤差項再關一次,並做幾何差異比對:這是對照趟,用來量雜訊底。
- 誤差項開、有標記:控制器不知道這個誤差,相當於運動學沒有校正。
- 誤差項開、清掉標記:控制器知道這個誤差,相當於運動學校正過。
誤差開的兩趟都打入 G54 X 50.010,也就是真機在 B = C = 0 對刀(碰數)會量到的工作偏移。
控制器不知道誤差時,35,513 個切削步的刀尖全部落在計畫預測的位置上,相差不到 1.14×10⁻¹³ mm。預測是 δ = (d(1 − cos C), −d·sin C, 0),其中 d = 10 µm:C ≡ 0 時沒有偏移,C ≡ 180° 時偏 20 µm;它與 B、X、Y、Z 都無關,也與零件離 C 軸多遠無關。零件上的結果(θ 是繞零件軸線量的方位角,零件的 +X 側為 0):
- 圓錐側面從 θ ≈ ±44° 一路到 −X 側都過切,θ = 180° 處最深,−18.13 µm。
- C = 0 時切到的 +X 側沒有偏;它兩旁 ±25.5° 處,最多留下 +1.0 µm 的料。
- 頂面、台座與圓錐底下的環面,在離圓錐邊 0.1 mm 以外都沒有變(±0.002 µm)。
- 在中高度量一圈,最小平方圓的直徑小了 16.25 µm、圓心往 +x 移了 10.26 µm,真圓度卻只有 2.98 µm,是最大半徑偏差 18.77 µm 的 16 %。
控制器知道誤差時,從第 86 步起,刀尖都留在程式上,相差不超過 1.28×10⁻¹³ mm,切出的就是名目件。B、C 與名目趟、有標記那一趟逐位相同;X、Y、Z 與對刀相同而沒校正的控制器所在的位置最多差 20 µm。這裡的一切都是仿真,沒有切過任何零件。

誤差項開、有標記,整支程式播完,刀具退到最後的退刀點(等角視)。畫面裡有 T1 Ø12.7 mm 端銑刀與熱縮刀把(鼻端 Ø27 mm、伸出 40 mm)。零件上疊了幾何差異的顏色,色階 ±0.02 mm:紅=過切、藍=留料、綠=0,正負同權重。紅色是 C ≡ 180° 時切到的 −X 側,綠色是 C = 0 時切到的 +X 側。HiNC 3.2.46 開發版(含誤差項),0.25 mm 網格。
| 整支程式,0.25 mm,HiNC 3.2.46 開發版(含誤差項) | 第一次播放前的預測 | 有標記:控制器不知道誤差 | 清掉標記:控制器知道誤差 |
|---|---|---|---|
| 刀尖離程式多遠 | δ(C):C ≡ 0 時為 0,C ≡ 180° 時 20 µm | 35,513 個切削步全部落在 δ 上,相差 ≤ 1.14×10⁻¹³ mm;最大 20.000 µm,在精修圈 | 從第 86 步起 ≤ 1.28×10⁻¹³ mm |
| 圓錐側面,−X 側(θ = 180°)的中位偏差 | −18.126 µm | −18.126 µm | 在 0.0005 µm 以內,整個切削件都是 |
| 圓錐側面,留料最多處(θ = ±25.5°) | +0.995 µm | +0.997 µm | 在 0.0005 µm 以內 |
| 圓錐側面,變號的位置 | 約 ±44° | ±43.73°:圓周約 272.5° 過切 | — |
| 頂面、圓錐底下的環面與台座 | 0 | 離圓錐邊 0.1 mm 以外都在 ±0.002 µm 內 | 在 0.0005 µm 以內,兩個假象頂點除外(難題 7) |
| 中高度的圓:直徑變化、圓心往 +x 的平移、真圓度 | −16.3 µm、10.3 µm、3.0 µm | −16.25 µm、10.26 µm、2.98 µm | 沒有擬合;切削件與名目相差在 0.0005 µm 以內 |
| 機械座標與名目趟相比 | 清掉標記時 B、C 不變,X、Y、Z 與名目位置最多差 20 µm | 從第 86 步起,每一步正好 10.000 µm:打入的 G54 X 50.010 經 RTCP 轉過的量 | 從第 86 步起,每一步正好 10.000 µm:C 軸真正的位置;與有標記那一趟相比最多 20 µm(難題 5) |
| 這一趟的伺服器時間與記憶體峰值 | 約 5 分鐘、不到 9 GB(計畫的估計) | 195.2 秒、5.61 GiB | 195.2 秒、5.31 GiB |
案例¶
圓錐台本身的案例頁講代理怎麼照論文的圖面畫出圓錐台、自己寫五軸側銑的刀位,再讓 HiNC 在通用 B/C 雙轉台機 GenericBC 上解出各軸、寫出 G43.4 程式並重播驗收。那一案用的是照設計做的機台。這一頁在同一台機台上加一個實際量到的幾何誤差,回答兩個問題:
- 這個誤差在零件上長什麼樣子、有多大?
- 控制器知不知道這個誤差,也就是運動學有沒有校正,切出來差在哪裡?
代理拿到的是:
-
驗收過的專案與程式。
- 案例的專案:圓錐台 Ø200 mm、半錐角 15°、高 25.4 mm,坐在 Ø180 × 12.7 mm 的台座上,繞 Y 軸傾斜 10°。程式原點在零件軸線與底面的交點,離 C 軸 +X 50 mm。
NC/frustum-10deg.cls.nc:HiNC 由刀位寫出的程式,共 5,333 行、7 道,每道 760 個移動單節,用G43.4 H1。B 在 −25° 到 −5° 之間。每道繞圓錐一圈再多 3°;加上進刀與退刀,C 每道約轉 388°。整支程式裡,C 從 9.5496° 一路轉到 −2,538.1627°,約七圈。
-
論文點名的誤差:「previous measurements on this machine indicate a location error of the C′-axis in the machine's X-direction of approximately 10 µm」(p. 523)。
- HiNC 的誤差項。 機台鏈上的軸或主軸可以帶一個誤差項,也就是緊接在那根軸的連接之前、一條自己的靜態連接。控制器
XyzabcSolver負責把 NC 與刀位轉成機械座標,含 RTCP;它一律在名目鏈上求解,名目鏈就是把每一條標記的連接都拿掉的同一條鏈。專案的啟用誤差項開關開著時,仿真的機台在運動、切削與檢查碰撞時,都保留這條連接。所以誤差會切進零件,就像一台控制器不知道自身誤差的真實機台(誤差項連接 (Error-Term Branches),英文,未鏡像)。 - 對刀與 P0。 C 軸上游只放一條平移時,即使 C = 0,工作台也會移動一個誤差量。真機對刀量到的 G54 已經含有這段偏移;HiNC 的 P0 在名目鏈上量,所以不含。要重現真機的結果,手冊建議手動打入對刀會量到的工作偏移(有誤差項的機台上的工作偏移)。
- 要求。 HiNC 的產品擁有者要以驗收過的案例為基礎,做 HiNC 誤差項的實作案例,產品案與論文案都可以;吃重的執行放到一台共用的伺服器上跑。
沒有任何資料寫明的:
- 誤差的正負號。 論文沒有給。代理取 +X,結果是過切;如果取 −X,同樣的形狀會變成同樣大小的留料。
- 對刀會量到的 G54。 手冊只說要手動打入。取 +X 時,C = 0 的工作台往 +X 多移 10 µm,所以在 B = C = 0 對刀會量到 G54 = (50.010, 0, −55.7418)。這個值是代理從機台鏈推出來的。
- 0.25 mm 的網格讀不讀得到這個誤差。 10 µm 只有格寬的 4 %,連最深的 18 µm 也只有 7 %。
- 論文用的是另一台機台。 論文的機台是 B′ 軸與 Y 軸夾 45° 的非正交機,本案是正交的 B/C 機。所以論文的數字只能和本頁比形狀,不能比大小。
代理建了什麼¶
每個值都標明是讀取(來自論文或原案例)、推得(由讀到的值算出)或自選(代理自己的決定)。
| 項目 | 值 | 來源 |
|---|---|---|
| 誤差是什麼 | C 軸實際的旋轉中心比設計位置偏 +X;設計位置就是控制器運動學模型所用的位置。在 ISO 230-7 裡,這是 EX0C,也就是 C 軸在 X 向的位置誤差 | 讀取:論文 p. 523(X 向的位置誤差);推得:ISO 230-7 代號 EX0C;自選:+X |
| 大小 | 0.010 mm,以 B 錨點的座標表示;B = 0 時就是機台的 X 方向 | 讀取:論文的「約 10 µm」;自選:正負號 |
| 放在哪 | C 軸連接的正上游。新錨點 Cerr 把 B→C 這一段一分為二。前一段 B→Cerr 命名為 EX0C,帶 Static Translation (0.010, 0, 0),標為誤差項。C 軸的 Dynamic Rotation(旋轉軸向 (0, 0, −1)、樞軸點 (0, 0, 0))整個搬到 Cerr→C,C 軸重新繫結到它,值不變 |
自選,依產品擁有者 2026-10-06 的裁定:誤差只放在角色連接(軸或主軸)的上游(難題 1) |
| 機台鏈 | [O][base][frame][B][Cerr][C][w];[base][X][Y][Z][S][t] |
建置後讀取回來 |
| 工作偏移 | 誤差開的兩趟用 G54 = (50.010, 0, −55.7418),也就是在 B = C = 0 對刀會量到的值;名目與對照兩趟用案例原本的 (50, 0, −55.7418) | 推得,照手冊的建議 |
為什麼選這個誤差:它是論文替切出這個圓錐台的機台點名的誤差,大小也是那台機量到的。程式用 G43.4,而只有在 RTCP 或傾斜工作平面下,有標記的誤差(沒校正的控制器)和不標記的誤差(校正過的控制器)才會切得不一樣(標記會改變什麼),所以同一個案例兩種都看得到。

設備頁拓樸欄的機台叢集(GeneralMechanism)。B 與 C 之間多了錨點 Cerr。EX0C 是從 B 到 Cerr 的 Static Translation,畫成粗線,帶橘色「誤差項」徽章。C 軸的 Dynamic Rotation 搬到 Cerr → C,仍繫結在 C 軸。HiNC 3.2.46 開發版(含誤差項),繁體中文介面。
刀尖會偏多少:計畫裡寫下的預測。 控制器以為零件繞 C 軸設計的中心轉,實際上它繞著偏了 d = 10 µm 的中心轉。C = 0 時,工作台多移的那段 d 已經含在對刀量到的 G54 裡,所以刀尖剛好落在程式上。C 轉到別的角度時,零件比控制器以為的多移了一段;換算到程式座標,刀尖偏了
δ = (I − RZ(C))·d = (d(1 − cos C), −d·sin C, 0)。
C ≡ 0 時它是 0,C ≡ 180° 時是 2d = 20 µm。δ 只看 C:與 B 無關,與 X、Y、Z 無關,也與零件離 C 軸的 50 mm 無關。零件表面偏多少,看 δ 在表面法向上的分量 n(θ)·δ,θ 是繞零件軸線量的方位角:
- θ = 0 在零件的 +X 側,在 C = 0 時切到,所以不動。
- θ = 180° 在 −X 側,在 C ≡ 180°、B = −25° 時切到。那裡的表面法向與水平夾 25°(半錐角 15° 加上傾斜 10°),所以最深是 2d·cos 25° = 18.1 µm。
- 兩者之間,計畫寫的是:±25.5° 留料 +1.0 µm,是最多的地方;約 ±44° 變號;±90° 是 −7.4 µm。
- 中高度:最小平方圓的直徑小 16.3 µm、圓心往 +x 移 10.3 µm,真圓度只有 3.0 µm;所以只量真圓度,只看得到最大誤差的約六分之一。
- 頂面、圓錐底下的環面與台座:0。
- 清掉標記時,計畫寫的是:機台的 B、C 與名目趟相同,X、Y、Z 與名目位置最多差 20 µm,刀尖回到程式上。機械座標實際怎麼走,見結果與難題 5。
各趟:
| 趟 | 網格 | 誤差項開關 | EX0C | G54 | 用途 |
|---|---|---|---|---|---|
| 名目,修剪 | 1 mm | 關 | 有標記(未生效) | (50, 0, −55.7418) | 修剪:名目 |
| 有標記,修剪 | 1 mm | 開 | 有標記 | (50.010, 0, −55.7418) | 修剪:控制器不知道誤差,做幾何差異比對 |
| 不標記,修剪 | 1 mm | 開 | 清掉標記 | (50.010, 0, −55.7418) | 修剪:控制器知道誤差,做幾何差異比對 |
| 名目 | 0.25 mm | 關 | 有標記(未生效) | (50, 0, −55.7418) | 匯出切削件,當作理想幾何 |
| 對照 | 0.25 mm | 關 | 有標記(未生效) | (50, 0, −55.7418) | 做幾何差異比對,量雜訊底 |
| 有標記 | 0.25 mm | 開 | 有標記 | (50.010, 0, −55.7418) | 做幾何差異比對;匯出切削件 |
| 不標記 | 0.25 mm | 開 | 清掉標記 | (50.010, 0, −55.7418) | 做幾何差異比對;匯出切削件 |
| 有標記,重播 | 0.25 mm | 開 | 有標記 | (50.010, 0, −55.7418) | 再播一次並做幾何差異比對,拍刀具與刀把 |
各趟共同的設定:
- 物理關。 這一案只看幾何,切削力與撓曲不在範圍內。
- 碰撞偵測開,失敗時不暫停。
- 只有這支程式。 啟用 NC 條目
NC/frustum-10deg.cls.nc,刀位檔條目關著。 - 幾何差異比對(工作流程:幾何驗證):偵測半徑 1 mm,色階(
DiffVisualRadius)±0.02 mm。 - 案例自己的毛胚紀錄停用。 原案例的記錄網格幾何命令(「首次讀取,否則寫入」,檔案
Cache/frustum-10deg-stock.wct)在誤差項專案裡停用(難題 2)。 - 記下的毛胚。 全量的對照、有標記與不標記三趟,各自把最後的毛胚記到自己的檔案;拍圖時把它放回畫布。
代理怎麼管理這件工作¶
- 先寫標準與預測。 計畫、預測與八條標準在第一次播放前提交。
- 先跑修剪趟。 整支程式以 1 mm 播三趟:名目、有標記、不標記。這三趟確認建置正確、逐步公式成立、對刀的 G54 推得對,以及清掉標記時刀尖回到程式上。確認之後才跑 0.25 mm。
- 全量四趟,一次一趟。 每趟開始前都重啟 HiNC 實例、從檔案重新載入專案。本案的播放一次一趟;但對照、有標記、不標記三趟與拍刀把那一趟播放時,同一台伺服器的另一個實例正在播另一個案例,所以這幾趟的牆鐘時間含那份負載(見〈執行成本〉)。
- 以名目切削件為理想幾何。 名目趟匯出切出的工件,約 251 萬個三角形,設成理想幾何。這樣幾何差異只顯示誤差改變了什麼,不含刀路本身留下的痕跡。
- 每個數字都從紀錄算。 代理的分析腳本從執行紀錄(加上原案例的程式與裝夾數字)算出本頁的每一個數字,每個數字都附出處,可以重跑。它要讀的逐步序列與頂點距離,重播對應的那一趟、再量一次網格就能重產。
- 畫面兩種介面語言各拍一套。 比對畫面是把各趟記下的毛胚連同幾何差異放回畫布拍的,不必為了它們重播;刀具與刀把的畫面,來自有標記那一趟再播一次(難題 6)。
- 人在哪裡介入。 HiNC 的產品擁有者要以驗收過的案例為基礎做誤差項的實作案例;同一天看過介面後又裁定,誤差項只放在角色連接(軸或主軸)的上游。這個裁定讓設計從一對平移改成一條平移加打入的工作偏移(難題 1)。誤差、預測與標準都是代理自己定的。
第一次播放前提交的標準:
| # | 標準 |
|---|---|
| 1 | 建置:誤差項專案存檔重開沒有載入訊息;機台鏈是 [O][base][frame][B][Cerr][C][w];[base][X][Y][Z][S][t];EX0C 是標記的 Static Translation (0.010, 0, 0);C 軸繫結在 Cerr→C、值與原本相同;角色檢查為空;案例在誤差項資料夾以外的檔案沒有變 |
| 2 | 每一趟 Finished、步數大於 0、接觸(IsTouched)峰值 1、5,333 行全部執行;訊息只有預期的(Sys-Init--FileLines,做幾何差異比對時加 Diff--TargetNotClosed);沒有碰撞、快移切料或行程警報 |
| 3 | 名目、對照、不標記三趟步數相同;有標記與名目的步數相差 1 % 以內 |
| 4 | 有標記:每一步的刀尖減名目刀尖再減 δ ≤ 1×10⁻⁹ mm;C ≡ 0 的步,刀尖與名目相差 ≤ 1×10⁻⁹ mm(對刀的 G54 推對了);精修圈的最大偏移 = 2d ± 0.1 % |
| 5 | 不標記:每一步的刀尖與名目相差 ≤ 1×10⁻⁶ mm;機台 B、C 與名目相差 ≤ 1×10⁻⁹° |
| 6 | 對照:幾何差異與網格距離全部在雜訊內(偏差 ≤ 1 µm 的面積至少 99 %) |
| 7 | 有標記的幾何差異:零件 −X 側一彎過切的新月,以網格距離量最深 −18 µm ± 3 µm;+X 側(θ ≈ 0)≤ 2 µm;頂面、台座與底環 ≤ 2 µm |
| 8 | 成本:每一趟記下牆鐘時間與記憶體峰值(VmHWM);0.25 mm 單趟超過 15 分鐘或 12 GB 就停下來回報 |
難題¶
每一個都依序寫出情況、若沒發現會有的風險、怎麼發現、怎麼解決,以及證明解法成立的證據。
1. 一對平移,還是一條平移加對刀的工作偏移¶
- 情況。 設計代理(草擬這項研究的代理)原本提議在 C 的前後各放一條平移:前面 +d、後面 −d。在對刀姿態 B = C = 0 時兩者抵銷,G54 與 P0 都不用動,四趟之間只差開關與標記。
- 風險。 產品擁有者同一天看過介面後裁定:誤差項只放在角色連接(軸或主軸)的上游。C 後面那一條不在角色連接的上游,在新規則下角色檢查會對它發出警告。假如改成一條平移,卻照打案例原本的 G54,C = 0 時切到的那一側也會偏 10 µm,仿真出來的零件就不像對過刀的真機切出來的。
- 怎麼發現。 設計時裁定已經有了,但裁定要做的介面與 REST 改動還沒上線,給設計代理的簡報也還允許成對,所以設計仍提成對做法,並在疑點寫明:「如果那一步先上線,就改用單段做法。」寫計畫時照裁定改成單段。
- 解決。 只在 C 前面放 EX0C。誤差開的兩趟打入在 B = C = 0 對刀會量到的 G54 = (50.010, 0, −55.7418);名目與對照兩趟維持 (50, 0, −55.7418)。設計推導過,這樣得到的 δ 與成對平移完全相同。
- 證據。 1 mm 修剪趟裡,每個切削步的刀尖偏移都對上公式,相差 ≤ 1.14×10⁻¹³ mm;C ≡ 0 的程式步與名目相差 ≤ 5.1×10⁻¹⁴ mm,表示對刀的 G54 推得對。
2. 案例自己的毛胚紀錄會把兩種網格的毛胚混在一起¶
- 情況。 案例的任務清單裡有一條記錄網格幾何命令,設成「首次讀取,否則寫入」,檔案是
Cache/frustum-10deg-stock.wct:檔案存在、而且還沒執行任何內容時就讀進來,否則把目前的毛胚寫出去。 - 風險。 先跑的 1 mm 修剪趟會寫出 1 mm 的毛胚,之後 0.25 mm 的全量趟會把它讀進來,從錯的網格開始切。原案例遇過同一個機制,只是方向相反:1 mm 的播放讀到了 0.25 mm 的毛胚(它的案例頁,難題〈重建之後,粗解析度的數字變了〉)。
- 怎麼發現。 寫計畫時對照了原案例的難題。
- 解決。 在誤差項專案裡停用這條命令,計畫裡有寫明。全量的對照、有標記與不標記三趟,各自把最後的毛胚記到自己的檔案,只在拍圖時用來放回畫布。
- 證據。 建置紀錄列出的這條命令是停用的。八次留下紀錄的播放沒有共用快取檔;被丟棄的第一次拍刀把重播,是從記下的毛胚開始的(難題 6)。
3. 真實的 10 µm 在 0.25 mm 的網格上看不看得出來¶
- 情況。 最深的 18 µm 只有格寬的 7 %。
- 風險。 設計代理預期它會落在體素雜訊以下,提議有標記與不標記兩趟的幾何差異畫面都把誤差放大 50 倍,真實值另跑一趟、選做。計畫把它縮成必要時才加一趟 ×50(0.5 mm、G54 X 50.5),只為了畫面。那樣畫面就得另外說明怎麼換算,也要多跑一趟 0.25 mm。
- 怎麼發現。 同一批另一個誤差項案例的試跑(RPTU 標竿測試零件 4 的 X–Y 垂直度,0.25 mm)量到,切削網格的距離與誤差大小成正比,小到 ±2.7 µm 都還讀得到。本案全量趟的網格距離,也直接讀出了預測值。
- 解決。 不放大。所有數字與畫面都是真實的 10 µm,色階 ±0.02 mm。
- 證據。 全部頂點的第 1 百分位是 −18.04 µm(預測最深 −18.1),第 99 百分位是 +0.95 µm(預測留料最多 +1.0)。每 2° 的中位數與預測相差 ≤ 0.011 µm;側面「量到減預測」有 1–99 % 的頂點落在 −0.18…+0.22 µm。
4. 最前面 86 步不合公式¶
- 情況。 有標記與不標記兩趟的最前面 86 步,刀尖與名目最多差 10.0 µm,但公式在那裡算出的值接近 0。
- 風險。 可能被看成對刀的 G54 推錯了,或模型本身有錯;標準 4、5 寫的又是「每一步」。
- 怎麼發現。 照計畫原文逐步比對全部的步,殘差大的 86 步全在第 6 行與第 10 行。
- 解決。 查明了原因。第 0 步在第 6 行
T1 M06的換刀位置,機械座標固定在 (0, 0, 600, 0, 0),G54 多打的 10 µm 移不動它;以那個 G54 多移了 10 µm 的零件為準,刀尖在那裡差 −10 µm。第 1–86 步是第 10 行第一個G00從換刀位置內插出去,差一步步降到 0。G43.4在第 9 行就已生效,所以原因不是 RTCP 還沒開。這 86 步都沒有碰到料。判定照原文記為沒過,另外用切削步與第 86 步以後的步核對。 - 證據。 第 86 步起的殘差 ≤ 1.17×10⁻¹³ mm。用每一趟自己的機械座標走名目鏈、扣掉打入的 G54 再加 δ,全部 37,020 步(包括這 86 步)都在 8.0×10⁻¹² mm 以內。
5. 機械座標要拿哪一趟比¶
- 情況。 計畫對不標記那一趟的預測是「機台 X、Y、Z 最多多走 20 µm」,比較對象是名目趟。文件也說,誤差項開關開或關,每一步的機械座標都相同。
- 風險。 照預測寫,或寫成「有標記那一趟的機械座標與名目趟逐位相同」,都會與量到的不符。
- 怎麼發現。 逐步比較三趟的機械座標時發現:名目趟用案例的 G54 X 50.000,誤差開的兩趟用對刀的 X 50.010。
-
解決。 照量到的寫,三組比較各配自己的式子:
- 不標記減名目:從第 86 步起每一步正好 10 µm,也就是 RY(−B)·d,C 軸真正的位置。
- 有標記減名目:從第 86 步起每一步也正好 10 µm,也就是 RY(−B)RZ(−C)·d,對刀的 G54 多打的 10 µm 經 RTCP 轉過的量。
- 不標記減有標記:最多 20 µm,就是對刀相同時,校正前後線性軸的位置差。
計畫那句話沿用自成對平移的設計,那時四趟用同一個 G54;改成一條平移加對刀的 G54 之後,比較對象應該換成有標記的那一趟。「開關不改機械座標」只在工作偏移相同時成立。
-
證據。 三組比較的殘差在 1.1–1.4×10⁻¹³ mm;B、C 在三趟逐位相同。
6. 拍刀把的那次重播,是從已經切好的毛胚開始的¶
- 情況。 為了拍刀具與刀把,把有標記那一趟再播一次,讓刀具停在最後的退刀點。
- 風險。 畫面上的幾何差異可能不是那一次播放切出來的,或刀具停的位置不對。
- 怎麼發現。 那次重播只花 65 秒、36,981 步;全量的有標記那一趟是 195 秒、37,020 步。
- 解決。 查出拍圖前後切換任務條目的步驟,是依「位置」而不是依條目本身還原條目,所以重播從已經切好的毛胚開始。36,981 也正是原案例刀位檔在機台上播放的步數:依位置還原時,兩個程式條目的類型相同,刀位檔條目接到了程式原本的「啟用」,所以那次重播很可能也播錯了程式,這一點沒有再查。改成依條目本身還原後重播,兩個問題一起消失。
- 證據。 拍刀把那一趟 195.2 秒、37,020 步,
Diff--Stats的八個數與有標記那一趟完全相同。
7. 兩個讀到 −164.5 µm 的頂點¶
- 情況。 有標記與不標記兩趟匯出的切削網格,各有兩個頂點讀到 −164.5 µm。它們在程式座標 (10, ±86, 24.03),左右對稱成一對,位在頂面的平面上,離頂面邊緣約 7 mm。
- 風險。 它們會變成每個統計的最小值(−164.5 µm,而真正最深是 −18.4 µm),讓人以為頂面被切壞了。
- 怎麼發現。 整理統計時,全部頂點的最小值遠低於預測最深的 −18.1 µm。不標記那一趟除了這兩點以外,全部頂點與名目相差 ≤ 0.0005 µm,而同樣這兩點在有標記那一趟的讀值也完全相同。
- 解決。 把這兩點從所有統計剔除,另外列出。成因沒有查明:可能是距離搜尋只看最近 12 個三角形的重心,漏掉了參考網格上一個大的共面三角形;也可能是匯出的網格在那裡有細長的三角形。可以確定的是,它們不是切削造成的。
- 證據。 分析結果把這兩個頂點與它們的讀值另外列出,不算進統計。
結果與效益¶
在 HiNC 3.2.46 開發版(含誤差項)上,以 0.25 mm、物理關量得。逐步的數字在 1 mm 修剪趟逐位相同(見下文)。
| # | 判定 | 量得 |
|---|---|---|
| 1 | 通過 | 機台鏈與計畫一字不差。EX0C 在 B→Cerr,是標記的 Static Translation (0.01, 0, 0)。C 是 Cerr→C 上的 Dynamic Rotation,繫結 C 軸,值與搬移前相同。角色檢查為空,另存新檔後重新載入沒有訊息。四趟全量都在重啟後的實例上從檔案載入誤差項專案,EX0C 在、角色檢查為空,也都播完。原本沒有紀錄的兩項,在 2026-10-06 23:15 補量:從檔案重新載入加了 EX0C 的誤差項專案,沒有載入訊息、角色檢查為空、EX0C 在且有標記;伺服器上案例的工作副本裡,git 顯示案例在誤差項資料夾以外的檔案(包括共用的機台檔 GenericBC.mt 與案例的專案檔)都沒有改動,只多了誤差項資料夾 |
| 2 | 通過 | 8 次播放都 Finished,都是 37,020 步。有逐步序列的 7 趟,IsTouched 峰值都是 1。第 6 行與第 10–5329 行的每個移動行都有步;第 5330–5333 行(M09、G49、M30、%)本來就不產生步。警告以上的訊息:nc、step、ncManip 三個訊息槽都是空的;shell 只有做幾何差異比對的 6 趟各 1 則 Diff--TargetNotClosed,因為理想幾何是匯出的開放網格。紀錄只收警告以上,所以看不到 Sys-Init--FileLines,executedLineCount 也沒有記;「5,333 行全部執行」是從每個移動行都有步推得的 |
| 3 | 通過 | 每一趟都是 37,020 步(含三趟修剪),差 0。IsTouched 與 LineNo 逐步相同 |
| 4 | 照原文沒過;切削步通過 | 第 86 步起的 36,934 步(含全部 35,513 個切削步)≤ 1.17×10⁻¹³ mm。C ≡ 0 的 14 個程式步 ≤ 5.1×10⁻¹⁴ mm。精修圈的最大偏移 20.000 µm,相對 2d 差 −2×10⁻¹³。最前面 86 步(第 6 行的換刀位置與第 10 行的第一個 G00,都沒碰到料)最多差 10.0 µm(難題 4) |
| 5 | 照原文沒過;切削步通過 | 第 86 步起 ≤ 1.28×10⁻¹³ mm。最前面 86 步最多差 10.0 µm,原因同標準 4。機台 B、C 與名目逐位相同 |
| 6 | 通過(以畫面與序列判) | 對照趟沒有匯出網格,所以改用三樣證據判:它的逐步序列與名目逐位相同;它的 Diff--Stats 八個數與不標記那一趟相同;用色相讀四個視角的幾何差異畫面,100 % 的像素在 ±1 µm 內,最大 0.91 µm。不標記那一趟的網格與名目相差 ≤ 0.0005 µm,兩個假象頂點除外(難題 7) |
| 7 | 通過 | θ = 180° 處的中位數 −18.126 µm,側面頂點最低 −18.39 µm。θ = 0 的 ±15° 以內,偏差最大 0.80 µm。頂面、底環與台座在離圓錐邊 0.1 mm 以外都 ≤ 0.002 µm。形狀比「一彎新月」大:過切從 ±43.7° 一路延伸到 −X 側,約 272.5°,是大半圈 |
| 8 | 通過 | 0.25 mm 每趟 185–195 秒,VmHWM 3.92–5.61 GiB(見下文〈執行成本〉) |
刀尖:每一步都落在公式上¶
這裡的刀尖指每一步的 CL,也就是實際刀尖在程式座標中的位置;切削步是刀具碰到料的步(IsTouched 為 1),37,020 步裡有 35,513 步。各趟步數相同,所以可以逐步對齊後相減:
| 比較 | 範圍 | 最大差 |
|---|---|---|
| 有標記減名目,再減 δ | 35,513 個切削步 | 1.14×10⁻¹³ mm |
| 同上 | 第 86 步起的 36,934 步 | 1.17×10⁻¹³ mm |
| 有標記減名目 | C ≡ 0 的 14 個程式步 | 5.1×10⁻¹⁴ mm |
| 有標記減名目,偏移的長度 | 精修圈(第 4572–5328 行) | 20.000 µm,就是 2d |
| 刀軸方向,有標記減名目 | 全部步 | 4.4×10⁻¹⁶ |
| 不標記減名目 | 第 86 步起 | 1.28×10⁻¹³ mm |
| 對照減名目 | 全部步 | 0:兩趟序列逐位相同 |
誤差項開、有標記:每個切削步的刀尖偏移(它的 CL 減名目趟的 CL,程式座標),橫軸是換算到 ±180° 的 C 軸角度。點是量到的(每 100 個切削步取一點),黑線是公式。35,513 步全部落在公式上,相差 ≤ 1.1×10⁻¹³ mm。縱軸對稱 ±22 µm。0.25 mm,HiNC 3.2.46 開發版(含誤差項)。
最前面 86 步最多差 10.0 µm,原因如下。
- 第 0 步在第 6 行
T1 M06的換刀位置。換刀位置是固定的機械位置 (0, 0, 600, 0, 0),G54 多打的 10 µm 移不動它。 - 第 1–86 步是第 10 行的第一個
G00,從換刀位置內插出去:差從 10 µm 一步步降到 0,到第 86 步抵達程式點時就合公式了。 - 這 86 步都沒有碰到料。
換一個方法檢查:用每一趟自己的機械座標走名目鏈的正向運動學,扣掉打入的 G54,再加 δ。全部 37,020 步(包括這 86 步)都對到 8.0×10⁻¹² mm 以內。也就是說,有 EX0C 的機台在每一步都把刀尖從名目鏈的位置移了 δ。
1 mm 修剪趟與 0.25 mm 全量趟的逐步序列逐位相同。 名目、對照與修剪名目相同,有標記與修剪有標記相同,不標記與修剪不標記相同(比對解壓後 JSON 的 md5)。這裡的步數、刀尖、機械座標與接觸旗標 IsTouched 都沒有隨體素解析度改變,所以驗證逐步公式用 1 mm 就夠了。
零件:圓錐側面大半圈過切¶
量法:有標記那一趟匯出的切削件共 1,380,159 個頂點,逐點量出它到名目切削件的帶號距離(正=留料,幾何差異裡是藍;負=過切,是紅)。結果只有圓錐側面變了。
圓錐側面一圈的法向偏差。藍點是網格距離每 2° 的中位數,色帶是每個 2° 區間的 5–95 % 範圍(側面離上下緣 1 mm 以內不算)。橘線是由逐步刀尖偏移與解析法向算出的預測,黑圈是第一次播放前寫下的預測表;藍點與橘線相差 ≤ 0.011 µm。負=過切(幾何差異裡是紅),正=留料(藍)。縱軸對稱 ±20 µm。0.25 mm,HiNC 3.2.46 開發版(含誤差項)。
| θ | 事先的預測表 | 由逐步刀尖算的預測 | 量到(+θ/−θ,該角度 ±0.5° 內的中位數) |
|---|---|---|---|
| 0(+X 側) | 0 | 0 | 0.000/0.000 µm |
| ±15° | +0.68 | +0.684 | +0.685/+0.685 µm |
| ±25.5°(留料最多) | +0.995 | +0.995 | +0.997/+0.997 µm |
| ±44° | 0(變號) | −0.024 | −0.025/−0.025 µm |
| ±60° | −2.11 | −2.107 | −2.108/−2.111 µm |
| ±90° | −7.41 | −7.412 | −7.414/−7.414 µm |
| ±120° | −12.8 | −12.796 | −12.791/−12.792 µm |
| ±150° | −16.7 | −16.704 | −16.697/−16.696 µm |
| 180°(−X 側,最深) | −18.126 | −18.126 | −18.126 µm |
「事先的預測表」是設計代理的表乘上 10 µm。計畫引用了其中 0、±25.5°、±44°、±90°、180° 五個值(寫成 0、+1.0、約 ±44° 變號、−7.4、−18.1 µm)。
- 每 2° 的中位數與由逐步刀尖算的預測(圖中橘線)最多差 0.011 µm(rms 0.005 µm)。
- 變號發生在 ±43.73°(公式算出 43.76°)。過切從那裡一路延伸到 −X 側,約 272.5°。
- θ = ±25.5° 那裡(|C| 約 61°,由精修圈的逐步序列推得),刀尖其實已經偏了約 10 µm。但這段偏移大多沿著表面滑開,落在法向上的只剩 +1.0 µm。
- 正負 θ 兩側對稱,差在 0.002 µm 以內。同一條母線從底到頂差 ≤ 0.02 µm:刀具是整支平移的,所以每條母線整條一起動。
- 側面離銳邊 0.5 mm 以外的 361,981 個頂點,讀值在 −18.39…+1.16 µm。每個頂點的量測值減去它所在方位的預測值,有 1–99 % 落在 −0.18…+0.22 µm(rms 0.08 µm)。這就是這種量法在側面的雜訊。
- 全部頂點(兩個假象頂點除外)的第 1 百分位是 −18.04 µm,第 99 百分位是 +0.95 µm。
各特徵的網格距離(誤差項開、有標記):畫出最小–最大、1–99 % 與中位數,橘框是預測範圍。只有圓錐側面偏了;頂面、圓錐底下的環面與台座,在離圓錐邊 0.1 mm 以外都在 ±0.002 µm 內。圓錐銳邊旁的網格邊緣帶(側面 0.5 mm、平面 0.1 mm)與兩個假象頂點不算在內。橫軸對稱 ±20 µm。
各特徵的網格距離(7 列)
| 特徵 | 頂點數 | 最小…最大 | 1–99 % | 中位數 | 預測 |
|---|---|---|---|---|---|
| 圓錐側面,離銳邊 0.5 mm 以外 | 361,981 | −18.386…+1.156 µm | −18.12…+1.03 µm | −8.26 µm | −18.1…+1.0 µm |
| 圓錐側面,銳邊 0.5 mm 以內 | 14,452 | −18.342…+8.971 µm | −18.12…+1.05 µm | −6.20 µm | 同上;網格把讀值拉離預測,最多偏 +18.0 µm |
| 頂面,離邊 0.1 mm 以外 | 404,173 | −0.002…+0.002 µm | 0…0 | 0 | 0 |
| 頂面,邊 0.1 mm 以內 | 952 | −0.225…+0.143 µm | 0…0 | 0 | 0 |
| 圓錐底下的環面(Ø180–Ø200),離邊 0.1 mm 以外;邊緣帶另有 702 點,讀值 −0.031…0 µm | 92,572 | 0…+0.001 µm | 0…0 | 0 | 0 |
| 台座側面 | 121,959 | 0 | 0 | 0 | 0 |
| 台座底面 | 383,346 | 0 | 0 | 0 | 0 |
在中高度量一圈:誤差主要在直徑與圓心¶
論文提到,當時的標準草案對圓錐台只規定量一項:加工面的真圓度;而論文的每個試件都大約在中高度量(p. 522)。這裡在網格上做同一件事:
- 取零件高度 12.7 mm、半徑 96.597 mm 的水平圓。
- 用這個高度 ±0.5 mm 以內的 14,851 個側面頂點,把法向偏差換成半徑偏差(除以 cos 15°)。
- 每 1° 取中位數,再套最小平方圓。
| 量到 | 由逐步刀尖算的預測 | 事先(計畫、設計) | |
|---|---|---|---|
| 直徑變化 | −16.25 µm | −16.26 µm | −16.3 µm |
| 圓心往零件 +x | 10.26 µm | 10.26 µm | 10.3 µm |
| 真圓度 RONt | 2.98 µm | 2.96 µm | 3.0 µm |
| 最大半徑偏差 | 18.77 µm | 18.77 µm | 18.8 µm |
| 諧波 h2/h3/h4 | 0.70/0.52/0.34 µm | 0.70/0.53/0.34 µm | 0.70/0.53/0.34 µm |
真圓度只有最大半徑偏差的 16 %,約六分之一。這個誤差主要表現為直徑小了 16 µm、軸線移了 10 µm;只量真圓度,大半看不到。
如果不取 1° 中位數、直接用全部頂點套圓,得到直徑變化 −16.20 µm、圓心平移 10.32 µm、真圓度 3.29 µm;多出來的是頂點本身的雜訊。
論文自己的 10° 試件也是這種形狀:CMM 逐點量的非真圓度 7 µm;球桿量到非真圓度 6 µm、軌跡中心偏約 12 µm(pp. 522–523)。那是另一台機台,還有別的誤差,所以只比形狀,不比大小。
中高度(12.7 mm)水平圓的半徑偏差,就像用 CMM 量一圈。藍點是網格距離每 1° 的中位數(每隔一點畫一點),橘線是預測,綠線是量到的最小平方圓。圖的圓心代表 −45 µm,灰圈是 0。論文 10° 試件的數字來自不同的機台,只比形狀。0.25 mm,HiNC 3.2.46 開發版(含誤差項)。
控制器知道誤差(不標記)¶
這一趟清掉 EX0C 的標記,開關仍開著,並打入與有標記那一趟相同的 G54 X 50.010。機台還是那一台有 EX0C 的機台,但控制器的模型裡有了這個誤差,等於運動學校正過的控制器。在 G43.4 下,控制器把 C 軸的位置偏移算進去,用線性軸把它補回來(控制器看得到什麼 (What the Controller Sees),英文,未鏡像)。
- 刀尖:從第 86 步起,與名目相差 ≤ 1.28×10⁻¹³ mm。
- 零件:匯出的切削件與名目相差 ≤ 0.0005 µm,兩個假象頂點除外。
Diff--Stats的八個數與對照趟完全相同,四個鏡頭的幾何差異畫面也與對照趟逐像素相同。 - 機械座標:B、C 與名目趟、有標記那一趟都逐位相同。X、Y、Z 的差分成三組,各自對到自己的式子:
| 比較 | 式子與意思 | 量到 | 殘差 |
|---|---|---|---|
| 不標記減有標記(兩趟都用對刀的 G54 X 50.010) | RY(−B)(I − RZ(−C))·d:校正前後的位置差 | 長度 0–20 µm;ΔX 最多 18.13、ΔY ±10.00、ΔZ 最低 −8.45 µm | 1.4×10⁻¹³ mm |
| 不標記減名目(名目用 G54 X 50.000) | RY(−B)·d:C 軸真正的位置 | 從第 86 步起每一步正好 10.000 µm;ΔX 9.06–9.96、ΔY 0、ΔZ −0.87…−4.23 µm | 1.1×10⁻¹³ mm(第 86 步起) |
| 有標記減名目 | RY(−B)RZ(−C)·d:對刀多打的 10 µm 經 RTCP 轉過的量 | 從第 86 步起每一步正好 10.000 µm | 1.1×10⁻¹³ mm(第 86 步起) |
計畫的預測是「不標記:機台 X、Y、Z 最多多走 20 µm」,比較對象是名目趟。實際量到的是:相對名目,從第 86 步起每一步正好 10 µm;相對對刀相同的有標記那一趟,才是最多 20 µm(難題 5)。表中最後一列也說明:開關本身不會改變機械座標,有標記那一趟與名目趟的差,全部來自兩趟用的工作偏移不同。
控制器知道誤差(不標記)時線性軸的位置差。左圖:相對不知道誤差、對刀相同的控制器,最多差 20 µm(C ≡ 180°)。右圖:相對名目機台,每一步正好 10 µm,方向隨 B 轉動。B、C 不變,刀尖回到程式上。點是量到的,黑線是預測。HiNC 3.2.46 開發版(含誤差項)。

左視(從 −X 看)的幾何差異,在同一台有 EX0C 的機台上原地交替兩趟:控制器不知道誤差(有標記),以及控制器知道誤差(不標記)。知道誤差的那一趟切回設計,畫面與對照趟逐像素相同。色階 ±0.02 mm(紅=過切、藍=留料、綠=0,正負同權重);0.25 mm;HiNC 3.2.46 開發版(含誤差項)。

等角視的幾何差異,原地交替:控制器不知道誤差(有標記)與知道誤差(不標記)。色階、網格與版本同上。
對照趟與比對畫面¶
對照趟(開關關、做幾何差異比對)其實就是名目趟再播一次,逐步序列與名目逐位相同。
畫面也能用色相讀值:Df 色條上藍色是 +0.02 mm、綠色是 0、紅色是 −0.02 mm,所以 1° 色相等於 0.17 µm。對照趟四個視角的畫面,都是 100 % 的像素在 ±1 µm 內,最大 0.91 µm(前視)。
下面四張圖,都在同一個鏡頭下原地交替誤差項開(有標記)與誤差項關(對照)。
- 畫面是把記下的毛胚連同幾何差異放回畫布拍的,沒有重播。
- 畫布上沒有介面文字,所以中英兩種介面的畫布擷取逐位元組相同,只有標籤照語言不同。
- 鏡頭是 HiNC 預設的前視、左視、俯視與等角視,再用滑鼠滾輪縮放。紅色的 −X 側出現在該出現的地方:正對從 −X 看的左視,也在從 −Y 看的前視左邊。

左視(從 −X 看)的幾何差異,原地交替誤差項開(有標記)與誤差項關(對照)。開的那一幀,圓錐側面從 θ ≈ ±44° 一路到 −X 側都過切(紅),正對鏡頭的 −X 側最深,−18 µm;關的那一幀全綠。色階 ±0.02 mm(紅=過切、藍=留料、綠=0,正負同權重);0.25 mm;HiNC 3.2.46 開發版(含誤差項)。

等角視的幾何差異,原地交替誤差項開(有標記)與誤差項關(對照)。開的那一幀,−X 側過切(紅),+X 側不變(綠);關的那一幀全綠。色階、網格與版本同上。

俯視的幾何差異,原地交替誤差項開(有標記)與誤差項關(對照)。圓錐側面在俯視下只是一圈窄帶:開的那一幀左側(−X)紅、右側(+X)綠,關的那一幀整圈綠。色階、網格與版本同上。

前視(從 −Y 看)的幾何差異,原地交替誤差項開(有標記)與誤差項關(對照)。開的那一幀,傾斜 10° 的圓錐側面左邊(−X)紅,往右(+X)轉黃再轉綠;關的那一幀全綠。色階、網格與版本同上。
做幾何差異比對的全量趟與拍刀把那一趟的 Diff--Stats
| 趟 | 回報的葉 | 比較前的表面葉 | 隨需展開 | 新節點 | NaN 葉 | 量到的量測線 | 沒量到的量測線 | 目標三角形 |
|---|---|---|---|---|---|---|---|---|
| 有標記,以及拍刀把那一趟 | 1,287,023 | 1,257,052 | 16,156 | 46,127 | 2 | 5,141,547 | 1,950 | 2,514,298 |
| 對照,以及不標記 | 1,287,250 | 1,257,199 | 16,194 | 46,245 | 4 | 5,142,589 | 1,772 | 2,514,298 |
名目趟不做幾何差異比對。對照與不標記兩趟的八個數完全相同;拍刀把那一趟與有標記那一趟完全相同。

誤差項開、有標記,整支程式播完,刀具退到最後的退刀點(前視)。畫面裡有 T1 Ø12.7 mm 端銑刀與熱縮刀把;零件上疊了幾何差異的顏色,−X 側紅、+X 側綠。色階 ±0.02 mm;0.25 mm;HiNC 3.2.46 開發版(含誤差項)。

同一個時刻的左視:正對鏡頭的是 −X 側,整片過切(紅);刀具與熱縮刀把在上方。色階、網格與版本同上。
執行成本¶
全部在共用的 32 執行緒伺服器上,以 HiNC 3.2.46 開發版(含誤差項)的私有實例執行。本案各趟一次一趟;但對照、有標記、不標記三趟與拍刀把那一趟播放時,同一台伺服器的另一個實例正在播另一個案例(它的 1 mm 修剪與 0.5 mm 全量),所以這四趟的牆鐘時間含那份負載。依兩邊紀錄的起訖時間,重疊的部分是:對照與有標記兩趟整趟、不標記那一趟的前約 2.4 分鐘、拍刀把那一趟幾乎整趟。名目趟幾乎是單獨跑的,只有最後約 9 秒重疊。VmHWM 是各實例自己的峰值,不受影響。
| 播放 | 網格 | 步數 | 牆鐘時間 | 記憶體峰值(VmHWM) |
|---|---|---|---|---|
| 名目,修剪 | 1 mm | 37,020 | 80.1 秒 | 2.59 GiB(同一實例累積) |
| 有標記,修剪 | 1 mm | 37,020 | 80.1 秒 | 4.54 GiB(同一實例累積) |
| 不標記,修剪 | 1 mm | 37,020 | 80.1 秒 | 5.37 GiB(同一實例累積) |
| 名目 | 0.25 mm | 37,020 | 185.2 秒 | 3.92 GiB |
| 對照 | 0.25 mm | 37,020 | 190.2 秒 | 4.72 GiB |
| 有標記 | 0.25 mm | 37,020 | 195.2 秒 | 5.61 GiB |
| 不標記 | 0.25 mm | 37,020 | 195.2 秒 | 5.31 GiB |
| 有標記,為拍刀把重播 | 0.25 mm | 37,020 | 195.2 秒 | 4.79 GiB |
- 記憶體峰值。 VmHWM 是行程常駐記憶體的最高水位。全量每趟開始前都重啟實例,所以 VmHWM 是那一趟自己的峰值,包含幾何差異、匯出與毛胚紀錄。三趟修剪在同一個實例上接著跑,所以它們的值是到那時為止的累積峰值。換算方式:GiB = bytes ÷ 2³⁰。
- 牆鐘時間從開始播放算到第一次輪詢讀到
Finished。 - 合計:八次播放共 1,201 秒,約 20 分鐘。全量趟比計畫的估計(每趟約 5 分鐘、峰值不到 9 GB)少;修剪趟每趟 80 秒,比計畫估的半分鐘多(原案例物理開時,1 mm 的播放是 20–35 秒)。停止條件(單趟 15 分鐘或 12 GB)沒有碰到。
- 拍刀把那一趟的峰值比有標記那一趟低(4.79 對 5.61 GiB)。它沒有記錄毛胚;有沒有匯出切削件,紀錄裡沒寫。
它說明了什麼¶
對加工工程師。
- C 軸中心只偏 10 µm,五軸同動切出的圓錐台,在 C ≡ 180° 切到的那一側就過切 18 µm,C = 0 那一側完全不動。對刀只吃得掉一個姿態的偏移,這裡是 C = 0。
- 運動學校正過的控制器(RTCP 知道 C 軸真正的位置)可以把誤差整個補回來;補償由 X、Y、Z 來做,它們與對刀相同而沒校正的控制器所在的位置最多差 20 µm。
- 在 HiNC 裡,可以把一台機量到的常數誤差放進模型;上機之前,就看得到它在自己零件上的樣子與大小。
對老師或學生。
- 旋轉軸的位置誤差怎麼變成刀尖偏移 (I − R(C))·d,以及為什麼它與零件離軸多遠無關。
- 表面只留下偏移的法向分量:θ = ±25.5° 那裡刀尖偏了約 10 µm,表面卻只剩 1 µm。
- 只量真圓度,只看得到最大誤差的 16 %,直徑與圓心才是主要部分;這正是論文在 10° 試件上看到的形狀。
- 真機的對刀,與 HiNC 在名目鏈上量的 P0 差在哪裡。
對評估這種做法的人。
- 成本。 建置加八次播放,約 20 分鐘的伺服器時間,每趟記憶體 ≤ 5.61 GiB。
-
預測。 預測在第一次播放前就寫好:
- 刀尖公式在切削步上逐步對到 1.14×10⁻¹³ mm 以內。
- 事先寫下的偏差表與量到的相差在 0.03 µm 以內,量圓的數字相差在 0.05 µm 以內(直徑 −16.3 對 −16.25 µm、圓心 10.3 對 10.26 µm)。
- 用每一步的 C 代進同一公式算的預測,網格每 2° 的中位數對它相差 ≤ 0.011 µm。
-
沒中的地方。 都照量到的寫:不標記的機械座標該拿哪一趟比,以及「新月」其實是大半圈。
誠實的限制¶
- 只放了一個誤差。 這一案只有 EX0C。真實的五軸機同時有好幾項誤差(例如 C 軸 Y 向的位置誤差、B 與 C 之間的傾斜和垂直度),論文的機台也不只這一項。誤差項只能表達常數誤差,表達不了隨位置變化的誤差(定位、真直度、體積誤差表)、背隙、伺服不匹配與熱變形(機台幾何誤差)。
- 正負號是選的。 論文沒給。如果取 −X,同樣的形狀會變成同樣大小的留料。
- 機台不是論文的那一台。 這裡是通用的正交 B/C 雙轉台機;論文用的是 B′ 軸與 Y 軸夾 45° 的非正交機,C 與 θ 的對應關係不同。所以論文的 7 µm、12 µm 只能比形狀。
- 只看幾何。 物理關,沒有切削力、撓曲與顫振。論文在進刀點量到的凹痕,以及它 15° 試件上的顫振,都不在這一案裡。
- 對刀是手動打入的。 HiNC 的 P0 在名目鏈上量,不會像真機的對刀那樣把誤差吃進去。誤差開的兩趟用的 G54 X 50.010 是推算出來的,不是在仿真中對刀量出來的。
- 銳邊旁讀不準。 圓錐側面離銳邊 0.5 mm 以內、平面離邊 0.1 mm 以內,0.25 mm 的網格會把讀值拉離預測,最多偏 18 µm。這些邊緣帶另外列出,沒有算進側面的統計。兩個 −164.5 µm 的假象頂點也已剔除(難題 7)。
- 對照趟沒有自己的切削件。 它的雜訊底是由三樣證據判的:畫面色相(1° 色相 = 0.17 µm,暗的或反鋸齒的像素可能差幾度)、逐步序列與
Diff--Stats。 - 紀錄缺了幾項。
executedLineCount與警告以下的訊息沒有收;紀錄只收警告以上。 - 牆鐘時間每 5 秒輪詢一次,所以每個值都可能晚到 5 秒;其中四趟還含另一個案例的負載(見上文〈執行成本〉)。
讀者可以帶到自己案例的¶
- 把誤差放在一條自己的連接上,緊接在它所屬那一軸的上游。 那一軸自己的運動、值與角色都照舊(誤差項放在哪裡 (Where an Error Term Goes),英文,未鏡像)。
- 手動打入對刀會量到的工作偏移。 HiNC 的 P0 在名目鏈上量,真機的對刀卻會把對刀姿態下誤差造成的偏移吃進去。從機台鏈推出這個偏移,再拿對刀姿態的步核對:這裡 C ≡ 0 的 14 個程式步,刀尖與名目相差 ≤ 5.1×10⁻¹⁴ mm(程式原點對齊)。
- 第一次播放前先預測刀尖偏移,有封閉形式就寫封閉形式。旋轉軸的位置誤差給出 δ = (I − R(C))·d。它只看 C,所以每一步都能拿來核對。
- 沿表面法向讀零件。 表面只留下偏移的法向分量:θ = ±25.5° 那裡刀尖偏了約 10 µm,表面卻只有 +1.0 µm。
- 不要只用真圓度評判旋轉軸。 這裡中高度的真圓度是 2.98 µm,直徑卻小了 16.25 µm、圓心偏了 10.26 µm。直徑與圓心也要量。
- 逐步比較從程式抵達第一個程式點的那一步開始。 換刀位置是固定的機械位置,打入的工作偏移移不動它,所以第一個程式點之前的步不會照偏移的公式走(難題 4)。
- 先證明兩趟的步對得上,再逐步比較。 這裡每一趟都是 37,020 步,每一步的行號與接觸也相同。不是這樣時,就照手冊說的,以時間或機械座標來比。
- 比機械座標,要拿工作偏移相同的那一趟比。 只有那時,「開關不改機械座標」才成立。
- 以名目切削件當理想幾何。 這樣幾何差異才只顯示誤差,不含刀路本身的痕跡。
- 同一個專案要在兩種網格下播時,停用「首次讀取」的毛胚紀錄。 1 mm 寫出的毛胚被 0.25 mm 讀進來,細網格那一趟就從錯的切削結果開始(難題 2)。
- 為拍圖而重播的那一趟,用步數與統計核對。 這裡 36,981 步而不是 37,020 步,說明那次重播不是它該是的那一趟(難題 6)。
- 任何極值都先在頂點資料裡核對過,再說它是什麼造成的。 這裡兩個 −164.5 µm 的頂點,在一趟切出名目件的執行裡也讀到一樣的值(難題 7)。
- 逐步公式用粗網格驗,細網格留給零件與畫面。 1 mm 與 0.25 mm 的逐步序列逐位相同。
來源與授權¶
-
來源。 S. Moylan, D. Blumenfeld, M. McGlauflin, R. Fesperman and M. A. Donmez, Evaluation of Proposed Test Artifacts for Five-Axis Machine Tools, Proceedings of the ASPE 2011 Annual Meeting, vol. 52, pp. 520–523——https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=909384。連結若搬移,可搜尋
Moylan "Evaluation of proposed test artifacts for five-axis machine tools"。本頁用到論文的內容:- C′ 軸在 X 向約 10 µm 的位置誤差(p. 523)。
- 標準草案對圓錐台只規定量真圓度;每個試件都約在中高度量(p. 522)。
- 10° 試件的 CMM 非真圓度 7 µm,以及球桿量到的非真圓度 6 µm、中心偏約 12 µm(pp. 522–523)。
-
授權。 美國國家標準與技術研究院 (NIST) 的官方著作,在美國不受著作權保護;見 NIST 的著作權聲明。論文第一頁的註腳原文:
Official contribution of the National Institute of Standards and Technology (NIST); not subject to copyright in the United States. The full descriptions of the procedures used in the paper require the identification of certain commercial products. The inclusion of such information should in no way be construed as indicating that such products are endorsed by NIST or are recommended by NIST that they are necessarily the best materials, instruments, software or suppliers for the purposes described.
-
出處標示:「Artifact dimensions and cutting conditions after Moylan et al., National Institute of Standards and Technology (NIST), ASPE 2011. NIST does not endorse this case, HiNC, or any product used here.」素材依現狀提供,不附任何保證。
-
使用與修改了什麼:
- 本頁沒有重製論文的任何圖,也沒有放 NIST 的標誌。
- 畫面都是 HiNC 的擷取,圖表畫的是 HiNC 的逐步結果與切削網格。
- 零件、毛胚、刀位與程式是原案例依論文的圖面與切削條件做的;夾具與通用 B/C 機台是原案例自選的,見它的案例頁。
- 誤差的大小取自論文;放在哪裡、正負號與對刀方式是代理選的。
- 本頁的一切都是仿真,沒有切過任何零件。讀者請到 NIST 取得論文。
另見¶
- NIST 五軸試件:依一篇論文的圖面做出的圓錐台與方錐——圓錐台、它的刀路,以及這裡切的程式怎麼做出來、怎麼通過驗收
- 17 吋鍛造鋁圈:C 台中心偏 20 µm——同一種誤差 EX0C,在工作台 C 軸/擺頭 B 軸的機台上偏 20 µm,讓輻條變細、螺栓圓整組偏移
- 建立虛擬工具機:誤差項——標記會改變什麼、啟用誤差項開關,以及有誤差項的機台上的工作偏移
- 運動拓樸:誤差項連接 (Error-Term Branches)(英文,未鏡像)——控制器求解的名目鏈,以及它看得到哪些誤差
- 模型之外的加工問題:機台幾何誤差——模型放不進的機台誤差
- 工作流程:幾何驗證——幾何差異比對、偵測半徑與色階
- 程式原點對齊——P0,以及手動打入量到的工作偏移
- 實作案例——其他案例,以及案例頁怎麼讀