跳轉到

17 吋鍛造鋁圈:C 台中心偏 20 µm,沒校正的控制器讓五支輻條各細約 40 µm、螺栓圓整組偏 36 µm,校正過的切回名目

17 吋鍛造鋁圈是 AI 代理 (agent) 只用三個公開的安裝尺寸數字,自己設計、自己寫程式的一體 6061 輪圈。它的第一次裝夾 OP30 是四支 Fanuc G43.4(RTCP)程式:HiNC 從代理的刀位點寫回,已經在通用的工作台 C 軸/擺頭 B 軸五軸機上通過驗收。

  • T1 粗銑五個輻條窗,全程在 C 0。
  • T2 以五軸側銑窗的 7° 拔模壁,B −7°,C 跟著壁面轉。
  • T3 鑽螺栓孔、T4 做 60° 錐座,兩者都停在 C −3366°,這個角度就是 234°。

這一頁,代理在這台機的 C 台上放一個常見的幾何誤差。C 台實際的旋轉中心,比控制器運動學模型所定的位置偏 +X 20 µm;ISO 230-1 與 ISO 230-7 把這個誤差稱為 EX0C。它做成機台鏈上的一條連接,標記為誤差項。程式一行都沒改,整個輪圈以 0.5 mm 的網格切了四次:

  • 誤差項關:切出名目件。其他全量趟的幾何差異比對,都以它為基準。
  • 誤差項再關一次,並做幾何差異比對:這是對照趟,用來量雜訊底。
  • 誤差項開、有標記:控制器不知道這個誤差,相當於運動學沒有校正。
  • 誤差項開、清掉標記:控制器知道這個誤差,相當於運動學校正過。

誤差開的兩趟都打入 G54 X 0.020,也就是真機在 C 0 對刀(碰數)會量到的工作偏移。

控制器不知道誤差時,157,412 個切削步的刀尖全部落在計畫預測的位置上,相差不到 1.6×10⁻¹³ mm。預測是 δ = (d(1 − cos C), −d·sin C, 0),其中 d = 20 µm:C 0 時沒有偏移,C 跟著窗壁轉時最多 40 µm,在 234° 是 (31.8, 16.2) µm。零件上的結果:

  • 朝 −X 的窗壁過切 39.7 µm,朝 +X 的窗壁不變。
  • 每個窗整個往 +X 移 20 µm,每一面又多切 20 µm,所以五支輻條各細 38.2 到 41.3 µm,看起來就像刀具半徑大了 20 µm。
  • 五個孔連同錐座整組朝 27° 平移 35.6 µm,螺栓圓不再對準車好的中心孔。

控制器知道誤差時,刀尖留在程式上,相差不超過 4.92×10⁻¹² mm,切出的就是名目輪圈。不一樣的只有機台的動作:每個切削步,X 軸的位置都比名目趟往 +X 多 20 µm。這裡的一切都是仿真,沒有切過任何輪圈。

HiNC 仿真:誤差項開、有標記切出的整個輪圈,依它與名目件的偏差上色;Ø12 mm 端銑刀裝在熱縮刀把上,傾斜停在左上方的窗 0 裡,旁邊輻條 0 的側面是紅色,其他窗壁從黃到紅,五個錐座一側紅、一側藍

有標記那一趟記下的毛胚,連同幾何差異放回畫布;接著播一支不切料的停刀程式,讓 T2(Ø12 mm 端銑刀,從 80 mm 熱縮刀把伸出 55 mm)傾 7° 停在窗 0。刀旁是輻條 0 朝窗 0 的側面,它朝 −X,過切 39.7 µm(紅)。五個錐座朝 27° 那一側紅、對側藍。色階 ±0.04 mm:紅=過切、藍=留料、綠=0,正負同權重。HiNC 3.2.46 開發版(含誤差項),0.5 mm 網格。

整個輪圈 OP30,0.5 mm,HiNC 3.2.46 開發版(含誤差項) 依計畫公式的預測 有標記:控制器不知道誤差 清掉標記:控制器知道誤差
刀尖離程式多遠,切削步 δ(C):C 0 時為 0,C 跟著窗壁轉時最多 40 µm,234° 時 (31.8, 16.2) µm 157,412 步全部落在 δ 上,相差 ≤ 1.58×10⁻¹³ mm;最多 0.040 mm(T2)、0.036 mm(T3、T4)與 8.99×10⁻¹⁴ mm(T1) ≤ 4.92×10⁻¹² mm
朝 −X 的窗壁,中位偏差 −39.685 µm −39.686 µm 0(10⁻⁶ µm 以下)
五支輻條,寬度變化 −38.16 到 −41.25 µm −38.17 到 −41.25 µm 0
五個螺栓孔,中心平移 35.64 µm、朝 27.0° 35.63 µm、朝 26.96° 0
車削面、輪輞與輻條正面 0 不變:有對應頂點的 5,653,587 個車削面頂點,距離都與清掉標記那一趟相同 不變
機台 X、Y 與名目趟相比,切削步 清掉標記時為 (20(1 − cos C), 20·sin C) µm,照計畫所寫(難題 2) 打入的 G54 X 0.020 隨 C 轉 每一步 X +20.000 µm,Y、Z 為 0
這一趟的伺服器時間與記憶體峰值 — 350.3 秒、17.69 GiB 350.4 秒、17.80 GiB

案例

輪圈本身的案例頁講代理怎麼設計輪圈、寫刀路,並讓 HiNC 寫出與重播 G43.4 程式;這一頁從它驗收過的第一次裝夾開始。代理拿到的是:

  • 驗收過的專案與程式。 OP30 專案的輪圈正面朝上。程式原點在輪軸與安裝面的交點,+Z 朝外,G54 是 (0, 0, −506.45)。程式共四支,行數與 B、C 值是設計代理(草擬這項研究的代理)讀 NC 得到的:

    • T1 是 Ø20 mm 端銑刀,用 30,992 行粗銑五個窗。全程 B 0、C 0,窗壁留 0.5 mm。
    • T2 是 Ø12 mm 端銑刀,用 9,404 行側銑 7° 拔模的窗壁:先留 0.4 mm 半精,再精修。B −7°,C 從 −54° 一路轉到 −3366°。
    • T3 是 Ø15 mm 鑽頭,T4 是 Ø25 mm 60° 錐座刀,兩者都在 B 0、C −3366°。
  • HiNC 的誤差項。 機台鏈上的軸或主軸可以帶一個誤差項,也就是緊接在那根軸的連接之前、一條自己的靜態連接。控制器 XyzabcSolver 負責把 NC 與刀位點轉成機械座標,含 RTCP;它一律在名目鏈上求解,名目鏈就是把每一條標記的連接都拿掉的同一條鏈。專案的啟用誤差項開關開著時,仿真的機台在運動、切削與檢查碰撞時,都保留這條連接。所以誤差會切進零件,就像一台控制器不知道自身誤差的真實機台。清掉標記,控制器就把這條連接算進去;在 RTCP 下,這就是運動學校正過的控制器(誤差項連接 (Error-Term Branches),英文,未鏡像)。

  • 對刀與 P0。 C 軸上游只放一條平移時,即使 C = 0,工作台也會移動一個誤差量。真機對刀量到的 G54 已經含有這段偏移;HiNC 的 P0 在名目鏈上量,所以不含。要重現真機的結果,手冊建議手動打入對刀會量到的工作偏移(有誤差項的機台上的工作偏移)。
  • 要求。 HiNC 的產品擁有者要以驗收過的案例為基礎,做 HiNC 誤差項的實作案例,產品案與論文案都可以;吃重的執行放到一台共用的伺服器上跑。

沒有任何資料寫明的:

  • 這台機的 C 台中心偏多少、往哪邊偏。 這台機是為這些案例建的通用機,沒有量測可引。代理取旋轉軸位置誤差的典型值 20 µm,方向取 +X。
  • 對刀會量到的 G54。 代理從機台鏈自己推。假設真機在 B = C = 0 探中心孔,設定 G54 的 X 與 Y(輪圈常見的做法),量到的就是 (0.020, 0, −506.45)。
  • 0.5 mm 的網格看不看得出這個誤差。 20 µm 只有格寬的 4 %,最深的偏差 39.7 µm 也只有 8 %。
  • 螺栓孔也會動。 鑽孔與錐座的程式跑在 C −3366°,正是 T2 結束時的角度;要讀 NC 才看得到。

代理建了什麼

每個值都標明是讀取(來自原案例或文件)、推得(由讀到的值算出)或自選(代理自己的決定)。

項目 值 來源
誤差是什麼 C 台實際的旋轉中心比設計位置偏 +X;設計位置就是控制器運動學模型所用的位置。在 ISO 230-1 與 ISO 230-7 裡,這是 EX0C,也就是 C 軸平均線在 X 向的位置誤差 自選:誤差的種類與正負號;推得:ISO 代號
大小 0.020 mm,以 X 錨點的座標表示;這台機的 X 錨點軸向就是機台的軸向 自選:旋轉軸位置誤差的典型值;這台通用機沒有量測過
放在哪 C 軸連接的正上游。這台機的 C 台騎在 X 軸上,所以新錨點 Cerr 把 X→C 這一段一分為二。前一段 X→Cerr 命名為 EX0C,帶 Static Translation (0.020, 0, 0),標為誤差項。C 軸的 Dynamic Rotation(旋轉軸向 (0, 0, −1)、樞軸點 (0, 0, 0))整個搬到 Cerr→C,C 軸重新繫結到它,值不變 自選,依產品擁有者 2026-10-06 的裁定(難題 1)
機台鏈 [O][base][Y][X][Cerr][C][w];[base][Z][B][S][t] 建置後讀取回來
工作偏移 誤差開的兩趟用 G54 = (0.020, 0, −506.45),也就是對刀會量到的值;名目與對照兩趟用案例原本的 (0, 0, −506.45) 推得

為什麼選 C 台中心,而不選 B 擺頭的樞軸偏移?設計代理比較過兩者:

  • OP30 的 B 只有 0 與 −7°。B 的樞軸偏移到了 B −7° 只剩約 12 %,而且每一面窗壁都一樣;T1、T3、T4 完全不受影響。
  • 這幾支程式用 C 的方式有三種:停在 C 0、跟著壁面轉、停在 234°。同一個誤差,在同一個零件上給出三種結果。
  • 這些程式都用 G43.4。只有在 RTCP 下,有標記的誤差(沒校正的控制器)和不標記的誤差(校正過的控制器)才會切得不一樣。

HiNC 設備頁拓樸欄的機台叢集:上排 O → base → Y → X → Cerr → C → w,X 與 Cerr 之間的 EX0C (StaticTranslation) 畫成粗線、帶橘色「誤差項」徽章,C (DynamicRotation) 在 Cerr → C、標「工具機 · C 軸」;下排 base → Z → B → S → t;圖下方放大 X → Cerr → C 這一段

設備頁拓樸欄的機台叢集(GeneralMechanism)。X 與 C 之間多了錨點 Cerr。EX0C 是從 X 到 Cerr 的 Static Translation,畫成粗線,帶橘色「誤差項」徽章。C 軸的 Dynamic Rotation 搬到 Cerr → C,仍擔任 C 軸。圖下方是同一張擷取中 X → Cerr → C 這一段的放大。HiNC 3.2.46 開發版(含誤差項),繁體中文介面。

刀尖會偏多少:計畫裡寫下的預測。 控制器以為工作台繞設計的中心轉,實際上它繞著偏了 d = 20 µm 的中心轉。C = 0 時,工作台多移的那段 d 已經含在對刀量到的 G54 裡,所以刀尖剛好落在程式上。C 轉到別的角度時,零件比控制器以為的多移了一段;換算到程式座標,刀尖偏了

δ = (I − RZ(C))·d = (d(1 − cos C), −d·sin C, 0)。

它的長度是 2d·|sin(C/2)|,C ≡ 180° 時最大,為 40 µm。δ 只看 C:與 B、刀長,以及點在零件上的位置都無關。零件表面偏多少,看 δ 在表面法向上的分量:

  • T1 粗銑:全程 C 0,δ = 0。T1 本來就留 0.5 mm 給 T2,所以成品上沒有任何面來自 T1。
  • T2 側銑:C 等於 φ,也就是牆面朝窗內法向的方位角,所以法向偏差是 cos 7°·d·(cos φ − 1):朝 +X 的牆是 0,朝 −X 的牆是 −39.7 µm(負=過切)。δ 可以拆成兩項,δ = (d, 0) − d·(cos φ, sin φ)。前一項讓整個窗往 +X 移 d;後一項讓每一面都多切 d,就像刀具半徑大了 d。所以五支輻條各細 38 到 41 µm,而輻條 0 少掉的全在窗 0 那一側。
  • T3 鑽孔、T4 錐座:這時 C ≡ 234°,所以 δ = (1.588, 0.809)·d = (31.8, 16.2) µm,長 35.6 µm、朝 27°。五孔與錐座整組平移,螺栓圓偏離車好的中心孔;孔距與孔徑不變。60° 錐座的法向偏差是 ±30.9 µm。
  • 車削面、輪輞、輻條正面:0。
  • 清掉標記時,計畫寫的是:「機台 X、Y 多走 (d(1 − cos C), d·sin C),最多 40 µm;刀尖回到程式上」。機械座標實際怎麼走,見結果與難題 2。

各趟:

趟 網格 誤差項開關 EX0C G54 用途
名目,修剪 1 mm 關 有標記(未生效) (0, 0, −506.45) 修剪:名目
有標記,修剪 1 mm 開 有標記 (0.020, 0, −506.45) 修剪:控制器不知道誤差,做幾何差異比對
名目 0.5 mm 關 有標記(未生效) (0, 0, −506.45) 匯出切削件,當作理想幾何
對照 0.5 mm 關 有標記(未生效) (0, 0, −506.45) 做幾何差異比對,量雜訊底
有標記 0.5 mm 開 有標記 (0.020, 0, −506.45) 做幾何差異比對;匯出切削件
不標記 0.5 mm 開 清掉標記 (0.020, 0, −506.45) 做幾何差異比對;匯出切削件

各趟共同的設定:

  • 物理關。 這一案只看幾何,切削力與撓曲不在範圍內。
  • 碰撞偵測開,失敗時不暫停。每一步是主軸一轉。
  • 只有這四支程式。 啟用 NC 條目 op30-t1-rough.cls.nc、op30-t2-flank.cls.nc、op30-t3-drill.cls.nc 與 op30-t4-seat.cls.nc;任務裡其他程式條目都關著,包括刀位點檔、扇區程式、優化後的程式與停刀程式。
  • 幾何差異比對(工作流程:幾何驗證):偵測半徑 1 mm,色階(DiffVisualRadius)±0.04 mm。
  • 記下的毛胚。 全量的對照、有標記與不標記三趟,各自記下最後的毛胚;拍圖時把它放回畫布。

代理怎麼管理這件工作

  • 先寫標準與預測。 計畫、預測與七條標準在 2026-10-06 20:23:51 提交;第一趟在 20:24:14 開始。
  • 先跑修剪趟。 整個 OP30 以 1 mm、物理關播兩趟,一趟名目、一趟有標記,各 183,870 步。這兩趟確認三件事:建置正確、推出的 G54 正確(T1 每一步 δ = 0)、逐步公式成立。設計代理原本提議用 72° 扇區,並把誤差放大十倍來展示;計畫改成整輪 1 mm、真實值。
  • 全量四趟,一次一趟。 0.5 mm、物理關、碰撞偵測開。四趟在同一個私有實例上依序跑,每趟開始前都重啟實例、從檔案重新載入專案。伺服器上的各項研究共用一把鎖,四趟都在同一次持鎖中跑完。計畫的停止條件都沒有碰到:伺服器記憶體留 50 GB 以上才開跑,單趟超過 40 GB 就停。
  • 以名目切削件為理想幾何。 名目趟匯出切出的工件,10,923,528 個三角形,設成理想(目標)幾何,偵測半徑 1 mm。這樣幾何差異只顯示誤差改變了什麼,不含刀路本身留下的痕跡。
  • 播 NC 條目,不播刀位點條目。 NC 把 C 寫死,結果就不依賴工作階段的歷史。刀位點轉 NC 的寫回關掉,誤差項專案的程式就不會被改寫。
  • 每個數字都從紀錄算。 代理的分析腳本從執行紀錄算出本頁的數字,每個數字都附出處,可以重跑;寫作時另算的少數幾個,例如不標記減有標記的機械座標,也取自同一批逐步序列。特徵——窗壁、孔、錐座、車削面——用原案例輪圈腳本的設計幾何來挑。
  • 畫面兩種介面語言各拍一套。 把各趟記下的毛胚連同幾何差異放回畫布來拍,不必為了拍圖重播。
  • 人在哪裡介入。 HiNC 的產品擁有者要以驗收過的案例為基礎做誤差項的實作案例;同一天看過介面後又裁定,誤差項只放在角色連接(軸或主軸)的上游。這個裁定讓設計從一對平移改成一條平移加打入的工作偏移(難題 1)。誤差、預測與標準都是代理自己定的。

第一次播放前提交的標準:

# 標準
1 建置:誤差項專案重開沒有載入訊息;EX0C 是標記的 Static Translation (0.020, 0, 0)、在 X→Cerr;C 軸繫結在 Cerr→C、值與原本相同;角色檢查為空;案例在誤差項資料夾以外的檔案沒有變
2 每一趟 Finished、183,870 步(有標記與名目相差 1 % 以內亦可)、接觸(IsTouched)峰值 1;沒有碰撞、快移切料或行程警報;做幾何差異比對的趟只多 Diff--TargetNotClosed
3 有標記:T1 每個切削步的刀尖與名目相差 ≤ 1×10⁻⁹ mm;每個切削步的刀尖減名目再減 δ ≤ 1×10⁻⁶ mm;T3、T4 的 δ = (1.588, 0.809, 0)·d ± 1×10⁻⁶
4 不標記:每個切削步的刀尖與名目相差 ≤ 1×10⁻⁶ mm
5 對照:至少 99 % 的頂點離名目切削件 1 µm 以內
6 零件(有標記對名目,以頂點距離量):(a) 朝 −X 的窗壁中位偏差 −39.7 µm ± max(地板, 5 µm);(b) 五支輻條寬度變化 −38 到 −41 µm ± 5 µm;(c) 五孔擬合中心平移 35.6 µm ± 5 µm、朝 27° ± 5°;(d) T1 留下的面與車削面的偏差在地板內
7 成本:每一趟記下牆鐘時間與記憶體峰值(VmHWM)

難題

每一個都依序寫出情況、若沒發現會有的風險、怎麼發現、怎麼解決,以及證明解法成立的證據。

1. 一對平移,還是一條平移加打入的工作偏移

  • 情況。 設計代理提議在 C 的前後各放一條平移:前面 +d(Cpiv-offset)、後面 −d(Cpiv-return)。C 0 時兩者抵銷,G54 與 P0 都不用動,四趟之間只差開關與標記。它也提議把修剪趟縮成 72° 扇區,並把誤差放大十倍來展示。
  • 風險。 產品擁有者同一天看過介面後裁定:誤差項只放在角色連接(軸或主軸)的上游。C 後面那一條不在任何角色連接的上游。假如改成一條平移,卻照打案例原本的 G54,在 C 0 切的 T1 也會偏 20 µm,仿真出來的零件就不像對過刀的真機切出來的。
  • 怎麼發現。 寫計畫、照裁定修改時發現的;設計代理的紀錄是裁定之前的版本。
  • 解決。 只在 C 前面放 EX0C,位置在 X→Cerr。誤差開的兩趟打入對刀會量到的 G54 = (0.020, 0, −506.45);名目與對照兩趟維持 (0, 0, −506.45)。這樣得到的 δ 與成對平移的做法相同。修剪趟改成整輪 1 mm、真實值。
  • 證據。 T1 的 130,003 個切削步全在 C 0,每一步的刀尖與名目相差 ≤ 8.99×10⁻¹⁴ mm,表示打入的 G54 推得對。每個切削步的刀尖與公式相差 ≤ 1.58×10⁻¹³ mm,修剪趟與全量趟都一樣。

2. 機械座標要拿哪一趟比:校正過的 X、Y 走的不是計畫寫的那個圓

  • 情況。 計畫對不標記那一趟的預測是「機台 X、Y 多走 (d(1 − cos C), d·sin C),最多 40 µm」,比較對象是名目趟。手冊也說,誤差項開關開或關,每一步的機械座標都相同。
  • 風險。 照預測寫,或寫成「有標記那一趟的機械座標與名目趟相同」,都會與量測不符。把這個差別當成控制器出錯,也不對。
  • 怎麼發現。 逐步比較三趟的機械座標時發現:名目趟用 G54 X 0,誤差開的兩趟用 X 0.020。
  • 解決。 照量到的寫,三組比較各配自己的式子:

    • 不標記減名目:每個切削步都是 (+20.000, 0, 0) µm。校正過的控制器從打入的 G54 X 0.020 扣掉它知道的 0.020 mm,程式原點就落在真正的 C 軸上。整個工作台本來就偏了 20 µm,所以每一點都由名目的運動整個往 +X 平移 20 µm 走到。
    • 有標記減名目:RZ(−C)·(d, 0),也就是打入的 G54 隨工作台轉。控制器看不到 EX0C,所以機械座標只差在工作偏移。
    • 不標記減有標記:正好是計畫寫的 (d(1 − cos C), d·sin C),長度 0 到 40 µm。

    計畫那句話沿用自成對平移的設計,那時四趟用同一個 G54。改成一條平移加打入的 G54 之後,它描述的就是不標記減有標記。「開關不改機械座標」只在工作偏移相同時成立。標準 4 判的是刀尖,不受影響。

  • 證據。 三組比較的殘差依序 ≤ 4.7×10⁻¹²、1.28×10⁻¹³ 與 4.8×10⁻¹² mm;B、C 在三趟逐位相同。

3. 真實的 20 µm 在 0.5 mm 的網格上看不看得出來

  • 情況。 20 µm 只有格寬的 4 %,最深的偏差 39.7 µm 也只有 8 %。
  • 風險。 設計代理預期這個誤差會淹沒在體素雜訊裡,所以提議畫面用放大十倍的誤差。計畫留了一趟 ×10(0.2 mm、G54 X 0.2)備用,只為了畫面。那樣畫面就得另外說明怎麼換算,輪圈也要多跑一整趟。
  • 怎麼發現。 計畫事先寫好判準:看兩個結果再決定。一個是同一批另一個誤差項案例的全量結果,那是 NIST 圓錐台,真實誤差 10 µm、網格 0.25 mm;另一個是本案 0.5 mm 的結果。兩者都直接讀出了預測值。
  • 解決。 不放大。所有數字與畫面都是真實的 20 µm,色階 ±0.04 mm。×10 那一趟沒有跑。
  • 證據。 十面平面窗壁:量到減預測的中位數 ≤ 0.02 µm,99.999 % 的頂點在預測 ±1 µm 內。螺栓圓平移量到 35.633 µm,預測 35.640 µm。

4. ±0.6 mm 的極值不是誤差

  • 情況。 有標記那一趟切削件的頂點距離從 −0.585 到 +0.694 mm,比預測最大的 39.7 µm 大十幾倍。執行時的筆記判為加工面邊緣的量測假象,並要求先在頂點資料裡核對過再這麼說。
  • 風險。 把它當成誤差,就會說零件切壞了;不核對就排除,說法也站不住。
  • 怎麼發現。 分析逐點核對了距離超過 0.05 mm 的 2,899 個頂點。
  • 解決。 這些頂點分成兩群:

    • 2,856 個在輪輞的車削面上(R 192.39–215.49 mm,中位數在輪桶內面 R 192.4),不在加工面的邊緣。OP30 的刀沒到過那裡,兩趟在那一塊都是同一塊沒動過的毛胚,真實距離應該是 0。切得與名目相同的不標記那一趟,同一批頂點也讀到同一個值。所以這是量法本身的假象,不是誤差。可能的成因(沒有逐點驗證):距離搜尋只看最近 12 個三角形的重心;輪輞旋轉面由細長的三角形組成,重心離頂點很遠,真正的那一面可能不在這 12 個裡。輪圈原案例在它的車削面上也遇過同一類問題(它的案例頁難題 11〈檢查檢查的工具〉)。
    • 另外 43 個在移位後的孔與錐座的兩條銳邊上:錐座外緣 z ≈ 30,以及孔與錐座的交線 z 23.08。讀值 +0.050 到 +0.061 mm,只在有標記那一趟出現。分析的解讀是:特徵相對網格移了 36 µm,0.5 mm 的網格把銳邊削圓的方式就跟著不同。

    各特徵的擬合只用離邊 0.75 mm 以外的頂點。

  • 證據。 兩趟的最低與最高距離完全相同。

5. 對照趟沒有自己的切削件

  • 情況。 標準 5 要對照趟的切削件至少 99 % 的頂點在 1 µm 內,標準 6 的地板也要從對照趟的切削件取。
  • 風險。 照原文,兩者都量不到。
  • 怎麼發現。 結果裡沒有對照趟匯出的切削件。
  • 解決。 改用三項證據代替:

    • 對照趟的逐步序列與名目趟逐位相同:刀尖、機械座標與接觸,全部 183,870 步。
    • 它的 Diff--Stats 與不標記那一趟只差 6 條沒量到的量測線;三個鏡頭的幾何差異畫面,也與不標記那一趟逐像素相同。
    • 不標記的切削件 99.944 % 的頂點在 1 µm 內,刀尖與名目相差 ≤ 4.92×10⁻¹² mm。

    地板改用不標記切削件偏差絕對值的第 99.9 百分位,4.99×10⁻¹⁰ mm,也就是兩份幾乎相同的網格互量時的浮點雜訊。所以標準 6a 的容差 max(地板, 5 µm) 實際上就是 5 µm,與 6b、6c 相同;6d 的界限則是地板本身。

  • 證據。 和結果一起保存的對照趟序列、四趟的 Diff--Stats 與擷取畫面。

6. 執行筆記與紀錄不一致的兩處:記憶體的單位、修剪趟的網格

  • 情況。 執行時的筆記把全量四趟的記憶體峰值寫成 11.2、16.1、18.6、18.7「GB」,把修剪趟的網格寫成 0.5 mm。
  • 風險。 記憶體會被低估,GB 與 GiB 也會混在一起;修剪趟的網格寫錯,1 mm 與 0.5 mm 的比較就跟著錯。
  • 怎麼發現。 分析讀執行紀錄時對出來的。
  • 解決。 以紀錄為準:

    • VmHWM 在紀錄裡以 bytes 記(/proc 的 kB × 1024),是 10.65、15.38、17.69、17.80 GiB,也就是 11.43、16.52、19.00、19.11 GB;筆記的值是把 bytes 除以 1.024×10⁹。
    • 修剪趟的網格在紀錄裡是 1.0 mm,與計畫相同。修剪名目趟的切削步也比全量名目趟少 315 步,同樣指向網格不同。

    本頁的記憶體一律寫 GiB(bytes ÷ 2³⁰)。

  • 證據。 每一趟執行紀錄裡的記憶體峰值與網格欄位。

結果與效益

在 HiNC 3.2.46 開發版(含誤差項)上,以 0.5 mm、物理關量得。

標準 6 的地板就是雜訊底。計畫把它定為對照切削件偏差絕對值的第 99.9 百分位;對照趟沒有切削件,所以改從不標記的切削件取(難題 5):4.99×10⁻¹⁰ mm。

# 判定 量得
1 量得的部分通過;兩項沒有核 EX0C 在 X→Cerr,是標記的 Static Translation (0.02, 0, 0)。C 是 Cerr→C 上的 Dynamic Rotation(旋轉軸向 (0, 0, −1)、樞軸點 (0, 0, 0)),繫結 C 軸,值與搬移前相同;這條連接換了新的 Guid。其餘 8 條連接的名稱、兩端、種類、角色與 Guid 都沒變。角色檢查在建置前後都是空的。案例專案載入、另存新檔後再載入,都沒有訊息。沒有核的第一項:插入 EX0C 之後從檔案重開專案時的載入訊息。有紀錄的那次重開在插入之前;之後每一趟都在重啟的實例上載入專案,但這些載入沒有留下紀錄:執行紀錄不收載入訊息,播放日誌只留含 error 等字樣的行。四趟全量都載入成功,EX0C 與標記照計畫、角色檢查為空,也都播完。沒有核的第二項:案例在誤差項資料夾以外的檔案有沒有變
2 通過 六趟都 Finished,都是 183,870 步,接觸峰值都是 1。警告以上的訊息:nc、step、ncManip 三個訊息槽都是空的;shell 只有做幾何差異比對的四趟各 1 則 Diff--TargetNotClosed,因為理想幾何是匯出的開放網格。0.5 mm 四趟的檔案、行號、刀號與接觸逐步相同
3 通過 T1 的 130,003 個切削步 ≤ 8.99×10⁻¹⁴ mm;全部 157,412 個切削步與 δ 相差 ≤ 1.58×10⁻¹³ mm;T3、T4 的偏移除以 d 是 (1.587785, 0.809017, 0),殘差 ≤ 2.7×10⁻¹⁴ mm
4 通過 全部 157,412 個切削步 ≤ 4.92×10⁻¹² mm
5 照原文沒有量;替代證據通過 對照趟沒有匯出切削件(難題 5)
6a 通過 窗 0 a 側是輻條 0 朝窗 0 的側面,法向 177.66°,也是唯一朝 −X 的平面窗壁。中位數 −39.686 µm(8,398 個頂點),預測 −39.685。地板這麼小,容差就是 5 µm。所有窗壁中朝向在 −X ±5° 以內的 13,575 個頂點,中位數同樣是 −39.686 µm
6b 通過 −39.70、−41.25、−40.67、−38.76、−38.17 µm;預測 −39.70、−41.25、−40.66、−38.75、−38.16 µm(各為輻條兩個側面相加)
6c 通過 五孔平均平移 35.63 µm、朝 26.96°;各孔 35.57–35.69 µm、朝 26.86–27.03°;錐座 35.64 µm、朝 27.00°
6d 照原文沒過;以分布判通過 成品上沒有任何面來自 T1,因為 T1 留 0.5 mm 給 T2。照原文逐點判,兩趟都有同一批 4,990 個車削面頂點超出地板(99.2 % 在輪輞),距離與不標記那一趟逐點相同,這是難題 4 的量測假象。地板是不標記切削件的第 99.9 百分位,依定義那份網格約有千分之一的頂點不低於地板;車削面又與不標記那一趟逐點相同,所以這些頂點只要落在車削面上,照原文逐點判就過不了。以分布判,車削面 99.9117 % 的頂點在地板內,比例與不標記那一趟相同;有對應頂點的 5,653,587 個頂點,距離與不標記那一趟相同,差 0
7 通過 見下文〈執行成本〉

刀尖:每個切削步都落在公式上

這裡的刀尖指每一步的 CL,也就是實際刀尖在程式座標中的位置。各趟步數相同,每一步的檔案、行號與刀號也相同,所以可以逐步對齊後直接相減。切削步是名目趟有接觸(IsTouched 為 1)的步,共 157,412 步:T1 130,003、T2 26,529、T3 655、T4 225。

比較 範圍 結果
有標記減名目,再減 δ 157,412 個切削步 最大 1.58×10⁻¹³ mm
有標記減名目 T1 的 130,003 個切削步(C 0) 最大 8.99×10⁻¹⁴ mm
有標記減名目,偏移的長度 T2 的 26,529 個切削步 最大 0.040 mm(= 2d,C ≡ 180° 時);ΔY 最大 0.020 mm
有標記減名目 T3、T4 的 880 個切削步(C ≡ 234°) 每一步都是 (31.756, 16.180, 0) µm,與平均相差 ≤ 2.7×10⁻¹⁴ mm(任兩步之間 ≤ 4.7×10⁻¹⁴ mm)
刀軸方向,有標記減名目 全部步 ≤ 4.5×10⁻¹⁶
不標記減名目 157,412 個切削步 最大 4.92×10⁻¹² mm
對照減名目 全部步 0:刀尖、機械座標與接觸逐位相同

刀尖偏移三格:左格 ΔX、ΔY 對 C 角,藍點與綠點落在黑色虛線的預測上,T1 在 C 0 為 0、T3/T4 在 234° 一點;中格 XY 平面上量到的點落在半徑 20 µm、圓心 (20, 0) 的圓上;右格量到減預測的直方圖,最大 1.6×10⁻¹³ mm

有標記那一趟:每個切削步的刀尖偏移(它的 CL 減名目趟的 CL,程式座標)。(a) ΔX(藍)、ΔY(綠)對 C 角(取 0–360°):T1 全在 C 0、偏移 0;T3、T4 在 234° 聚成一點;T2 沿著黑色虛線的預測走。(b) XY 平面上,量到的點落在半徑 20 µm、圓心 (20, 0) 的圓上;T2 抽 1,500 步顯示。(c) 量到減預測的分布(對數軸):最大 1.6×10⁻¹³ mm,計畫門檻是 10⁻⁶ mm。有正負值的軸對稱 ±45 µm。HiNC 3.2.46 開發版(含誤差項),0.5 mm。

  • 最前面 141 步不碰料,也不合公式。 第 0 步是第一支程式第 6 行的 T1 M06,機械座標全是 0;第 1–140 步是第 10 行的第一個 G00,從那裡往外內插(G43.4 在第 9 行已經生效)。起點是固定的機械位置,打入的 G54 移不動它,所以這段的刀尖離公式最多 0.020 mm。計畫的判準本來就只看切削步。
  • 修剪趟(1 mm)與全量趟(0.5 mm)的刀尖與機械座標,逐步完全相同。 兩趟名目的刀尖與機械座標在全部 183,870 步都相同;修剪的有標記趟對預測的殘差,同樣是 1.58×10⁻¹³ mm。只有接觸隨網格變(IsTouched 記的是這一步碰不碰得到體素毛胚):

    • 1 mm 名目趟的切削步比 0.5 mm 少 315 步,全是 1 變 0。
    • 修剪的有標記趟與名目趟之間,有 5 步不同(在 T2 與 T4)。
    • 0.5 mm 的四趟逐步相同。

    所以逐步公式用 1 mm 就驗得出來;零件與畫面才需要 0.5 mm。

零件:窗壁、輻條與螺栓孔

量法:有標記那一趟匯出的切削件共 6,192,799 個頂點,逐點量出它到名目切削件的帶號距離(正=留料,幾何差異裡是藍;負=過切,是紅)。

  • 窗壁頂點:離 7° 拔模設計面的水平距離在 0.1 mm 以內、離正面與背面的邊 0.75 mm 以上的頂點,共 297,616 個。
  • 孔壁有 25,800 個頂點,錐座有 12,077 個。
  • 每個窗壁頂點的預測是 cos 7°·d·(cos φ − 1),φ 是它所在牆面朝窗內法向的方位角。
  • T2 的 C 就等於這個方位角:逐步序列上,C 與刀軸反方向的方位角相差 ≤ 1.4×10⁻¹²°;設計代理也在刀位點上核對過,這個方位角就是牆面的法向。

窗壁偏差對牆面朝向 φ:藍線(每 2° 中位數)與淺藍帶(5–95 %)沿著黑色虛線的預測,φ = 0 為 0、φ = 180° 為 −39.7 µm;橘線(不標記)全在 0;縱軸 ±45 µm

五個窗、約 29.8 萬個窗壁頂點的偏差,依牆面朝窗內法向的方位角 φ,每 2° 一格(0=+X、90=+Y、180=−X、270=−Y)。藍線是有標記那一趟的中位數,淺藍帶是它的 5–95 % 範圍;黑虛線是預測 20·cos 7°·(cos φ − 1) µm;橘線是不標記那一趟,全為 0。縱軸對稱 ±45 µm,負=過切。0.5 mm,HiNC 3.2.46 開發版(含誤差項)。

  • 朝 −X 的平面窗壁只有一面:窗 0 a 側,也就是輻條 0 朝窗 0 的側面,法向 177.66°。中位數 −39.686 µm(8,398 個頂點),預測 −39.685。所有窗壁中朝向在 −X ±5° 以內的 13,575 個頂點,中位數也是 −39.686 µm。
  • 十面平面窗壁:量到減預測的中位數 ≤ 0.02 µm;99.999 % 的頂點在預測 ±1 µm 內。
  • 轉角圓角與內外弧,共 30 段:量到減預測的中位數在 −0.22 到 +0.04 µm 之間。凹的轉角偏負、凸的內弧偏正,這是兩個多面體網格互量造成的(見〈誠實的限制〉)。
  • 全部 297,616 個窗壁頂點:99.42 % 落在預測 ±1 µm 內。
  • 不標記那一趟:每面窗壁的讀值都是 0,在 10⁻⁶ µm 以下。
十面平面窗壁(每個窗的兩個側面,µm)

a 側是輻條 j 朝窗 j 的側面,b 側是輻條 j+1 朝窗 j 的側面;φ 是牆面朝窗內法向的方位角。

面 輻條 φ 頂點 量到(中位數) 預測 量到減預測(中位數)
窗 0 a 側 0 177.66° 8,398 −39.686 −39.685 −0.0003
窗 0 b 側 1 74.34° 9,756 −14.497 −14.494 −0.003
窗 1 a 側 1 249.66° 10,143 −26.757 −26.752 −0.006
窗 1 b 側 2 146.34° 10,868 −36.389 −36.374 −0.015
窗 2 a 側 2 321.66° 10,996 −4.285 −4.282 −0.004
窗 2 b 側 3 218.34° 10,995 −35.433 −35.420 −0.013
窗 3 a 側 3 33.66° 10,870 −3.331 −3.328 −0.003
窗 3 b 側 4 290.34° 10,124 −12.956 −12.950 −0.006
窗 4 a 側 4 105.66° 9,760 −25.213 −25.208 −0.004
窗 4 b 側 0 2.34° 8,352 −0.017 −0.017 −0.0004

輻條寬度。 每支輻條的寬度變化,是它兩個側面法向偏差的和,垂直於 7° 拔模面量;水平寬度的變化,要再除以 cos 7°。

輻條(中心方位) 兩個側面 量到 預測 差 水平寬度
0(90°) 窗 0 a −39.686、窗 4 b −0.017 −39.703 µm −39.702 µm −0.001 −40.001 µm
1(162°) 窗 1 a −26.757、窗 0 b −14.497 −41.254 µm −41.245 µm −0.009 −41.564 µm
2(234°) 窗 2 a −4.285、窗 1 b −36.389 −40.674 µm −40.656 µm −0.019 −40.980 µm
3(306°) 窗 3 a −3.331、窗 2 b −35.433 −38.764 µm −38.748 µm −0.016 −39.055 µm
4(18°) 窗 4 a −25.213、窗 3 b −12.956 −38.168 µm −38.159 µm −0.010 −38.455 µm
  • 五支輻條各細 38.17 到 41.25 µm,平均 39.7 µm,正好等於 2d·cos 7°:

    • δ 裡「每一面多切 d」那一項,讓兩側各少 d·cos 7°。
    • 輻條的兩側不平行,「整個窗移 d」那一項沒有完全抵銷,所以各支差出約 ±1.6 µm。
  • 輻條 0 少掉的 39.70 µm 幾乎全在窗 0 那一側(−39.686 µm),窗 4 那一側只少 0.017 µm。

  • 不標記那一趟,每支輻條的變化都是 0,在 10⁻⁸ µm 以下。

十面平面窗壁與五支輻條的偏差:藍點(量到)落在黑圈(預測)上,橘點(不標記)在 0;右欄列出量到/預測的數值;橫軸 ±45 µm

十面平面窗壁的中位偏差與五支輻條的寬度變化。藍點是量到的,黑圈是預測,橘點是不標記那一趟;右欄是數值。量到與預測相差 ≤ 0.02 µm。橫軸對稱 ±45 µm,負=過切或變細。0.5 mm,HiNC 3.2.46 開發版(含誤差項)。

每個窗整個移了多少。 對每個窗的全部窗壁頂點套一個模型:整個窗平移 (tx, ty),每一面再多切 e。五個窗都往 +X 移 20.02 到 20.04 µm,Y 方向在 ±0.01 µm 以內,每一面多切 20.03 µm(水平量);預測是 (+20, 0) µm 與 20 µm。

五個窗的擬合(µm)
窗 平移 X 平移 Y 每面多切(水平) 擬合 rms 頂點
0 +20.040 +0.009 20.030 0.23 59,258
1 +20.023 −0.001 20.029 0.24 59,836
2 +20.040 +0.000 20.030 0.23 59,445
3 +20.026 +0.007 20.029 0.19 59,819
4 +20.034 −0.010 20.026 0.21 59,258

螺栓孔與錐座。

  • T3、T4 每個切削步的刀尖都偏 (31.756, 16.180, 0) µm。
  • 網格上的量法:把每個孔壁與錐座沿孔一圈的偏差,套進 a·cos ψ + b·sin ψ + c,ψ 是繞設計孔軸的方位角。偶極 (a, b) 就是中心的平移,c 是孔徑的變化。
  • 五孔平移的平均就是螺栓圓的平移:(31.761, 16.153) µm,長 35.63 µm、朝 26.96°。預測是 (31.756, 16.180) µm,長 35.64 µm、朝 27.0°。各孔平移 35.57 到 35.69 µm,朝 26.86 到 27.03°。
  • 錐座平移 35.64 µm、朝 27.00°,與孔同心,相差不到 0.03 µm;錐面的法向偶極是 30.86 到 30.87 µm,預測 30.87。
  • 孔距變化 −0.03 到 +0.14 µm。孔壁平均偏差 −0.31 到 −0.40 µm,是網格互量造成的(見〈誠實的限制〉)。
  • 不標記那一趟,各孔的平移都在 10⁻⁷ µm 以內。

左格:孔壁與錐座沿孔一圈的偏差,五孔合併、每 5° 中位數,呈一正一負的偶極,朝 27° 附近最負;右格:每個孔與錐座擬合出的中心平移點,集中在 (31.8, 16.2) µm 的預測點上,不標記的點在原點

(a) 五個 Ø15 孔壁與 60° 錐座沿孔一圈的偏差(五孔合併、每 5° 一格取中位數)。它是一個偶極:朝 27° 那一側過切 35.6 µm(錐座 30.9 µm),對側留料。(b) 每個孔與錐座擬合出的中心平移:五孔 35.57–35.69 µm、26.86–27.03°,預測 35.64 µm、27°;不標記那一趟為 0。軸對稱 ±45 µm。0.5 mm,HiNC 3.2.46 開發版(含誤差項)。

每個孔與錐座的擬合(µm)
特徵 頂點 中心平移 方位 平均偏差(孔徑) 擬合 rms
孔 0 5,160 35.568 27.03° −0.40 0.54
孔 1 5,160 35.640 26.96° −0.33 0.50
孔 2 5,160 35.635 26.86° −0.36 0.58
孔 3 5,160 35.625 27.00° −0.35 0.45
孔 4 5,160 35.695 26.94° −0.31 0.48
五孔平均(螺栓圓) 35.633 26.96°
錐座 0–4 2,413–2,419 35.637–35.642 27.00–27.01° −0.17 到 −0.18 0.30–0.33
預測 35.640 27.0° 0

孔 0–4 的孔距變化依序是 −0.019、+0.054、+0.004、−0.029、+0.140 µm。錐座的法向偶極 30.863–30.867 µm(預測 30.865)。

整個切削件與車削面。

  • 有標記那一趟 94.29 % 的頂點離名目 1 µm 以內。離開 0 的只有窗壁(0 到 −39.7 µm)與孔、錐座(±35.6 µm)。第 1 百分位是 −36.18 µm,第 99 百分位是 4.75×10⁻¹⁰ mm。
  • 距離超過 0.05 mm 的頂點有 2,899 個。其中 2,856 個在輪輞的車削面上,不標記那一趟是同一批頂點、同一個值;另外 43 個在移位後的孔與錐座的銳邊上,讀值 +0.050 到 +0.061 mm。兩群都不是誤差(難題 4)。
  • 車削面包括輪轂面、輻條正面、背面、中心孔與輪輞,只算離窗壁 2 mm 以外、離孔 13.5 mm 以外的部分。99.9117 % 的頂點在地板內,與不標記那一趟相同;有對應頂點的 5,653,587 個頂點,距離與不標記那一趟相同,差 0。

有標記與不標記兩趟切削件全部頂點到名目切削件的距離直方圖(對數縱軸):有標記那一趟在 0 到 −39.7 µm 有窗壁的一段、在 ±35.6 µm 有孔的兩翼;兩趟在 0 都有最高的柱;標出超過 0.05 mm 的輪輞 2,856 個與孔緣 43 個

有標記與不標記兩趟切削件,每個頂點到名目切削件的距離(0.5 µm 一格、對數縱軸)。有標記那一趟只有窗壁(0 到 −39.7 µm)與孔、錐座(±35.6 µm)離開 0。距離超過 0.05 mm 的 2,899 個頂點中,2,856 個是輪輞車削面上的量測假象(不標記那一趟同一批、同一個值),43 個在孔與錐座的銳邊上。橫軸對稱 ±0.06 mm。HiNC 3.2.46 開發版(含誤差項)。

控制器知道誤差(不標記)

這一趟清掉 EX0C 的標記,開關仍開著,並打入與有標記那一趟相同的 G54 X 0.020。機台還是那一台 C 台偏了 20 µm 的機台,但控制器的模型裡有了這個偏移,等於運動學校正過的控制器。在 G43.4 下,控制器把 C 台真正的中心算進去,再用 X、Y 補回來。

  • 刀尖:157,412 個切削步與名目相差 ≤ 4.92×10⁻¹² mm;刀軸方向相差 ≤ 4.5×10⁻¹⁶。
  • 零件:99.944 % 的頂點離名目切削件 1 µm 以內;超過 0.05 mm 的 2,856 個頂點,全是輪輞上的量測假象(難題 4)。窗壁、輻條與孔的讀值都在 10⁻⁶ µm 以下。三個鏡頭的幾何差異畫面,都與對照趟逐像素相同。
  • 機械座標:B、C 與名目趟、有標記那一趟都逐位相同。X、Y 的差分成三組,各自對到自己的式子:
比較 式子與意思 量到 殘差
不標記減名目 (d, 0, 0):程式原點落在真正的 C 軸上,所以名目的運動整個往 +X 平移 20 µm 157,412 個切削步都是 ΔX = 20.000 µm,ΔY、ΔZ 為 0 ΔX 偏離 20 µm ≤ 4.7×10⁻¹² mm;ΔY ≤ 4.7×10⁻¹² mm、ΔZ ≤ 1.9×10⁻¹² mm
有標記減名目 RZ(−C)·(d, 0):打入的 G54 X 0.020 隨工作台轉;控制器看不到 EX0C 每個切削步長 20 µm(起點由機械零點內插出去的 141 步除外) ≤ 1.28×10⁻¹³ mm(切削步)
不標記減有標記(兩趟都打入 X 0.020) (d(1 − cos C), d·sin C):校正改變了 X、Y 位置的多少 長度 0 到 40 µm 逐軸 ≤ 4.8×10⁻¹² mm(全部 183,870 步,由兩趟的逐步序列直接相減)

計畫的預測是「不標記:機台 X、Y 多走 (d(1 − cos C), d·sin C),最多 40 µm」,比較對象是名目趟。實際量到的不一樣:這個式子描述的是不標記減有標記。相對名目趟,每個切削步的位置正好往 +X 多 20 µm——整段運動平移,每一步走的距離不變(難題 2)。

左格:機械座標減名目,每個切削步一點;不標記的點全部疊在 (+20, 0) µm,有標記的點落在以原點為圓心、半徑 20 µm 的圓上,黑色虛線是計畫寫的、以 (20, 0) 為圓心的圓;右格:各刀刀尖離程式的最大值,對數軸,有標記時 T2 0.04 mm、T3 與 T4 0.036 mm,不標記時最多 4.9×10⁻¹² mm

(a) 不標記(控制器知道誤差,橘)那一趟,157,412 個切削步的機械座標都比名目趟多 (+20, 0) µm。有標記(控制器不知道,藍)那一趟的差,只是打入的 G54 X 0.020 隨 C 轉。黑虛線是計畫寫的預測 (20(1 − cos C), 20·sin C) µm。(b) 各刀切削步上刀尖離程式的最大值(對數軸):有標記時 T2 0.040 mm、T3 與 T4 0.036 mm;不標記時 ≤ 4.92×10⁻¹² mm。HiNC 3.2.46 開發版(含誤差項)。

整輪斜視的原地交替:「控制器不知道誤差(標記)」那一幀,朝 −X 的窗壁紅、其他窗壁黃到紅、錐座一側紅一側藍;「控制器知道誤差(不標記)」那一幀全綠

整輪斜視(從 −X、−Y 上方看)的幾何差異,在同一台有 EX0C 的機台上原地交替兩趟:控制器不知道誤差(有標記),以及控制器知道誤差(不標記)。知道誤差的那一趟切回名目,畫面與對照趟逐像素相同。色階 ±0.04 mm(紅=過切、藍=留料、綠=0,正負同權重);0.5 mm;HiNC 3.2.46 開發版(含誤差項)。輪轂特寫與俯視也做了同一種交替;因為不標記那一幀與對照那一幀逐像素相同,看起來就和下一節的開/關交替一樣,只差標籤。

對照趟與比對畫面

對照趟(開關關、做幾何差異比對)其實就是名目趟再播一次:刀尖、機械座標與接觸在全部 183,870 步都逐位相同。它的 Diff--Stats 與不標記那一趟只差在沒量到的量測線,3,183 對 3,177;三個鏡頭的幾何差異畫面,也與不標記那一趟逐像素相同。

下面三張圖,都在同一個鏡頭下原地交替誤差項開(有標記)與誤差項關(對照)。

  • 畫面是把各趟記下的毛胚連同幾何差異放回畫布拍的,沒有重播。
  • 畫布上沒有介面文字,所以中英兩種介面的畫布擷取逐像素相同,只有標籤照語言不同。
  • 鏡頭是 HiNC 預設的俯視與等角視,再用滑鼠滾輪縮放。
  • 整輪斜視的這一張,是這一案的比較圖。

整輪斜視的原地交替:「誤差項開」那一幀朝 −X 的窗壁紅、其他看得到的窗壁黃到紅,錐座一側紅一側藍;「誤差項關」那一幀全綠

整輪斜視(從 −X、−Y 上方看)的幾何差異,原地交替誤差項開(有標記、打入 G54 X 0.020)與誤差項關(對照)。開的那一幀,朝 −X 的窗壁紅(過切到 −39.7 µm),其他看得到的窗壁依朝向呈黃色到紅色;朝 +X、維持綠色的窗壁背對這個鏡頭。五個錐座一側紅、一側藍。關的那一幀全綠。色階 ±0.04 mm(紅=過切、藍=留料、綠=0,正負同權重);0.5 mm;HiNC 3.2.46 開發版(含誤差項)。

輪轂與輻條 0 的斜視特寫,原地交替:「誤差項開」那一幀左上方輻條 0 的側面紅、五個錐座一側紅一側藍;「誤差項關」那一幀全綠

輪轂與輻條 0 的斜視特寫,原地交替誤差項開(有標記)與誤差項關(對照)。開的那一幀,左上方輻條 0 朝窗 0 的側面紅(−39.7 µm),五個錐座朝 27° 那一側紅、對側藍;關的那一幀全綠。色階、網格與版本同上。

整輪俯視的原地交替:「誤差項開」那一幀五個螺栓孔一側紅、一側藍,拔模窗壁只是一條窄帶;「誤差項關」那一幀全綠

整輪俯視(+Z)的幾何差異,原地交替誤差項開(有標記)與誤差項關(對照)。開的那一幀,五個螺栓孔一側紅、一側藍,因為整組往 27° 移了;7° 拔模的窗壁在俯視下只是一條窄帶。關的那一幀全綠。色階、網格與版本同上。

HiNC 仿真:誤差項開切出的整個輪圈,依它與名目件的偏差上色;T2 端銑刀裝在熱縮刀把上,傾斜停在左上方的窗 0 裡,旁邊輻條 0 的側面紅;右上角是 Df 色條

同一個場景拉遠:有標記那一趟的毛胚連同幾何差異,播完停刀程式之後的樣子。T2(Ø12 mm 端銑刀,裝在 80 mm 熱縮刀把上)傾 7° 停在窗 0,旁邊是輻條 0 朝向它的紅色側面。色階、網格與版本同上。

做幾何差異比對的四趟的 Diff--Stats
趟 回報的葉 比較前的表面葉 隨需展開 新節點 NaN 葉 量到的量測線 沒量到的量測線 目標三角形
有標記 6,952,184 5,460,057 727,427 2,219,554 61 27,702,729 7,735 10,923,368
對照 6,952,400 5,461,611 727,461 2,218,250 22 27,706,720 3,183 10,923,368
不標記 6,952,400 5,461,611 727,461 2,218,250 22 27,706,720 3,177 10,923,368
有標記,修剪(1 mm) 6,812,493 5,196,740 764,163 2,379,916 57 27,148,269 6,412 10,397,158

名目趟不做幾何差異比對。修剪的有標記趟比對的目標是 1 mm 名目趟切出的工件,所以目標三角形數不同。

執行成本

全部在共用的 32 執行緒伺服器上,以 HiNC 3.2.46 開發版(含誤差項)的私有實例執行:

播放 網格 步數 牆鐘時間 記憶體峰值(VmHWM)
名目,修剪 1 mm 183,870 260.2 秒 9.46 GiB
有標記,修剪 1 mm 183,870 280.3 秒 19.74 GiB(同一實例的第二趟,所以含名目修剪趟)
名目 0.5 mm 183,870 330.3 秒 10.65 GiB
對照 0.5 mm 183,870 345.3 秒 15.38 GiB
有標記 0.5 mm 183,870 350.3 秒 17.69 GiB
不標記 0.5 mm 183,870 350.4 秒 17.80 GiB
  • 記憶體峰值。 VmHWM 是行程常駐記憶體的最高水位。全量每趟開始前都重啟實例,所以 VmHWM 是那一趟自己的峰值,包含幾何差異、匯出與毛胚紀錄。兩趟修剪在同一個實例上接著跑,所以修剪有標記趟的值是兩趟累積的峰值,不能拿來和全量比。換算方式:GiB = bytes ÷ 2³⁰。
  • 幾何差異與毛胚紀錄的記憶體。 有三趟做比對並記錄毛胚,它們的峰值比名目趟多 4.73 GiB(對照)、7.04 GiB(有標記)與 7.15 GiB(不標記)。比對的目標是 1,092 萬個三角形的名目切削件。這些增量不全是比對本身:

    • 名目趟有匯出,但沒有記錄毛胚。
    • 對照趟有記錄毛胚,但沒有匯出。
    • 有標記與不標記兩趟兩樣都做。
    • 有標記與對照做的是同樣的比對,峰值還是相差 2.31 GiB。
  • 牆鐘時間從開始播放算到第一次輪詢讀到 Finished,所以包含匯出、比對與記錄毛胚。狀態每 5 秒輪詢一次,所以牆鐘時間可能晚到 5 秒。

  • 合計:六次播放共 1,916.8 秒,約 32 分鐘;全量四趟 1,376.3 秒,約 23 分鐘。2026-10-06 的時間線:建置 20:24:10–20:24:14,修剪 20:24:14–20:33:35,全量 20:35:15–20:59:29。
  • 伺服器不是這一案獨用的。 修剪兩趟播放時,另一個實例幾乎整段都在播另一個代理研究的 0.25 mm 全量。對照趟的最後約 44 秒與有標記趟的前約 2.3 分鐘,碰上那一項研究為了拍刀把圖而重播的那一趟。這幾趟的牆鐘時間含那份負載;名目與不標記兩趟播放時,旁邊沒有這樣的播放。VmHWM 是各實例自己的峰值,不受影響。

它說明了什麼

對加工工程師。

  • C 台中心只偏 20 µm,五軸側銑的輪圈就讓每支輻條細約 40 µm,看起來就像刀具半徑大了 20 µm。所以輻條變細不一定是刀具或刀補出了問題,也可能是 C 台中心。
  • 對刀只吃得掉對刀那個姿態的偏移,這裡是 C 0。在 C 0 切的粗銑完全不受影響。
  • 三軸的工作只要停在對刀角度以外的 C,誤差一樣會切進零件。這裡是鑽孔與錐座:五孔整組偏 36 µm,螺栓圓不再與中心孔同心。垂直的工作應拉回對刀時的 C,否則就要先把運動學校正好。
  • 運動學校正過的控制器能把誤差整個補回來。差別只在每個切削步的 X 位置,都比名目趟往 +X 多 20 µm:整段運動平移,每一步走的距離不變。
  • 在 HiNC 裡,可以把一台機量到的常數誤差放進它的模型;上機之前,就看得到這個誤差在自己零件上的樣子與大小。

對老師或學生。

  • 旋轉軸的位置誤差怎麼變成刀尖偏移 δ = (I − R(C))·d,以及 δ 為什麼只看 C。
  • δ 可以拆成「整個平移 d」加上「沿牆面法向每一面多切 d」,所以它既像窗整個移了位,又像刀具半徑錯了。
  • 表面只留下偏移的法向分量:朝 +X 的牆完全不動,拔模面上的偏差還要再乘一次 cos 7°。
  • 標記與不標記,分別對應沒校正與校正過的運動學。
  • 真機的對刀,與 HiNC 在名目鏈上量的 P0 不一樣。
  • 比機械座標時,要拿工作偏移相同的那一趟比。

對評估這種做法的人。

  • 成本。 建置加六次播放,約 32 分鐘的伺服器時間。全量每趟的記憶體峰值最高 17.80 GiB;做比對並記錄毛胚的三趟,峰值比名目趟多 4.73–7.15 GiB,但不全是比對本身(見上文)。
  • 預測。 預測在第一次播放前就寫好:

    • 刀尖公式在每個切削步都對到 1.58×10⁻¹³ mm 以內。
    • 平面窗壁與輻條對到 0.02 µm 以內。
    • 螺栓圓平移的長度對到 0.008 µm、方位對到 0.04° 以內;預測與量到的中心位置向量相差 0.03 µm。
  • 沒中的地方。 都照量到的寫:不標記的機械座標該拿哪一趟比、對照趟沒有切削件、標準 6d 照原文逐點判沒過,以及 ±0.6 mm 的量測假象。

誠實的限制

  • 只放了一個誤差。 這一案只有 EX0C。真實的 C 台同時還有別的誤差:Y 向的位置誤差、C 軸對 X 與對 Y 的傾斜,以及隨角度變化的徑向跳動與擺動。誤差項只能表達常數誤差,表達不了隨位置變化的誤差(定位、真直度、體積誤差表)、背隙、伺服不匹配與熱變形(機台幾何誤差)。
  • 大小與正負號是選的。 20 µm 是典型值,這台通用機從沒量測過。如果正負號取 −X,所有偏差都會反過來:朝 −X 的牆會留料 39.7 µm,每支輻條各粗約 40 µm,孔會往 207° 移。
  • 對刀是手動打入的,對刀角度是假設的。 HiNC 的 P0 在名目鏈上量,不會像真機的對刀那樣把誤差吃進去;誤差開的兩趟用的 G54 X 0.020 是推算出來的。對刀假設在 B = C = 0;如果在別的 C 對刀,整個偏差圖樣會跟著轉。
  • 孔的結果只屬於這支 NC。 T3、T4 跑在 C −3366°,正是 T2 結束時的角度;這個角度是 HiNC 由刀位點寫回的程式帶下來的(設計代理的判讀)。換一個把垂直鑽孔寫成 C 0 的後處理,孔就不會動。
  • 只看幾何。 物理關,所以沒有切削力、撓曲與熱。原案例 T2 精修的撓曲本來就不在去料幾何裡,所以這裡量到的偏差只來自誤差項。
  • 0.5 mm 網格的讀法。

    • 銳邊旁讀不準:移位後的孔與錐座銳邊上,有 43 個頂點讀到 +0.050 到 +0.061 mm,所以特徵的擬合只用離邊 0.75 mm 以外的頂點。
    • 曲面上,兩個多面體網格互量,讀值會依曲率偏一點:凹的轉角圓角(R12)殘差中位數 −0.07 µm(各段最低 −0.22),凸的內弧 +0.01 µm(各段最高 +0.04),孔壁平均 −0.31 到 −0.40 µm。
    • 輪輞上的 2,856 個頂點是量測假象(難題 4)。
  • 對照趟沒有自己的切削件。 它的雜訊底改用難題 5 的替代證據判。

  • 幾何差異的目標三角形比 STL 少 160 個。 HiNC 讀入名目切削件後回報 10,923,368 個目標三角形,離線讀同一個 STL 得到 10,923,528 個;成因沒查。
  • 紀錄缺了幾項。

    • 插入 EX0C 之後從檔案重開誤差項專案時的載入訊息沒有留下:執行紀錄不收,播放日誌只留含 error 等字樣的行。
    • 案例在誤差項資料夾以外的檔案有沒有變,沒有核。
    • 警告以下的訊息沒有收,因為紀錄只收警告以上。
  • 牆鐘時間含其他負載,而且是輪詢的(見上文〈執行成本〉)。

讀者可以帶到自己案例的

  • 把誤差放在一條自己的連接上,緊接在它所屬那一軸的上游。 那一軸自己的運動、值與角色都照舊(誤差項放在哪裡 (Where an Error Term Goes),英文,未鏡像)。
  • 手動打入對刀會量到的工作偏移。 HiNC 的 P0 在名目鏈上量,真機的對刀卻會把對刀姿態下誤差造成的偏移吃進去。從機台鏈推出這個偏移,再拿對刀姿態下切的工作核對。這裡全在 C 0 的 T1,刀尖與名目相差 ≤ 8.99×10⁻¹⁴ mm(程式原點對齊)。
  • 第一次播放前先預測刀尖偏移,有封閉形式就寫封閉形式。旋轉軸的位置誤差給出 δ = (I − R(C))·d。它只看 C,所以每把刀的每一步都能拿來核對。
  • 先證明兩趟的步對得上,再逐步比較。 這裡 0.5 mm 的四趟步都相同,每一步的檔案、行號、刀號與接觸也相同;1 mm 的兩趟檔案、行號與刀號相同,接觸有 5 步不同。不是這樣時,就照手冊說的,以時間或機械座標來比。
  • 比機械座標,要拿工作偏移相同的那一趟比。 只有那時,「開關不改機械座標」才成立。
  • 以名目切削件當理想幾何。 這樣幾何差異才只顯示誤差,不含刀路本身的痕跡。
  • 用一趟應該什麼都不變的執行量雜訊底,任何極值都先在頂點資料裡核對過,再說它是什麼造成的。 這裡 ±0.6 mm 的極值,在一趟切出名目件的執行裡也一模一樣。
  • 讀程式在三軸工作時把 C 停在哪裡。 在對刀角度以外的 C 鑽孔,會把旋轉軸的位置誤差帶進零件。
  • 逐步公式用粗網格驗,細網格留給零件與畫面。 1 mm 與 0.5 mm 的刀尖與機械座標逐步相同。
  • 替幾何差異與毛胚紀錄預留記憶體。 這裡兩樣都做的三趟,峰值比名目趟的 10.65 GiB 多 4.73 到 7.15 GiB。

來源與授權

  • 輪圈尺寸數字:ANKUSI Open Wheel Fitment Dataset: bolt pattern, centre bore and OE wheel specifications for 7,603 vehicle variants,ANKUSI Wheels 工程團隊,figshare,第 4 版,2026-09-20,https://doi.org/10.6084/m9.figshare.33921994。授權:CC BY 4.0。連結失效時的搜尋詞:ANKUSI Open Wheel Fitment Dataset、figshare 33921994。
  • 輪緣高度:德文維基百科,Autofelge,「Form J, entspricht einer Höhe von 17,3 mm」。
  • 出處標示:「Wheel size numbers from the ANKUSI Open Wheel Fitment Dataset (ANKUSI Wheels engineering team, figshare, doi:10.6084/m9.figshare.33921994, CC BY 4.0). Wheel design by Tech Coordinate's agent.」資料集依現狀提供,不附任何保證。
  • 使用與修改了什麼:

    • 只用了三個數字,CSV 本身沒有保留。
    • 輪圈設計、毛胚、夾具、機台、主軸與每一條刀路都出自代理之手,見輪圈的案例頁。這不是任何廠牌的輪圈,也不指明任何車款。
    • 誤差的種類、大小、正負號與對刀方式是代理選的。EX0C 是 ISO 230-1 與 ISO 230-7 對這個誤差的代號;數值不是任何機台的量測。
    • 本頁沒有重製任何第三方的圖:畫面都是 HiNC 的擷取,圖表畫的是 HiNC 的逐步結果與切削網格。
    • 本頁的一切都是仿真;沒有切過任何輪圈。

另見