跳轉到

NISTIR 6868 試件切在原機台以雷射球桿量到的 X–Y 垂直度上:兩排方孔差 6.87″ 不垂直,圓槽成了 1.64/1.69 µm 的橢圓

2002 年,NIST 的 David Gilsinn 與美國空軍研究實驗室(AFRL)的 Alice Ling 發表 NISTIR 6868:一間生產現場的機械加工廠,在同一台三軸立式加工中心上切了 21 件同一個試件。他們先用雷射球桿(LBB)量那台機台的誤差,X–Y 垂直度量了五趟:−6.99、−6.43、−7.39、−6.76、−6.79 角秒,平均 −6.872″(Table 1)。21 件零件再用三次元量床(CMM)量:兩排銑過的孔,以孔心擬合出的正交度平均 −1.06″;圓槽內緣與外緣的真圓度是 21.0 與 26.0 µm。

報告沒有 CAD 模型,也沒有 NC 程式。所以一個 AI 代理 (agent) 先照報告的 Figure 2 與附錄 A,重新建出試件、四支 Fanuc 程式與 HiNC 專案,再把量到的垂直度做成一條誤差項,放在 HiNC 三軸骨架機台 Y 軸的正上游。程式一個字都沒改,在 HiNC 3.2.46 開發版(含誤差項)上以 1 mm 網格播四趟、0.25 mm 播三趟:

  • 誤差項關:名目趟。它切出的工件,是之後每一次幾何差異比對(Diff)的理想幾何。
  • 誤差項開、有標記:控制器不知道這個垂直度,就像一台沒有補償它的機台。這一趟打入真機碰數(對刀)會找到的 G54 (−585, −456, −561),也就是專案原本的值。
  • 誤差項再關一次,並做 Diff:對照趟,用來量雜訊底。
  • 誤差項開、清掉標記:控制器知道這個垂直度。這些是一般三軸 G54/G43 程式,標不標記應該切出同一個零件,所以只在 1 mm 播一趟當證據。

結果:

  • 刀尖。 每趟 55,493 步。有標記那一趟,每一步的刀尖偏移都等於 δ = (X(cos g − 1), k·X, 0),相差不到 2.07×10⁻¹³ mm;k = 3.3316×10⁻⁵,意思是程式叫刀走到 X 時,刀實際往 +Y 偏 k·X。切削步的 Y 偏移在 −0.17 到 +5.17 µm 之間。開、對照與不標記三趟的機械座標,每一步都與名目趟相同。
  • 方孔與正交度。 24 個方孔都往 +Y 平移 k·x_c:從孔心 x 10 的 0.333 µm 到 x 140 的 4.664 µm,與預測差不到 0.0017 µm。用報告自己的式 42–44 擬合兩排孔心,正交度 Δθ = −6.8717″;放進去的是 −6.872″。3 號孔到 15 號孔的對角長了 3.061 µm,3→9 與 9→15 不變。
  • 150 mm 方框。 南牆的過切與北牆的留料都與 x 成正比,到 x 148–150 那一格是 −4.96 與 +4.95 µm;東西兩牆不動。方框變成一個差 6.87″ 的平行四邊形。
  • 圓槽。 整圈往 +Y 平移 2.50 µm,再疊上一個橢圓:仿真的真圓度內緣 1.640 µm、外緣 1.691 µm。計畫用牆的半徑預測成 1.483/1.849 µm,所以它的第 10 條標準照字面在內牆不通過。牆面吃的其實是切出它那一刻的刀心偏移,而刀心走在半徑 49.2625/50.7375 mm 的圓上;用這兩個半徑算,雙瓣項 b2 與量到的差不到 0.0008 µm。
  • 控制器知不知道,都是同一個零件。 1 mm 清掉標記的那一趟與有標記那一趟逐位相同:刀尖、機械座標,以及切削件的 54,834 個頂點。
  • 跟報告比。 仿真零件讀到的就是放進去的 −6.87″。CMM 平均 −1.06″,相差 5.8″(130 mm 上 3.7 µm),是它擴展不確定度 18.1″ 的 0.32 倍:在不確定度內,不是吻合。報告自己的模型 −5.10/−4.68″ 另含直線度與偏擺。這個垂直度只占 CMM 量到的真圓度的 6.5–7.8%;CMM 量到孔距 9→15 變了 −11.16 µm,它一點也解釋不了。

這裡的一切都是仿真,沒有切過任何零件。

HiNC 仿真:誤差項開那一趟切出的工件連同 Diff 放回畫布,由前方上方看;T2 3/8 吋端銑刀與 ER32 筒夾刀把停在圓槽右側上方的空中;方框南牆與方孔的北牆由左邊的綠漸變到右邊的橘,圓槽遠側外牆與近側內牆偏黃

有標記那一趟記下的毛胚,連同它的 Diff 放回畫布,再播停刀程式 NC/pose-t2.nc(不切削):T2(3/8 吋端銑刀,伸出 30 mm)與 ER32 筒夾刀把停在圓槽上方的空中,刀尖在 X125 Y75、頂面上 5 mm。由前方上方往 +Y 看,朝鏡頭的牆——方框南牆與每個方孔的北牆——由左邊(小 x)的綠漸變到右邊(大 x)的橘:過切,最多約 −5 µm;圓槽遠側的外牆與近側的內牆偏黃(約 −2.5 µm)。Diff 色階 ±0.006 mm(紅=過切、藍=留料、綠=0,正負同權重);0.25 mm 網格;HiNC 3.2.46 開發版(含誤差項)。

0.25 mm、誤差項開對關,HiNC 3.2.46 開發版(含誤差項) 第一次播放前的預測 仿真量到 報告的 CMM,21 件
刀尖減名目刀尖再減 δ,全部 55,493 步 0(計畫容許 1×10⁻⁹ mm) 最大 2.06×10⁻¹³ mm —
24 個方孔的孔心平移 dy k·x_c,+0.333 µm(x 10)到 +4.664 µm(x 140) 與 k·x_c 差不到 0.0017 µm —
照報告式 42–44 的正交度 Δθ −6.872″ −6.8717″ −1.059″(擴展不確定度 18.10″)
孔距的變化 3→9/9→15/3→15 0/0/+3.0625 µm −0.0011/−0.0009/+3.0610 µm 0.00/−11.16/−5.40 µm(不確定度約 19 µm)
150 mm 方框,南牆/北牆沿 x 的斜率 −0.03332/+0.03332 µm/mm −0.03334/+0.03332 µm/mm —
圓槽的雙瓣項 b2,內緣/外緣 用牆半徑:+0.7413/−0.9245 µm(播放後才找出的刀心半徑預測:+0.8206/−0.8452 µm) +0.8199/−0.8453 µm —
圓槽的真圓度,內緣/外緣¹ 用牆半徑:1.4826/1.8491 µm(播放後才找出的刀心半徑預測:1.6412/1.6904 µm) 1.6398/1.6906 µm 20.99/26.02 µm
對照趟對名目切削件 0 逐步序列逐位相同;14 個距離搜尋的假象精算為 0 之後,每個頂點都在 5.0×10⁻¹⁰ mm 內 —

¹ 仿真的真圓度是二次諧波的峰谷值;報告的是對最佳擬合圓的最大半徑減最小半徑。只能比大小。

案例

這份報告(見下面的來源與授權)是唯一的來源:一份 100 頁的掃描 PDF,沒有 CAD 模型、沒有 NC 程式,也沒有資料集;每個數字都印在報告裡。代理拿到的:

  • 機台(3.1 節):三軸立式加工中心,行程 X 1020、Y 762、Z 560 mm,程式解析度 0.001 mm;廠牌、型號與控制器都沒寫。報告的模型(4.1 節)是 Y 滑座帶著 X 滑座。
  • 它的誤差:X–Y 垂直度的五趟 LBB 量測,平均 −3.33×10⁻⁵ rad(Table 1);其他誤差在零件範圍內的線性趨勢——X、Y 的比例誤差、直線度與偏擺(Table 2)。
  • 試件:Figure 2,一張掃描的圖;Table A1 的 24 個孔心;圓槽兩緣的名目點(Tables A2、A3)。
  • 比對值:模型的預測(Tables 5–8、17)與 21 件的 CMM 結果(Tables 13–16)。
  • HiNC 的骨架機台 Empty-wXYOZSt,一條沒有外形的三軸鏈(見沒有模型的機台):工作台帶 X 與 Y(Y 滑座疊在 X 滑座上),主軸頭帶 Z。報告的機台是 X 疊在 Y 上;零件記下的是兩個運動之間的夾角,哪一軸在上都一樣。
  • 誤差項做什麼。 機台的軸或主軸可以帶一個誤差項,也就是緊接在那根軸的連接之前、一條自己的連接:它帶的是量到的誤差,不是設計值。控制器(XyzabcSolver,負責把 NC 轉成機械座標)一律在名目鏈上解,把標記的連接當作沒有變換;專案的「啟用誤差項」開關開著時,仿真的機台帶著標記的連接移動、切削、檢查碰撞。所以誤差會切進零件,就像一台控制器不知道自身誤差的真實機台:開關開與關,每一步的機械座標都一樣,不一樣的是刀尖、切削與碰撞(見誤差項連接 (Error-Term Branches),英文,未鏡像)。沒有 RTCP、傾斜工作平面或 CL 播放時,鏈上的每一個誤差都會切進零件,標不標記都一樣。
  • 碰數與 P0。 HiNC 的程式零點量測 P0 在名目鏈上量;真機碰數時,會把碰數姿態下的固定偏移吃進 G54。要重現一間工廠的結果,手冊建議手動打入那間工廠量到的工作偏移(見有誤差項的機台上的工作偏移)。
  • 要求:HiNC 的產品擁有者要誤差項的實作案例,產品案與論文案都可以,重的工作放到共用伺服器上跑,並同意把這份報告的試件做成其中一案。擁有者的裁定:誤差項只放在角色連接(X…C 軸或主軸)的正上游,一個誤差一條連接,放在以該軸命名的專屬錨點上(這裡是 Yerr)。

沒有人說明的:

  • 板子多大、多厚,外圈的孔鑽多深:圖上沒有數字(難題 1)。
  • 刀具、材料、夾具、加工順序與 NC:報告都沒寫,全部是選的。
  • 能不能在這裡放報告的圖:第二作者的身分查不到(難題 2)。
  • 正負號:報告的模型是 X 疊在 Y 上,HiNC 的骨架是 Y 疊在 X 上;報告的 α 放進這副骨架要取哪個號,要從兩邊的定義推(難題 3)。
  • 樞軸放在哪,G54 才不必改(難題 4)。
  • 0.25 mm 的網格讀不讀得到 1.5 µm 的橢圓:格寬 250 µm,大約是橢圓的 150 倍。

這一案新的地方:

  • 誤差與零件出自同一台機台、同一份報告。 LBB 量的,就是切那 21 件的機台。所以仿真的零件可以用報告自己的方法讀——式 42–44 讀正交度、Table 13 的三段孔距——圓槽的橢圓則以二次諧波的峰谷量,再放到報告的模型與 CMM 旁邊比。
  • 圓槽的橢圓跟著刀心半徑走。 計畫用錯了半徑;它的標準照字面判為不通過,另外寫出更正後的預測與量到的差。
  • 鑽孔與方孔一起平移。 報告把外圈的孔銑成方孔,是為了比較銑孔與鑽孔的中心(3.2 節);這個比對看不到垂直度。

重複驗證,不算新:清掉標記的那一趟實際播了(1 mm),和同一批的真圓度試件案例一樣,切出的零件與有標記那一趟逐位相同。

代理建了什麼

每個值都標明出處:讀取(報告寫明的)、量取(在報告的掃描圖上量的)、推得(由讀到的值算出)或自選(代理決定的)。

基底專案,2026-10-07 經 HiNC 的 Web API 建成;這個試件沒有已驗收的案例可以往上加:

  • 試件,由一支腳本照 Figure 2 與 Table A1 寫出:

    • 內側 150 mm 方框,牆高 7 mm(section AA);程式零點在方框左下角的頂面(5.1 節)(讀取)。
    • 24 個孔先鑽 9.525 mm(3/8 吋),再銑成 12 mm、R4.7625 圓角、深 7 mm 的方孔;孔心的 x、y 取 10、28、43、68、92、120、140 mm(讀取)。編號照報告:3 號在 (10, 10);下排往右是 26…21,21 號在 (140, 10);右排往上 20…15,15 號在 (140, 140);上排往左 14…9,9 號在 (10, 140);左排往下 8…4。
    • 圓槽繞 (75, 75),R44.5 到 R55.5,深 7 mm(讀取)。
    • 板子約 196 × 165 × 19 mm;方框與兩側夾持凸緣之間的帶(x −10…0 與 150…160,深 7 mm);外圈的孔全徑鑽到 12.7 mm(量取:在掃描圖上對照標註的尺寸量;掃描圖不等比,橫向 5.73、縱向 5.09 px/mm)。
    • 圓槽內的四個小凸台不做:報告沒有任何比對用到它們(自選)。
  • 程式,五支 Fanuc 語法,代理自己寫的(自選):

    • NC/nist-t1-drill.nc:T1 鑽 24 個孔(230 行)。
    • NC/nist-t2-square.nc:T2 把方框外的帶銑到 7 mm 深,兩層各 3.5 mm,順銑、順時針,每層再各掃一次兩側的凸緣牆(52 行)。
    • NC/nist-t2-pockets.nc:T2 把 24 個孔銑成方孔,一刀到 7 mm,順銑、逆時針(302 行)。
    • NC/nist-t2-slot.nc:T2 在圓槽中心線上螺旋下刀,再銑內緣(逆時針)與外緣(順時針),方向照報告 5.4 節(28 行)。
    • NC/pose-t2.nc:拍刀把用的停刀程式,每一趟都停用。
  • 刀具、刀把、材料與夾具(自選):

    • T1:3/8 吋 118° 鑽頭,伸出 60 mm,S2500 F375。
    • T2:3/8 吋兩刃碳化鎢端銑刀,伸出 30 mm,S10000 F1000;它的半徑正是圖上的 R4.7625 圓角。
    • 兩支都裝在 SK40 的 ER32 筒夾刀把上,刀長 130 與 100 mm。
    • 材料 Al6061-T6,板下墊一塊 240 × 200 × 20 mm 的板。每一趟都關閉物理,這些選擇都不影響這一案比的幾何誤差。
  • 機台設定:行程 X −1020…0、Y −762…0、Z −560…0 mm(讀取);板子置中在台面上,由此得到 G54 (−585, −456, −561)(推得)。

  • 基底的驗收:存檔重開沒有訊息,重設後按 P0 讀回 G54;1 mm 粗跑 55,493 步,30 s 後以 Finished 結束,訊息只有 4 則 Sys-Init--FileLines,沒有碰撞;快移沒有一行碰到料,鑽孔與銑削的進給行除了空中下刀、沿鑽好的孔下刀與回中心,全部碰到料;切深峰值 7 mm。四支程式的仿真加工時間是 442 s。

誤差項,放在從基底專案另存的誤差項專案上(程式一併複製);這個專案只經 Web API 修改:

XYsq:X–Y 垂直度
意義 +X 與 +Y 行程的夾角是 90° + α。在工件座標裡,X 行程朝 +Y 斜了 6.87″,Y 行程不動:程式叫刀走到 X 時,刀實際落在 Y 方向多 k·X 的地方
值 α = −0.0019088889° = −6.872″ = −3.3316×10⁻⁵ rad(讀取:Table 1 五趟的平均,報告印成 −3.33E-05 rad)
位置 Y 軸正上游:新錨點 Yerr 把 X→Y 切成兩段;X→Yerr 放繞 (0, 0, 1) 的靜態旋轉並標記;Y 軸原本的變換器留在 Yerr→Y(在擁有者的裁定之內自選)
樞軸 (−585, 0, 0),X 錨點的座標:碰數姿態時刀軸所在(推得,難題 4)
正負號 由報告自己的定義推得(難題 3)
  • 量級照報告,不放大。 五趟在 −6.43 到 −7.39″ 之間,估計的標準差 1.67×10⁻⁶ rad(0.34″)。報告的模型另有 X、Y 的比例誤差(Table 2 斜率 −1.89×10⁻⁵、−1.823×10⁻⁵)、直線度與偏擺;它們隨位置變化,不是一條固定的剛體變換,誤差項放不進來。計畫推算過:Table 2 直線度的線性部分若也算進來,有效垂直度約 −5.3″,報告沒有印這個數。
  • 建置後讀回的機台鏈:台側 O→base→X→Yerr→Y→w,刀側 base→Z→S→t。Y 軸的動態平移(軸 (0, −1, 0))原值搬到 Yerr→Y,並重新繫結 Y 軸角色;這條連接的 guid 換了新的。其餘六條機台連接(NewAnchor-001、X、Z、NewAnchor-006、NewAnchor-005、tooling-location)的名稱、兩端、種類、角色與 guid 都沒變。專案有 11 條連接與基底逐值相同;Y 只差在起點從 X 改成 Yerr,XYsq 是新增的。
  • 正負號(推得):

    • 報告的模型把垂直度寫成 E_x = −y·α(式 9);零件的正交度定義成 Δθ = θ2 − θ1,θ1 是下排孔心擬合 y = β0 + β1·x 的斜率,θ2 是左排孔心擬合 x = β0 + β1·y 的斜率取負(式 42–44)。只放 α 時,Δθ = α。
    • 拿 Table 2 的係數把報告整個模型重算一次,十四個孔的 Δθ = −2.475×10⁻⁵ rad = −5.10″,正是 Table 5 的值,所以這些定義讀對了。
    • 這副骨架上,在 Y 的上游繞 +Z 轉 g,Y 行程連同工作台一起轉。在零件座標裡,X 行程斜了 −g,Y 行程不動,刀尖偏移 (X(cos g − 1), −X·sin g, 0)。於是下排孔心連線的斜率是 −sin g,左排是 0,Δθ = +g;取 g = α = −6.872″,零件讀出的就是報告的號。同一批的真圓度試件案例,在同一副骨架、同樣的放法上驗過這條式子(相差不超過 1.24×10⁻¹³ mm)。
    • 換成白話:k = −sin g = 3.3316×10⁻⁵,也就是每公尺 33.3 µm。程式叫刀走到 X 時,刀實際往 +Y 偏 k·X;+X 與 +Y 行程的夾角是 90° − 6.87″。在零件上,下排孔心往 +X 漸漸抬高,左排不動,左下角比直角小 6.87″。
  • 樞軸(推得):碰數姿態(刀尖在程式零點)時,刀軸在 X 錨點座標系裡的位置,(G54 x, 0, 0) = (−585, 0, 0)。旋轉繞著這條軸轉,程式零點不動,所以真機碰數找到的仍是 G54 (−585, −456, −561);開與不標記兩趟打入的就是這個值。

HiNC 拓樸圖的工具機叢集:台側 O、base、X、Yerr、Y、w,X 與 Yerr 之間的 XYsq 畫成粗線、帶橘色「誤差項」徽章,Yerr 到 Y 的 Y 標「工具機・Y 軸」;刀側 base、Z、S、t;下方放大 X 到 Y 這一段

設備頁拓樸欄的工具機叢集(GeneralMechanism)。X 與 Y 之間多了錨點 Yerr。XYsq 是 X→Yerr 上的靜態旋轉(值見上表),畫成粗線、帶橘色「誤差項」徽章;Y 軸的動態平移在 Yerr→Y,仍是 Y 軸。下方是同一張擷取 X→Yerr→Y 這一段的放大。HiNC 3.2.46 開發版(含誤差項),繁中介面。

預測,在第一次播放前寫下:

  • 刀尖。 X 是名目趟刀尖在程式座標的 x,k = −sin g = 3.33164×10⁻⁵:δ = Cl(開) − Cl(名目) = (X(cos g − 1), −X·sin g, 0) = (−5.55×10⁻¹⁰·X, k·X, 0)。偏移與 Y、Z 無關;X = 0(程式零點,也就是碰數點)時為 0,X 140 處 Y 方向 +4.664 µm。打入的 G54 與名目相同,所以四種趟的機械座標逐步相同。
  • 零件表面,以開對名目的帶號距離 d 表示(正=留料、負=過切):

    • 方孔整個平移 (0, k·x_c):下排 3、26、25、24、23、22、21 是 0.333、0.933、1.433、2.266、3.065、3.998、4.664 µm;左排 3–9 都是 0.333 µm;15 號 4.664 µm。孔的南牆 d = +k·x_c(留料),北牆 −k·x_c(過切),東西牆 0。
    • 正交度(式 42–44,由 14 個方孔中心擬合):θ1 = +k、θ2 = 0、Δθ = −k = −6.872″。
    • 150 mm 方框:南牆 d = −k·x、北牆 +k·x、東西牆 0。
    • 圓槽:計畫寫內牆 d(φ) = k(75 + 44.5 cos φ) sin φ、外牆 d(φ) = −k(75 + 55.5 cos φ) sin φ,φ 是繞 (75, 75) 的方位角。諧波擬合後是 b1 = ±2.499 µm、b2 = +0.741/−0.925 µm,仿真的真圓度 2|b2| = 1.483/1.849 µm。式子裡的半徑,後來發現應該是刀心半徑(難題 5)。
    • 孔距:3→9、9→15 不變(只差二階的 7×10⁻⁸ mm);3→15 +3.063 µm;9→21 −3.063 µm。
    • 底面(刀底切出的)與沒切到的頂面:0。
    • 84 個特徵盒子,每個都有預測的有號平均。

播放:

趟 網格 誤差項開關 XYsq G54 做什麼
t-nominal 1 mm 關 有標記(不生效) 專案的 (−585, −456, −561) 修剪:名目;匯出 1 mm 名目切削件(107,570 個三角形)
t-on 1 mm 開 有標記 打入 (−585, −456, −561) 修剪:開;做 Diff;匯出切削件
t-control 1 mm 關 有標記(不生效) 專案的 修剪:對照;做 Diff;匯出切削件
t-unmarked 1 mm 開 清掉標記 打入 (−585, −456, −561) 修剪:控制器知道誤差;做 Diff;匯出切削件
f-nominal 0.25 mm 關 有標記(不生效) 專案的 匯出名目切削件,設成理想幾何
f-control 0.25 mm 關 有標記(不生效) 專案的 做 Diff;匯出切削件(雜訊底)
f-on 0.25 mm 開 有標記 打入 (−585, −456, −561) 做 Diff;匯出切削件

每一趟都物理關、碰撞偵測開(失敗時不暫停),只播四支切削程式,停刀程式 NC/pose-t2.nc 停用;Diff 偵測半徑 1 mm,色階 ±0.006 mm。除了兩趟名目,每一趟都把最後的毛胚記下來,拍圖時連同 Diff 放回畫布。

代理怎麼管理這件工作

  • 標準先寫。 計畫、預測與十二條編號的標準,在第一次播放前 40 s 提交;每一條都照原文判定。
  • 建置與碰數在第一次播放前核完。 誤差項專案由基底另存,只經 Web API 修改;拓樸、值、角色與 P0 都在任何播放之前核過(第 1、2 條)。
  • 先粗後細。 修剪組不剪程式,只把網格放粗到 1 mm:四趟、每趟約 30 s,以這一組自己的 1 mm 名目切削件為理想幾何,驗步數、機械座標、逐步公式、對照趟與不標記那一趟(第 1–7 條)。之後整件以 0.25 mm 播名目、對照、開三趟。
  • 每一趟都用新的實例。 每趟開始前重啟實例,所以每個記憶體峰值都是那一趟自己的。
  • 名目切削件當理想幾何。 名目趟匯出它切出的工件(0.25 mm 下 1,346,250 個三角形),設成每一次 Diff 的理想幾何,偵測半徑 1 mm;這樣 Diff 只剩誤差造成的差,不含刀路本身的痕跡。
  • 數字從網格與紀錄算。 其他每一趟也匯出切削件,逐個頂點量到名目切削件,得到帶號距離;一支腳本從播放紀錄判第 3–12 條,一支分析腳本從紀錄重算數字並附上出處;距離搜尋讀得最遠的頂點,另外對名目切削件逐三角形精算。
  • 拍圖不重播。 Diff 與刀把的畫面以兩種介面語言各拍一套:把一趟記下的毛胚連同 Diff 放回畫布;刀把的畫面再加播停刀程式。
  • 共用一台伺服器。 每一趟都在共用的 32 執行緒伺服器上的私有實例裡播。整件那三趟,每趟約 100 s、3 GB 以下,一趟一趟在重工作的共用驗收佇列之外播;計畫事先就允許推估 5 分鐘、10 GB 以內的播放這樣做。
  • 人在哪裡介入。 HiNC 的產品擁有者要誤差項的實作案例,論文案也收;看過文獻搜尋後,同意加上這份報告的試件;並裁定誤差項只放在一根軸或主軸的正上游,每個誤差一條標記的靜態連接。試件、程式、在這個裁定之內誤差放在哪裡、它的正負號與樞軸、預測與標準,都是代理自己定的。

難題

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

1. 報告只有掃描的圖與數字表:基底只靠報告建起來

  • 情況。 NISTIR 6868 沒有 CAD、沒有 NC,也沒寫板子的大小與厚度、外圈的孔鑽多深、材料、刀具、切削條件、加工順序與夾具。Figure 2 是掃描的圖,而且不等比(橫向 5.73、縱向 5.09 px/mm)。
  • 風險。 重建的試件若與報告的不同,正交度、圓槽與孔距就不再是報告量的那件事。
  • 怎麼發現。 建案前讀報告時。
  • 解決。 報告標了的尺寸與表照用:150 mm 方框、Table A1 的孔心、12 mm 方孔與 R4.7625 圓角、Tables A2、A3 繞 (75, 75) 的 R44.5/R55.5,以及 section AA 的 7 mm。板子、帶與外圈孔的鑽深,在掃描圖上對照標註的尺寸量;四個小凸台不做。刀具選 3/8 吋鑽頭與 3/8 吋端銑刀,端銑刀的半徑正是圖上的 R4.7625。每個值都記下它是讀取、推得、自選還是量取的。報告比的三樣東西——兩排方孔、150 mm 方框與圓槽——都照圖做。
  • 證據。 基底 1 mm 粗跑 55,493 步,訊息只有 4 則 Sys-Init--FileLines,沒有碰撞;分析用的零件幾何與記下的設定值逐值相同。

2. 第二作者的身分查不到:不轉載報告的任何圖表

  • 情況。 NIST 對技術叢書的聲明是:NIST 員工的著作在美國不受著作權保護,國外權利保留,轉載時附上「Republished courtesy of the National Institute of Standards and Technology.」;最後一句又說,有些著作可能由第三方寫成、受著作權保護。第一作者在 NIST;第二作者 A. V. Ling 列在 AFRL/DEX。
  • 風險。 轉載報告的圖、表或頁面,可能侵犯第二作者那部分的權利。
  • 怎麼發現。 建案前(2026-10-07)查第二作者那部分是不是以聯邦雇員身分寫的,兩方面都查不到。
  • 解決。 只用不受授權限制的東西:數字、零件尺寸,以及附節號的短句。試件由我們重畫,每一張畫面都是 HiNC 的仿真畫面,圖表只畫報告的數字,並附上 NIST 要的標註句。
  • 證據。 本頁沒有報告的任何圖、表或頁面。

3. 正負號:草稿寫的 +6.87″ 是錯的,沒有播過

  • 情況。 報告的 α 是 −3.33×10⁻⁵ rad(−6.87″)。報告的模型是 X 疊在 Y 上,HiNC 的骨架是 Y 疊在 X 上;一條繞 +Z 的旋轉放在 Y 的上游要取哪個號,零件才會讀出報告的號,要從兩邊的定義推。
  • 風險。 號一反,零件的正交度就讀成 +6.87″,與報告的模型和 CMM 方向相反,整個「跟報告比」都會錯。
  • 怎麼發現。 寫定這一案的設計之前,逐條對照報告的定義:式 9 把垂直度寫成 E_x = −y·α,式 42–44 定義 Δθ = θ2 − θ1;再拿 Table 2 的係數把報告整個模型重算一次,得到 Table 5 的 −5.10″,確認讀法無誤。照這個定義,這副骨架上的旋轉 g 給零件 Δθ = +g,所以 g = α:草稿的號是反的。
  • 解決。 寫進這一案的是 g = −0.0019088889°(−6.872″),理由一併記在旁邊;草稿沒有播過。
  • 證據。 用報告的式子,從切出的零件讀回 Δθ = −6.8717″,與報告的模型、CMM 平均同號。

4. 樞軸放在碰數時的刀軸:G54 不必改;清掉標記時 P0 會讀偏 15.19 µm

  • 情況。 靜態旋轉的樞軸放在哪裡,決定整個零件多移多少。真機碰數會把碰數姿態下的偏移吃進 G54;HiNC 的 P0 在名目鏈上量,不會吃進去。
  • 風險。 樞軸放在別處,整個零件會平移,Diff 會把「沒有碰數」算到誤差頭上。清掉標記時若照 P0 的讀值打 G54,不標記那一趟會多帶 15 µm 真機沒有的偏移;碰數核對裡沒通過的那幾列,也可能被當成建置失敗。
  • 怎麼發現。 播放前的碰數核對。有標記時,開關開或關,P0 都正好讀回 (−585, −456, −561);清掉標記時讀回 (−585.01519, −455.99999975, −561)。
  • 解決。

    • 樞軸放在碰數姿態時刀軸所在的位置,X 錨點座標的 (−585, 0, 0),程式零點不動。
    • 第 2 條只判有標記的兩列;開與不標記兩趟都打入真機碰數會找到的 G54 (−585, −456, −561)。
    • 清掉標記時的讀偏來自 P0 的量法:P0 取的是機械零點時程式零點在刀端座標系裡的位置,不解運動鏈。機械零點 Y = 0,程式零點離樞軸線 456 mm,456 mm × 3.3316×10⁻⁵ = 15.19 µm 進了 X。
  • 證據。 碰數核對裡沒通過的只有清掉標記的兩列;刀尖偏移的仿射擬合,常數項 b = (−1.9×10⁻¹⁴, −9.3×10⁻¹⁷, 0) mm。

5. 第 10 條照字面不通過:計畫用了牆半徑,牆面吃的是刀心的偏移

  • 情況。 計畫用牆的半徑 44.5/55.5 mm 預測圓槽的橢圓:b2 +0.741/−0.925 µm,仿真的真圓度 1.483/1.849 µm,容差 ±10%。量到內牆 b2 +0.8199 µm(容許 0.667–0.815)、真圓度 1.6398 µm(容許 1.334–1.631),都超出;外牆的 −0.8453 與 1.6906 µm 在容許內,但離計畫的數字也有 8.6%。
  • 風險。 當成 HiNC 或網格的錯去追;或事後改用新的預測,把判定改成通過。
  • 怎麼發現。 判第 10 條時:內牆超出、外牆差 8.6%,兩面錯的方向相反。
  • 解決。

    • 判定照字面寫:不通過(內牆)。
    • 原因在判定之外另查:刀尖的偏移只看刀心的 x,牆上每一點,是刀心走到同一個方位角時切出來的。刀心在半徑 R ± 4.7625 mm 的圓上(nist-t2-slot.nc 的 I−49.2625、I−50.7375),所以 b2 = ±k·R_c/2、真圓度 = k·R_c,R_c 是刀心半徑。用 49.2625/50.7375 mm 算,b2 是 +0.8206/−0.8452 µm,真圓度 1.6412/1.6904 µm。這記成計畫的錯誤。
    • 16 個圓槽盒子的預測也用了牆半徑:45°、135°、225°、315° 的八個,量測與計畫差 0.076–0.087 µm(最大是 slot-out-315 的 −0.087 µm),仍在盒子的容差內;slot-in-000 的 +0.101 µm 不是半徑造成的(難題 7)。
    • 同一批的 RPTU 基準件 8 案例已經發現過同一件事:Ø54 圓台的兩瓣跟著刀心半徑 30 mm,不是圓台的 27 mm。這份計畫沒有用上。
  • 證據。 b2 與刀心半徑的預測差 0.0007/0.0001 µm,真圓度差 0.0014/0.0002 µm;圓槽的圖上,量測落在黑虛線上,計畫的點線在內牆偏小、外牆偏大。

6. 對照趟的 14 個底面頂點讀成 5.9–7.3 mm:搜尋的假象

  • 情況。 第 7 條要求對照切削件的每個頂點,到名目切削件的距離都在 1×10⁻⁶ mm 內。整件對照 669,938 個頂點裡,有 14 個讀成 −5.86 到 −7.32 mm,全在板子沒切到的底面(z −19);修剪的對照有 13 個。
  • 風險。 第 7 條不通過,或以為底面過切了 7 mm。
  • 怎麼發現。 判第 7 條時。
  • 解決。 距離搜尋只看最近 12 個三角形重心所屬的那些三角形,這些頂點所在的面不在其中。對名目切削件的每一個三角形重算,全部是 0.0 mm。開那一趟在同樣的位置有同樣的 14 個、同樣的讀值;逐三角形精算後也都是 0,本頁的統計都不含它們的搜尋讀值。
  • 證據。 精算對每一個都得到 0:整件對照 14 個、修剪對照 13 個,開那一趟同樣的 14 個。對照其餘的頂點都在 5.0×10⁻¹⁰ mm 內。

7. 內牆在起刀收刀處讀到最多 +0.37 µm,沒有查明

  • 情況。 圓槽內牆在 φ 0 的 1° 內(243 個頂點),距離平均 +0.079、最多 +0.368 µm(搜尋的讀值,未精算),預測幾乎是 0。盒子 slot-in-000 量到 +0.101 µm,是 84 個盒子裡與預測差最大的一個,也是刀心半徑預測唯一解釋不了的一個。同一處有一步的碰料旗標(IsTouched,這一步有沒有碰到料)在開與名目之間不同。
  • 風險。 當成誤差的效果寫出去,或當成 HiNC 的缺陷。
  • 怎麼發現。 盒子的殘差,以及每個頂點對方位角的圖。
  • 解決。 在盒子 0.3 µm 的容差內,照實記下。內牆那一圈從中心線上的螺旋徑向切入(X 125 → 124.2625),繞一圈回到同一點;推測是起刀與收刀兩段掃掠在網格上交疊所致,沒有查證。
  • 證據。 盒子 slot-in-000,以及 φ 0 處的頂點。

8. 網格距離的下限:小半徑上的弦高與 32 位元座標

  • 情況。 開那一趟有 812 個頂點比預測最深的 −5.0 µm 還深,最深 −5.77 µm;兩者都是搜尋的讀值,搜尋只會高估距離,而 6 µm 以內沒有逐三角形精算。預測為 0 的牆(方孔東西牆、方框東西牆、凸緣牆)讀到 ±0.05–0.06 µm,對照卻只有 5×10⁻¹⁰ mm。
  • 風險。 以為誤差在圓角上切得更深,或以為不該動的牆動了。
  • 怎麼發現。 整理全部頂點的分布時(見結果裡的直方圖)。
  • 解決。 一種一種查。

    • 812 個頂點全在半徑 4.7625 mm 的曲面——方孔圓角與鑽孔壁——與它們的邊上,x 118.6–141.4。0.25 mm 的弦在 R4.7625 上的弦高是 1.64 µm;推測是曲面相對網格移動後,頂點到另一份網格的距離帶著這麼大的效應,沒有逐三角形精算查證。各類曲面的殘差最多(同樣未精算):方孔圓角 1.6 µm、鑽孔壁 1.3 µm;鑽尖錐面(不在 812 個之內)2.3 µm。
    • 不動的牆:兩份切削件各自存成 32 位元座標,128 mm 以外每個座標的間距是 0.015 µm,各自捨入。對照與名目的頂點相同,所以讀到 5×10⁻¹⁰ mm。
    • 這兩樣是這套量法的下限(弦高那一樣是推測);判定只用盒子平均、擬合與孔心。
  • 證據。 812 個頂點的位置與各類曲面的殘差;不動的牆上最大的讀值,方框東牆的 0.061 µm,正好是 32 位元座標的 4 個間距。

結果與效益

除非另外註明,下面的數字都是整件、0.25 mm、誤差項開(有標記)對關,在 HiNC 3.2.46 開發版(含誤差項)上、物理關閉時量得。這裡的「量到」,都是從 HiNC 的仿真結果量的。刀尖在兩種網格下相同;零件的數字取自 0.25 mm 的整件。

計畫的十二條標準

十二條標準裡,十一條通過或已記錄;第 10 條照字面在內牆不通過。 那裡錯的是計畫自己的預測——它用了牆的半徑——更正後的預測是對計畫的發現,不是重新判定(難題 5)。

# 標準(摘要) 判定 量到
1 建置:誤差的位置、值與標記;Y 軸重新繫結;其餘連接逐值相同;角色檢查為空;載入沒有訊息 通過 XYsq 在 X→Yerr:繞 (0, 0, 1) 的靜態旋轉、−0.0019088889°、樞軸 (−585, 0, 0)、有標記,讀回與寫入相同;Y 的動態平移在 Yerr→Y,繫結 Y 軸;11 條連接與基底相同;角色檢查在建置前後都是空的;載入沒有訊息
2 碰數:有標記時,開關開或關,P0 讀回 (−585, −456, −561),差 1×10⁻⁶ mm 以內 通過 兩種都差 0;標準不列入的清掉標記那兩列,X 讀偏 15.19 µm(難題 4)
3 訊息:只有 4 則 Sys-Init--FileLines;沒有碰撞、快移切料、行程或碰料的訊息;做 Diff 的趟只多 Diff 自己的訊息;執行的行數等於檔案的 230/52/302/28 行;碰料旗標峰值 1 整件通過;修剪四趟只讀到 Warning 層 七趟在 Warning 以上都沒有訊息,只有做 Diff 的每一趟各 1 則 Diff--TargetNotClosed。Message 層——4 則 Sys-Init--FileLines 與執行行數——在整件的開那一趟讀過;七趟的檔案與行號序列逐步相同,所以行數對七趟都成立,但修剪四趟的 Message 層訊息沒有讀。七趟的碰料旗標峰值都是 1
4 步數:名目=對照;開與名目差 0.1% 以內;整件在 55,000–56,000 通過 七趟都是 55,493 步
5 機械座標:開、對照、不標記與名目,每一步差 1×10⁻⁹ mm 以內 通過 全部 55,493 步差 0;不標記對開也是 0
6 逐步刀尖:開減名目再減 δ 在 1×10⁻⁹ mm 以內;仿射擬合的係數與預測差 1×10⁻¹¹ 以內、常數項 1×10⁻⁹ mm 以內;對照對名目、不標記對開在 1×10⁻¹² mm 以內 通過 兩種網格都是 2.06×10⁻¹³ mm;係數差 2.2×10⁻¹⁶,常數項 1.9×10⁻¹⁴ mm;對照 0;不標記對開,刀尖與機械座標都是 0
7 對照:每個頂點在 1×10⁻⁶ mm 以內,修剪與整件各判一次 通過(搜尋假象逐三角形精算之後) 整件:669,938 個頂點中 669,924 個在 5.0×10⁻¹⁰ mm 內,其餘 14 個重算為 0(難題 6);修剪:13 個同樣重算為 0,其餘在 4.98×10⁻¹⁰ mm 內
8 84 個特徵盒子:有號平均與預測差 max(0.3 µm, 15%) 以內;4 個零盒子每個頂點在 0.05 µm 內 通過 84/84;最大差 0.101 µm(slot-in-000,內牆起刀收刀處);零盒子每個頂點都是 0
9 孔心、正交度與孔距:dy 與 k·x_c 差 0.10 µm 以內、dx 與 0 差 0.10 µm 以內;Δθ = −6.872″ ± 0.2″;3→15 +3.063 ± 0.15 µm,3→9、9→15 0 ± 0.15 µm 通過 24 孔:dy 與 k·x_c 差 0.0017 µm 以內,dx 在 0.0017 µm 以內(判定腳本用的 14 孔,dy 在 0.0013 µm 以內);Δθ −6.8717″;3→15 +3.0610、3→9 −0.0011、9→15 −0.0009 µm
10 圓槽:b1 +2.499/−2.499 µm ± 0.10;b2 +0.741/−0.925 µm ± 10%;a1、a2 在 0.08 µm 內,a0 在 0.15 µm 內;真圓度 1.483/1.849 µm ± 10% 照字面:不通過(內牆);外牆通過 內牆:b2 +0.8199 µm(容許 0.667–0.815)與真圓度 1.6398 µm(容許 1.334–1.631)超出;b1 +2.4972、a0 +0.0031、a1 +0.0022、a2 −0.0005 µm 在容差內。外牆:b1 −2.4987、b2 −0.8453、真圓度 1.6906、a0 −0.0023、a1 −0.0008、a2 +0.0021 µm,全在容差內。擬合殘差半寬 0.056/0.060 µm。以刀心半徑預測的 b2 +0.8206/−0.8452 µm,量到的差 0.0007/0.0001 µm(難題 5)
11 刀把:開著碰撞偵測的每一趟都沒有碰撞 通過 七趟的碰撞偵測都開著,沒有任何碰撞訊息;最深處,T2 的刀把鼻端離料面 23 mm(伸出 30 mm 減深 7 mm),T1 的 44.44 mm(60 mm 減鑽尖在頂面下的深度 15.56 mm)
12 成本:每趟記步數、牆鐘時間與記憶體峰值 已記 見下面〈執行成本〉

修剪四趟照計畫驗第 1–7 條:第 4–7 條通過(刀尖殘差 2.06×10⁻¹³ mm、不標記與開逐位相同、13 個搜尋假象重算為 0),第 3 條只讀到 Warning 層。1 mm 下附帶量到 Δθ = −6.8674″、圓槽 b2 +0.8194/−0.8456 µm、盒子最大差 0.0953 µm。

刀尖:每一步都落在公式上

這裡的刀尖指每一步的 CL,也就是實際刀尖在程式座標中的位置。開與名目兩趟的步數相同,所以逐步對齊後相減。切削步是名目趟碰到料(IsTouched)的步。

比較 步 最大差
開減名目,再減 δ 全部 55,493 步(0.25 mm 與 1 mm 相同) 長度 2.06×10⁻¹³ mm;X 1.52×10⁻¹³、Y 2.06×10⁻¹³、Z 0
同上 0.25 mm 的 40,461 個切削步 長度 8.99×10⁻¹⁴ mm
開減名目,ΔY 切削步 −0.17 到 +5.17 µm
同上 全部步 最多 19.49 µm:第一步,程式 X 585=機械 X 0,不切料
開減名目,ΔX 全部步 0.32 nm,二階的 X(cos g − 1)
開減名目,ΔZ 全部步 0
機械座標:開、對照、不標記各減名目 全部步 0:逐位相同
對照減名目 全部步 0:序列逐位相同
不標記減開(1 mm) 全部步 刀尖與機械座標都是 0
  • 仿射擬合。 把全部步的偏移擬合成 δ = A·p + b(p 是名目刀尖):A[1][0] = 3.332×10⁻⁵(就是 k),A[0][0] = −5.55×10⁻¹⁰(就是 cos g − 1),其餘元素都在 7×10⁻¹⁷ 以內,與預測的係數最多差 2.2×10⁻¹⁶。b = (−1.9×10⁻¹⁴, −9.3×10⁻¹⁷, 0) mm:程式零點不動。
  • 切削中最大的偏移是 +5.172 µm,在右凸緣牆那一刀(nist-t2-square.nc 第 28 行,刀心 X 155.2375)。計畫舉的例子是帶的右緣、刀心 X 154.76 → +5.156 µm;公式沒錯,只是例子沒選到最外側那一刀。最小的 −0.17 µm 在左凸緣牆(刀心 X −5.2375)。
  • 四支程式各自的範圍(切削步):鑽孔 +0.333 到 +4.664 µm(孔心 x 10 到 140);帶 −0.174 到 +5.172 µm;方孔 +0.292 到 +4.706 µm;圓槽 +0.808 到 +4.189 µm。
  • 網格不改變刀尖。 1 mm 與 0.25 mm 的名目序列,刀尖、機械座標與程式行逐位相同,只有碰料旗標有 225 步不同。所以逐步公式在 1 mm 就驗得了,修剪與整件的刀尖數字相同。

四格圖:(a) 全部步的 ΔY 對 X,點落在斜率 k 的直線上,第一步在 X 585 處偏 19.49 µm;(b) 切削步放大,−0.17 到 +5.17 µm;(c) ΔX 以 nm 計、沿一條斜線,ΔZ 每一步都是 0;(d) 量測減預測的直方圖,在 10⁻¹⁵ 到 2×10⁻¹³ mm 之間

誤差項開、有標記:每一步的刀尖偏移(開減名目,程式座標)。(a) 全部 55,493 步的 ΔY 對 X(空中與快移的步抽樣顯示);第一步在機械零點(程式 X 585),偏 19.49 µm,不切料。(b) 切削步放大:−0.17 到 +5.17 µm,最大在右凸緣牆 X 155.24。(c) 二階的 ΔX(nm)與 ΔZ(每一步都是 0)。(d) 量測減預測 δ(X):最多 2.1×10⁻¹³ mm,計畫的門檻是 1×10⁻⁹ mm。藍=量測,黑虛線=預測。四支程式、0.25 mm 網格;HiNC 3.2.46 開發版(含誤差項)。

零件:逐個頂點量

量法:開那一趟匯出的切削件(663,473 個頂點),逐個頂點量到名目切削件,得到帶號距離 d:正=留料(Diff 藍),負=過切(Diff 紅)。HiNC 的 Diff 給的是畫面與它的計數;偏差的數字都出自這個網格距離。

  • 全部頂點。 p01 −4.62 µm、p99 +4.50 µm;極值 −5.77 與 +4.99 µm。搜尋從最近 12 個三角形重心所屬的三角形讀距離,所以只會高估;凡是讀到 6 µm 以上的頂點——就是對照那同樣 14 個底面頂點——都逐三角形精算過,全是 0(難題 6),所以開那一趟的切削件沒有一個頂點離名目切削件超過 5.77 µm。預測最大的偏差是方框南北牆在 x 150 處的 ∓5.00 µm(k × 150 mm)。
  • 比 −5.05 µm 還深的 812 個頂點(搜尋的讀值,未精算),全在 R4.7625 的曲面——方孔圓角與鑽孔壁——與它們的邊上,x 118.6–141.4:推測是網格的弦高(難題 8)。比 +5.05 µm 高的頂點一個也沒有。
  • 底面與頂面。 底面(z −7,離牆 0.3 mm 以上)146,446 個頂點、頂面 15,330 個頂點,全部是 0;沒切到的面(板底、板側)也是 0。
  • 預測為 0 的牆——方孔東西牆、方框東西牆、凸緣牆——讀在 ±0.062 µm 內:方框東牆最多 0.061 µm,是 32 位元座標的 4 個間距;方孔東西牆與凸緣牆 0.046 µm。這是兩份切削件各自捨入成 32 位元座標的結果,是這套量法的下限(難題 8)。

直方圖,縱軸對數:開那一趟的頂點距離分布在約 −5 到 +5 µm,−5.05 µm 以下的一小群標成 R4.76 圓角與鑽孔,方框南北牆標在約 ±5 µm;對照那一趟只有 0 處一根綠色長條

開與對照兩趟,切削件每個頂點到名目切削件的距離(0.1 µm 一格,縱軸對數)。開的那一趟分布在約 ±5 µm 內,方框南北牆在 x 150 處 ±5.00 µm;−5.05 µm 以下的 812 個頂點全在 R4.76 的圓角與鑽孔上(搜尋的讀值,未精算;推測是網格弦高);淡藍是全部頂點中方孔的 R4.76 圓角。對照那一趟 669,924 個頂點的距離都在 5×10⁻¹⁰ mm 內。底面 14 個搜尋假象逐三角形精算為 0,已剔除。橫軸對稱 ±6.5 µm。HiNC 3.2.46 開發版(含誤差項)。

方孔:整組往 +Y 平移,兩排孔心讀回 −6.8717″

每個方孔的孔心平移,由它四面牆上盒子的平均算出:dy = (d_S − d_N)/2、dx = (d_W − d_E)/2;盒子沿牆 2 mm、垂直牆 1 mm、z −6…−1。

  • 孔心平移。 24 個孔的 dy 都等於 k·x_c,差 0.0017 µm 以內;dx 在 0.0017 µm 以內是 0。3 號(x 10)量到 0.3334 µm,預測 0.3332;21 號(x 140)量到 4.6643 µm,預測 4.6643。
  • 正交度,照報告的式 42–44:

    • 下排 3、26、25、24、23、22、21,擬合 y(x):θ1 = +6.8717″;
    • 左排 3–9,擬合 x(y):θ2 = −2.5×10⁻¹²″,也就是 0;
    • Δθ = θ2 − θ1 = −6.8717″,預測 −6.8720″,差 0.0003″;
    • 另一個角,上排 9–15 與右排 21–15,也是 −6.8717″;1 mm 的修剪組讀到 −6.8674″。
  • 鑽孔(T1)的孔心,在每個方孔底下 9.525 mm 的孔壁上擬合(z −12…−7.5,只有鑽頭切過):24 孔都平移 (0, k·x_c),差 0.0054 µm 以內;每個方孔與它的鑽孔,孔心差 0.0064 µm 以內。報告做方孔的理由是「The "squared" outer holes allowed comparison of milled hole centers to the drilled hole centers.」(3.2 節)。可是鑽頭與端銑刀停在同一個程式 x 上,純垂直度讓兩者一起平移,這個比對看不到垂直度。要讀垂直度,就要像報告那樣擬合兩排孔心,或量方框的牆。

孔距 名目 量到的變化 預測
3→9(左排,沿 Y) 130 mm −0.0011 µm 0
9→15(上排,沿 X) 130 mm −0.0009 µm 0
3→21(下排,沿 X) 130 mm −0.0009 µm 0
21→15(右排,沿 Y) 130 mm −0.0010 µm 0
3→15(對角) 183.848 mm +3.0610 µm +3.0625 µm
9→21(另一條對角) 183.848 mm −3.0638 µm −3.0626 µm

沿 X 的兩段不變:每個孔只沿 Y 移,移的量隨 x 變,長度只差二階。沿 Y 的兩段兩端移得一樣多,也不變。兩條對角一長一短,正是平行四邊形。

24 個方孔的孔心平移(µm)
孔 孔心 (x, y) mm dy 量到 k·x_c 預測 差 dx 量到 鑽孔孔心 dy 方孔減鑽孔 (dx, dy)
3 (10, 10) +0.3334 +0.3332 +0.0003 +0.0002 +0.3335 (+0.0001, 0.0000)
26 (28, 10) +0.9329 +0.9329 0.0000 +0.0003 +0.9336 (+0.0005, −0.0007)
25 (43, 10) +1.4326 +1.4326 0.0000 +0.0004 +1.4336 (+0.0005, −0.0010)
24 (68, 10) +2.2656 +2.2655 +0.0001 −0.0013 +2.2673 (−0.0017, −0.0017)
23 (92, 10) +3.0652 +3.0651 +0.0001 −0.0017 +3.0675 (−0.0016, −0.0023)
22 (120, 10) +3.9980 +3.9980 0.0000 −0.0017 +4.0010 (−0.0017, −0.0030)
21 (140, 10) +4.6643 +4.6643 0.0000 −0.0008 +4.6688 (−0.0008, −0.0046)
20 (140, 28) +4.6646 +4.6643 +0.0003 −0.0008 +4.6688 (−0.0008, −0.0041)
19 (140, 43) +4.6647 +4.6643 +0.0004 −0.0008 +4.6687 (−0.0008, −0.0039)
18 (140, 68) +4.6633 +4.6643 −0.0010 −0.0008 +4.6696 (−0.0007, −0.0063)
17 (140, 92) +4.6633 +4.6643 −0.0010 −0.0008 +4.6693 (−0.0007, −0.0061)
16 (140, 120) +4.6633 +4.6643 −0.0010 −0.0008 +4.6693 (−0.0007, −0.0061)
15 (140, 140) +4.6633 +4.6643 −0.0010 −0.0008 +4.6690 (−0.0007, −0.0058)
14 (120, 140) +3.9987 +3.9980 +0.0007 −0.0017 +4.0010 (−0.0017, −0.0023)
13 (92, 140) +3.0636 +3.0651 −0.0015 −0.0017 +3.0679 (−0.0016, −0.0043)
12 (68, 140) +2.2642 +2.2655 −0.0013 −0.0013 +2.2672 (−0.0017, −0.0030)
11 (43, 140) +1.4309 +1.4326 −0.0017 +0.0004 +1.4340 (+0.0005, −0.0031)
10 (28, 140) +0.9342 +0.9329 +0.0013 +0.0003 +0.9331 (+0.0005, +0.0011)
9 (10, 140) +0.3323 +0.3332 −0.0009 +0.0002 +0.3338 (+0.0001, −0.0015)
8 (10, 120) +0.3344 +0.3332 +0.0013 +0.0002 +0.3333 (+0.0001, +0.0011)
7 (10, 92) +0.3344 +0.3332 +0.0013 +0.0002 +0.3333 (+0.0001, +0.0011)
6 (10, 68) +0.3329 +0.3332 −0.0002 +0.0002 +0.3338 (+0.0001, −0.0008)
5 (10, 43) +0.3325 +0.3332 −0.0006 +0.0002 +0.3336 (+0.0001, −0.0011)
4 (10, 28) +0.3332 +0.3332 0.0000 +0.0002 +0.3335 (+0.0001, −0.0003)

判第 9 條的腳本用的是有特徵盒子的 14 孔:下排 3、26、25、24、23、22、21,左排 4–9,以及 15 號。鑽孔孔心的 dx 都在 ±0.0005 µm 內,沒有列出。

兩格圖:左邊是俯視圖,24 個方孔的孔心平移放大 5,000 倍畫成往 +Y 的箭頭,左邊的短、右邊的長,下排與左排孔心的擬合線夾出 Δθ = −6.8717″;右邊是孔心平移對孔心 x,dy 的點落在斜率 k 的虛線上,dx 的點都在 0,鑽孔孔心與方孔重疊

24 個方孔的孔心平移(誤差項開、有標記)。左:俯視,孔心平移放大 5,000 倍畫成箭頭,下排與左排孔心的擬合線(同樣放大)夾出 Δθ = −6.8717″。右:dy、dx 對孔心 x;dy 沿著預測 k·x(黑虛線),dx 是 0,鑽孔(T1)的孔心與方孔同心。縱軸對稱 ±6 µm。0.25 mm 網格;HiNC 3.2.46 開發版(含誤差項)。

150 mm 方框:差 6.87″ 的平行四邊形

  • 南牆(朝 −Y):往 +Y 偏的刀吃進方框,x 越大吃得越多。擬合斜率 −0.03334 µm/mm(預測 −0.03332),也就是 6.878″:x 0–2 那一格 −0.03 µm,x 148–150 那一格 −4.96 µm。
  • 北牆(朝 +Y):同一個偏移讓它留料,斜率 +0.03332 µm/mm(6.873″),x 148–150 那一格 +4.95 µm。
  • 西牆與東牆:0。擬合斜率在 3×10⁻⁵ µm/mm 以內,讀值在 ±0.062 µm 內(東牆最多 0.061 µm)。
  • 南北兩面一起往 +X 抬高、仍然平行,東西兩面不動:方框的左下角與右上角小了 6.87″,另兩角大了 6.87″。

兩格圖:(a) 南牆的偏差沿 x 從 0 降到約 −5 µm、北牆從 0 升到約 +5 µm,點落在預測的兩條斜線上;(b) 西牆與東牆的偏差沿 y 都在 0;兩格縱軸都是 ±6 µm

150 mm 方框四面牆沿牆的偏差(誤差項開、有標記;每 2 mm 一格的中位數)。(a) 南牆 −k·x、北牆 +k·x:量到的斜率 −0.03334/+0.03332 µm/mm(預測 ∓0.03332),x 148–150 那一格 −4.96/+4.95 µm。(b) 西牆、東牆為 0。縱軸對稱 ±6 µm,負=過切、正=留料。0.25 mm 網格;HiNC 3.2.46 開發版(含誤差項)。

圓槽:平移 2.50 µm,再疊上 1.64/1.69 µm 的橢圓

每面牆取 z −6…−1、離設計半徑 0.3 mm 內的頂點(內牆 29,946 個、外牆 37,254 個),依繞 (75, 75) 的方位角 φ 擬合 d = a0 + a1 cos φ + b1 sin φ + a2 cos 2φ + b2 sin 2φ。b1 是整圈往 +Y 的平移,b2 是橢圓;仿真的真圓度定為去掉一次諧波後的峰谷值 2√(a2² + b2²)。

係數,µm 內牆量到 內牆:刀心半徑 49.2625 mm 的預測 內牆:計畫(牆半徑 44.5 mm) 外牆量到 外牆:刀心半徑 50.7375 mm 的預測 外牆:計畫(牆半徑 55.5 mm)
a0 +0.0031 0 0 −0.0023 0 0
a1 +0.0022 0 0 −0.0008 0 0
b1 +2.4972 +2.4987 +2.4987 −2.4987 −2.4987 −2.4987
a2 −0.0005 0 0 +0.0021 0 0
b2 +0.8199 +0.8206 +0.7413 −0.8453 −0.8452 −0.9245
仿真的真圓度 1.6398 1.6412 1.4826 1.6906 1.6904 1.8491
擬合殘差 p01–p99 半寬 0.056 0.060
  • 為什麼用刀心半徑。 刀尖的偏移只看刀心的 x。牆上方位角 φ 的那一點,是刀心走到同一個方位角時切出來的;刀心在半徑 R_c 的圓上,x = 75 + R_c cos φ,所以 d(φ) = ±k(75 + R_c cos φ) sin φ,也就是 b1 = ±75k = ±2.4987 µm、b2 = ±k·R_c/2、真圓度 = k·R_c。內緣的刀心在牆外 4.7625 mm(R_c 49.2625),外緣的刀心在牆內(R_c 50.7375);兩個半徑取自程式(nist-t2-slot.nc 的 I−49.2625、I−50.7375)。所以內緣的橢圓比計畫的大、外緣的比計畫的小,兩者幾乎一樣大。
  • 量到的與刀心半徑的預測:b2 差 0.0007/0.0001 µm,真圓度差 0.0014/0.0002 µm。1 mm 的修剪組讀到 b2 +0.8194/−0.8456 µm。
  • 網格讀得到這個橢圓。 0.25 mm 的格寬大約是橢圓的 150 倍,擬合後的殘差,p01–p99 半寬卻只有 0.056/0.060 µm。
  • 起刀收刀處:內牆在 φ 0 的 1° 內(243 個頂點),距離平均 +0.079 µm、最多 +0.368 µm(未精算),預測幾乎是 0(難題 7)。

四格圖:(a) 內牆偏差對方位角,一條在約 −2.9 到 +2.9 µm 之間的曲線,量測與刀心半徑的預測重合;(b) 內牆去掉一次諧波後的橢圓部分,振幅約 0.82 µm,計畫的點線較小;(c)、(d) 外牆同樣畫法,外牆的計畫點線較大

圓槽內牆(上排)與外牆(下排)沿方位角 φ 的偏差:左為偏差(每 2° 的中位數與 5–95%),右為去掉一次諧波後的橢圓部分。藍=量測,黑虛線=刀心半徑 49.2625/50.7375 mm 的預測,灰點線=計畫用牆半徑 44.5/55.5 mm 的預測。b2 量到 +0.8199/−0.8453 µm,刀心預測 +0.8206/−0.8452,計畫 +0.7413/−0.9245;照字面,第 10 條內牆不通過、外牆通過。縱軸對稱。0.25 mm 網格;HiNC 3.2.46 開發版(含誤差項)。

84 個特徵盒子

計畫在零件上設了 84 個盒子,每個都有預測值:14 個方孔的四面牆(56 個)、圓槽內外牆各 8 個方位(16 個)、方框四面牆各兩處(8 個),以及四個不該動的面——凸緣頂、圓槽中島頂、帶的底與圓槽底。每個盒子比的是盒內頂點距離的有號平均與預測。

組 盒子 量測減預測,絕對值最大 容差
方孔南北牆 28 0.0036 µm(hole15-S) 0.3–0.70 µm
方孔東西牆 28 0.0067 µm(hole21-W、hole15-W) 0.3 µm
方框南北牆 4 0.0066 µm(square-N-x25) 0.3–0.62 µm
方框東西牆 4 0.0023 µm(square-E-y125) 0.3 µm
圓槽 16 對計畫 0.101 µm(slot-in-000);對刀心半徑的預測,slot-in-000 以外都在 0.038 µm 內 0.3–0.40 µm
不該動的面 4 每個頂點都是 0 每個頂點 0.05 µm

圓槽盒子在 45°、135°、225°、315° 與計畫差 0.08 µm 左右:那是計畫的半徑錯誤(難題 5),仍在容差內。改對刀心半徑的預測,除了 slot-in-000,每個圓槽盒子都在 0.038 µm 內。

16 個圓槽盒子(µm)
盒子 頂點 量到(平均) 計畫(牆半徑) 量測減計畫 刀心半徑的預測 量測減刀心預測 容差
slot-in-000 147 +0.101 0.000 +0.101 0.000 +0.101 0.300
slot-out-000 105 +0.006 0.000 +0.006 0.000 +0.006 0.300
slot-in-045 210 +2.589 +2.508 +0.081 +2.587 +0.002 0.376
slot-out-045 210 −2.610 −2.691 +0.082 −2.612 +0.002 0.404
slot-in-090 147 +2.489 +2.499 −0.009 +2.499 −0.009 0.375
slot-out-090 147 −2.536 −2.499 −0.038 −2.499 −0.038 0.375
slot-in-135 210 +0.949 +1.026 −0.076 +0.946 +0.003 0.300
slot-out-135 210 −0.921 −0.842 −0.079 −0.922 +0.001 0.300
slot-in-180 147 0.000 0.000 0.000 0.000 0.000 0.300
slot-out-180 105 0.000 0.000 0.000 0.000 0.000 0.300
slot-in-225 210 −0.945 −1.026 +0.081 −0.946 +0.002 0.300
slot-out-225 210 +0.919 +0.842 +0.076 +0.922 −0.003 0.300
slot-in-270 105 −2.499 −2.499 −0.001 −2.499 −0.001 0.375
slot-out-270 105 +2.499 +2.499 0.000 +2.499 0.000 0.375
slot-in-315 210 −2.584 −2.508 −0.076 −2.587 +0.003 0.376
slot-out-315 210 +2.605 +2.691 −0.087 +2.612 −0.007 0.404

slot-out-090 對刀心預測的 −0.038 µm,是曲面上網格對網格的離散效應,在容差內,沒有再追。

兩格圖:(a) 84 個盒子的量測平均對預測,點都落在對角線上;(b) 量測減預測與每個盒子的容差帶,所有點都在帶內,圓槽盒子另以黑框標出對刀心半徑預測的差,最大的是 slot-in-000 的 +0.10 µm

計畫的 84 個特徵盒子(誤差項開、有標記)。(a) 量測平均對預測,對角線=相等。(b) 量測減預測,與每個盒子的容差 max(0.3 µm, 15%);圓槽盒子另以黑框畫出對刀心半徑預測的差。最大差 0.101 µm,在 slot-in-000(內牆起刀收刀處)。軸對稱。0.25 mm 網格;HiNC 3.2.46 開發版(含誤差項)。

標記與不標記(1 mm)

這四支是一般三軸 G54/G43 程式:沒有 RTCP、傾斜工作平面,也不是 CL。控制器只用程式、工作偏移與刀長換算機械座標,用不到運動鏈;所以知不知道這個垂直度,算出來的機械座標都一樣,誤差也一樣切進零件(見標記會改變什麼)。同一批的 RPTU 基準件 8 案例只寫了這個推論;真圓度試件案例與這一案都在 1 mm 實際播了不標記那一趟:

  • 不標記減標記:全部 55,493 步的刀尖差 0、機械座標差 0;序列逐位相同,碰料旗標也相同。
  • 兩趟的機械座標都與名目相同;兩趟的刀尖都偏 −0.17 到 +19.49 µm,與公式相同。
  • 兩趟切出的工件,54,834 個頂點逐一相同;兩趟的 Diff--Stats 也完全一樣。

唯一不同的是 P0:清掉標記時,P0 讀偏 15.19 µm(難題 4)。真機是在料上碰數,不會有這個偏差,所以不標記那一趟同樣打入碰數會找到的 G54。控制器知道誤差時能補回多少,要在 RTCP、傾斜工作平面或 CL 播放上才看得到,這一案示範不了。

兩格圖:(a) 標記與不標記兩趟切削步的 ΔY 對 X,完全重疊在預測的直線 k·X 上;(b) 六列:兩趟的刀尖 ΔY 都是 −0.17 到 +19.49 µm,不標記減標記的刀尖、兩趟對名目的機械座標每一步都是 0,兩份切削件的 54,834 個頂點逐一相同

修剪驗證(1 mm)的標記與不標記兩趟。(a) 切削步的 ΔY 對 X:兩趟重疊在預測 k·X 上。(b) 控制器改了什麼(55,493 步的最小到最大):兩趟的刀尖 ΔY 都是 −0.17 到 +19.49 µm;不標記減標記的刀尖、兩趟對名目的機械座標,每一步都是 0;兩份切削件的 54,834 個頂點逐一相同。兩趟都打入同一個 G54 (−585, −456, −561)。HiNC 3.2.46 開發版(含誤差項)。

對照趟與零件上的 Diff

對照趟(開關關、做 Diff)就是名目趟再播一次:逐步序列與名目逐位相同,刀尖差與機械座標差都是 0。它切出的工件與名目的頂點相同:669,938 個頂點裡,669,924 個的距離在 5.0×10⁻¹⁰ mm 內,其中 36.5% 正好是 0;另外 14 個是搜尋的假象,逐三角形精算是 0(難題 6)。

下面三組畫面,在誤差項開(有標記)與對照(關)兩趟之間原地交替,每幀 0.9 s,保持原尺寸。每一幀都是把那一趟記下的毛胚連同 Diff 放回畫布拍的,不是重播。鏡頭是 HiNC 的前視與後視往上拉高再拉近,以及預設的等角視拉近。畫布上沒有介面文字,所以中英兩套截圖逐像素相同,只有幀上的標籤隨語言不同。

由前方上方往 +Y 看的 Diff 原地交替:「誤差項開」那一幀,方框南牆與方孔的北牆由左邊的綠漸變到右邊的橘,圓槽遠側外牆與近側內牆偏黃;「誤差項關」那一幀全綠

由前方(−Y 側)上方往 +Y 看的 Diff,原地交替。「開」的那一幀,朝南的牆——方框南牆與每個方孔的北牆——由左邊(小 x)的綠漸變到右邊(大 x)的橘:過切,在 x 140–150 處約 −4.7 到 −5.0 µm。左排方孔都是淡綠(−0.33 µm);圓槽遠側的外牆與近側的內牆偏黃(約 −2.5 µm)。「關」的那一幀全綠。Diff 色階 ±0.006 mm(紅=過切、藍=留料、綠=0,正負同權重);0.25 mm 網格;HiNC 3.2.46 開發版(含誤差項)。

由後方上方往 −Y 看的 Diff 原地交替:「誤差項開」那一幀,方框北牆與方孔的南牆由右邊的綠漸變到左邊的藍,圓槽兩面朝鏡頭的牆偏青;「誤差項關」那一幀全綠

由後方(+Y 側)上方往 −Y 看,所以畫面左邊是 +X;原地交替。「開」的那一幀,朝北的牆——方框北牆與每個方孔的南牆——由右邊(小 x)的綠漸變到左邊(大 x)的藍:留料,最多約 +5 µm。圓槽遠側(φ 270°)的外牆與近側(φ 90°)的內牆偏青(約 +2.5 µm)。「關」的那一幀全綠。色階、網格與版本同上。

由西南上方斜看整件的 Diff 原地交替:「誤差項開」那一幀,方框南牆與方孔的北牆往 +X 轉成橘褐,其餘的牆、底面與頂面是綠;「誤差項關」那一幀全綠

由西南(−X、−Y 側)上方斜看整件,原地交替。「開」的那一幀,方框南牆與方孔的北牆往 +X 轉成橘褐(過切);朝 ±X 的牆、底面與頂面維持綠。「關」的那一幀全綠。色階、網格與版本同上。

做 Diff 的五趟的 Diff--Stats
趟 回報的葉 比較前的表面葉 隨需展開 新節點 NaN 葉 量到的量測線 沒量到的量測線 目標三角形
t-on 56,956 53,719 1,375 4,612 17 212,399 2,217 106,691
t-control 57,139 54,664 1,121 3,596 0 213,858 268 106,691
t-unmarked 56,956 53,719 1,375 4,612 17 212,399 2,217 106,691
f-control 707,696 682,044 11,630 37,282 0 2,695,142 1,774 1,325,472
f-on 688,404 657,741 13,363 44,026 44 2,684,991 3,217 1,325,472

名目趟不做 Diff。目標三角形比匯出的 STL 少:0.25 mm 是 1,325,472 對 1,346,250(少 20,778),1 mm 是 106,691 對 107,570(少 879),沒有追;零面積三角形是可能的原因之一。NaN 葉只出現在切削件與名目不同的趟(f-on 44 個,佔回報葉的 0.0064%;t-on、t-unmarked 各 17 個),對照趟是 0;它們是什麼,沒有追。

HiNC 仿真,同一個停刀姿態的特寫:T2 的刀柄與 ER32 筒夾刀把的鼻端在圓槽外牆上方;左邊上排的方孔由綠漸黃,右邊一個方孔是橘色

同一個停刀姿態的特寫:T2 的刀柄與 ER32 筒夾刀把的鼻端在圓槽外牆上方。左邊上排方孔的北牆由綠漸黃,右邊 x 140 的方孔是橘。T2 伸出 30 mm、特徵最深 7 mm,所以切削時刀把鼻端離料面 23 mm(第 11 條)。Diff 色階 ±0.006 mm(紅=過切、藍=留料、綠=0);0.25 mm 網格;HiNC 3.2.46 開發版(含誤差項)。

跟報告比

本案仿真(只有 X–Y 垂直度) 報告的模型(LBB 量到的全部誤差) 報告的 CMM(21 件)
正交度 Δθ −6.8717″(放進去的 α 是 −6.872″) −5.10″(Table 5,解析,標準不確定度 11.09″);−4.68″(Table 6,Monte Carlo,11.03″) −1.059″(Table 14;件間 pooled 標準差 8.96″;未來一次估計的擴展不確定度 18.10″)
圓槽真圓度,內緣/外緣 1.640/1.691 µm 17.9/18.0 µm(Tables 7、8,標準不確定度 3.1 µm) 20.99/26.02 µm(Tables 15、16,擴展不確定度 5.49/12.09 µm)
銑孔孔距 3→9 −0.001 µm −2 µm(Table 17) 0.00 µm(Table 13,不確定度 18.86 µm)
銑孔孔距 9→15 −0.001 µm −3 µm −11.16 µm(18.99 µm)
銑孔孔距 3→15 +3.061 µm −1.8 µm −5.40 µm(19.84 µm)
  • 正交度。 仿真零件的正交度就是放進去的垂直度,差 0.0003″。這不是在驗證報告,而是把報告量到的一項誤差單獨切出來,看它占量到的結果多少。

    • 與 CMM 平均差 5.81″,130 mm 上 3.66 µm,是擴展不確定度 18.1″ 的 0.32 倍:在不確定度內,不是吻合。
    • 報告的模型 −5.10/−4.68″ 另含直線度與偏擺;計畫推算,光是直線度的線性部分就讓有效垂直度約為 −5.3″。報告自己的結論是「In this case the model estimates over-predicted the orthogonality error but did produce the same direction of error.」(6.3 節)
    • 報告 5.3 節描述 CMM 的算法時,寫垂直那一排的斜率「had to be reversed and then it could be added to the horizontal slope」:照字面是 θ2 + θ1,θ1 的號與式 44 的 θ2 − θ1 相反。報告 6.3 節直接拿 CMM 的 −1.06″ 與模型的 −4.89″ 比、說方向相同,本頁照同樣的比法。這裡 θ2 = 0;照 5.3 節的字面讀,零件會是 +6.87″,與 CMM 的 −1.06″ 差 7.93″,是擴展不確定度的 0.44 倍,結論不變。
  • 真圓度。 單靠垂直度只給 1.64/1.69 µm,是 CMM 的 7.8/6.5%、報告模型的 9.2/9.4%:不到一成。

    • 兩邊的定義也不同:這裡是二次諧波的峰谷值;報告的是對最佳擬合圓的最大半徑減最小半徑。CMM 量 37 點;模型在 36 點上,把每項誤差的值與它的不確定度乘上亂數加進去,做 1,000 次 Monte Carlo(4.6 節、式 46)。所以只能比大小。
    • 對 CMM 的真圓度,報告 5.4 節提到內外緣的切削方向相反:「Direction of cut may have had an effect in leaving small debris.」
  • 孔距。 垂直度只改對角(+3.06 µm),沿 X、沿 Y 的孔距不變。CMM 的 9→15 −11.16 µm 是沿 X 的一段:X 的比例誤差(Table 2 斜率 −1.89×10⁻⁵)單獨就讓它短 2.46 µm,報告的模型在三段也都給負值(−2、−3、−1.8 µm)。熱與其他誤差都不在這個模型裡。三段都在約 19 µm 的不確定度內;報告註明 Table 13 的不確定度不是擴展不確定度。

三格圖:(a) 正交度,本案 −6.87″、雷射球桿的 α −6.87″、模型 −5.10 與 −4.68″ 帶誤差棒、CMM −1.06″ 帶 ±18.1″ 的細棒,標出與 CMM 差 5.8″;(b) 圓槽真圓度,本案 1.64、1.69 µm 靠近 0,模型 17.9、18.0 µm,CMM 21.0、26.0 µm;(c) 孔距,本案 0、0、+3.06 µm,CMM 0.00、−11.16、−5.40 µm 帶約 19 µm 的誤差棒

本案仿真與 NISTIR 6868 的比較。藍=本案仿真(只有 X–Y 垂直度一項誤差);灰圈=報告的模型(誤差棒為標準不確定度);黑=報告的 CMM(21 件;粗棒為件間 pooled 標準差,細棒為擴展不確定度)。(a) 正交度:與 CMM 平均差 5.8″(130 mm 上 3.7 µm),在 ±18.1″ 內。(b) 圓槽真圓度。(c) 銑孔孔距的變化。仿真:HiNC 3.2.46 開發版(含誤差項),0.25 mm 網格。報告的數值:Gilsinn、Ling,NISTIR 6868(2002),Tables 1、5–8、13–16。Republished courtesy of the National Institute of Standards and Technology.

執行成本

全部在共用的 32 執行緒伺服器上,以 HiNC 3.2.46 開發版(含誤差項)的私有實例執行,物理關、碰撞偵測開。每趟開始前重啟實例,所以記憶體峰值(VmHWM)是那一趟自己的。

播放 網格 步數 牆鐘時間 記憶體峰值(VmHWM)
t-nominal 1 mm 55,493 30.0 s 0.632 GB(0.589 GiB)
t-on 1 mm 55,493 30.0 s 0.723 GB(0.673 GiB)
t-control 1 mm 55,493 30.0 s 0.725 GB(0.675 GiB)
t-unmarked 1 mm 55,493 30.0 s 0.720 GB(0.671 GiB)
f-nominal 0.25 mm 55,493 100.1 s 1.968 GB(1.833 GiB)
f-control 0.25 mm 55,493 100.1 s 2.975 GB(2.771 GiB)
f-on 0.25 mm 55,493 100.1 s 2.984 GB(2.779 GiB)
  • 牆鐘時間從開始播放,算到輪詢讀到 Finished 的那一次;輪詢每 5 s 一次,所以 100.1 s 代表播放在 95 到 100 s 之間結束,30.0 s 代表 25 到 30 s。
  • 七趟的牆鐘時間合計 420.3 s,約 7 分鐘。四支程式的仿真加工時間是 442 s;0.25 mm 的整件約 100 s 播完。
  • 做 Diff 的兩趟,比名目多用約 0.94 GiB(0.938、0.946 GiB)。
  • 計畫的估計:修剪每趟 30–40 s、2 GB 以下;整件每趟 5 分鐘、10 GB 以內;記憶體峰值超過 24 GB 就停、改用 0.5 mm。每一趟都在估計內,停止條件沒有碰到。
  • 同時有沒有別人不拿鎖的工作在伺服器上跑,紀錄看不出來,所以牆鐘時間可能含那份負載。

它帶來什麼

  • 給加工工程師。

    • 一台生產用三軸機的 X–Y 垂直度 −6.87″(每公尺 33 µm),在這個 150 mm 的試件上最多切出約 5 µm:方框南牆在 x 150 附近過切 4.96 µm,北牆在那裡留料 4.95 µm。
    • 垂直度的影響=角度 × 特徵跨過的 X 行程,從碰數點算起:下排孔心從 0.33 µm 長到 4.66 µm,左排都是 0.33 µm。
    • 方孔與鑽孔一起平移,所以鑽孔對銑孔的同心度看不出垂直度;要量垂直度,就要擬合兩排孔心,或量方框的牆。
    • 在這種一般三軸程式上,控制器知不知道這個垂直度,它都一樣切進零件。
    • 在 HiNC 裡,可以把一台機台量到的常數誤差放進模型,在上機切削之前,就看到它在自己零件上的樣子與大小。
  • 給老師與學生。

    • 刀尖偏移怎麼從機台鏈推出來:一條繞 Z 的旋轉放在 Y 的上游,從零件上看,就是 X 行程斜了。
    • 報告怎麼定義正交度(式 42–44),怎麼從兩排孔心讀回 6.87″;為什麼 6.87″ 在 150 mm 上只有 5 µm。
    • 圓槽為什麼變成「平移加橢圓」,為什麼橢圓取刀心半徑,不是牆半徑。
    • 為什麼仿真的真圓度不到 CMM 的一成:真實的零件還帶著比例誤差、直線度、熱、切削與量測。
  • 給評估這種做法值不值得的人。

    • 從一份 2002 年的掃描 PDF,到基底專案、誤差項專案與七趟播放,同一天做完;七趟合計 420 s 的伺服器時間,每趟最多 2.99 GB。
    • 公式與預測在第一次播放前寫好:刀尖與精確式相差不到 2.07×10⁻¹³ mm;孔心、正交度與孔距對到 0.002 µm 與 0.0003″,方框四牆的盒子平均對到 0.007 µm。
    • 預測沒中的照實寫:第 10 條照字面在內牆不通過,原因是計畫用錯了半徑。
    • 跟報告比,只說「在不確定度內」,不說「吻合」。

誠實的限制

  • 只有一項誤差,而且是常數。 報告的模型另有 X、Y 的比例誤差(Table 2 斜率 −1.89×10⁻⁵、−1.823×10⁻⁵)、直線度與偏擺;它們隨位置變化,不是一條固定的剛體變換,誤差項放不進來(見機台幾何誤差)。熱、切削力、夾持、毛邊與殘屑也都不在模型裡。所以這一案呈現的是「這一項誤差單獨會切出什麼」,不是重現那 21 件。
  • 機台不是報告那一台。 骨架只借用報告的行程與這一個角度;它是 Y 疊在 X 上,報告的機台是 X 疊在 Y 上,兩個運動之間的夾角相同。
  • 試件是重建的。 板子、帶與鑽深是在不等比的掃描圖上量的,四個小凸台沒做;刀具、刀把、材料、夾具與程式都是選的。
  • 只看幾何。 物理關閉:沒有切削力、撓曲,也沒有溫度。
  • 一般三軸程式,標不標記都是同一個零件。 控制器知道誤差時能補回多少,要在 RTCP、傾斜工作平面或 CL 播放上才看得到,這一案示範不了。
  • 跟報告比只到大小與方向。 兩邊真圓度的定義不同;報告 5.3 節 CMM 算法的字面是 θ2 + θ1,θ1 的號與式 44 相反。本頁照報告 6.3 節的比法;照字面讀,零件會是 +6.87″,與 CMM 差 7.93″,仍在它的不確定度內。
  • 網格距離有下限(難題 8)。1 mm 修剪網格上,底面以外有 198 個頂點差超過 10 µm:182 個在 −17.5 到 −21.6 µm,位在方孔直牆接圓角的地方(x 66.7–141.4);16 個在 +0.41 與 +0.45 mm——正好是 1/√6 與 1/√5 mm——位在右凸緣牆與板子前後兩緣相接的地方。對 1 mm 名目切削件逐三角形精算後,這 198 個都是兩份 1 mm 切削件之間真的差,不是搜尋的假象;凸緣角上那 16 個是怎麼來的,沒有追查。零件的判定只用 0.25 mm 的幾趟。
  • 沒有追的觀察。 碰料旗標在開與名目之間有幾步不同:0.25 mm 有 2 步,在圓槽兩個圓的閉合點 φ 0(nist-t2-slot.nc 第 19、22 行,一進一出);1 mm 有 17 步,在 17 個方孔路徑的收尾段。路徑平移幾 µm,就足以改變剛好擦到格邊那一步的旗標;沒有任何一條標準用到這個旗標。Diff 的目標三角形比 STL 少,NaN 葉只出現在切削件與名目不同的趟(見上面的 Diff--Stats)。內牆 φ 0 處的 +0.37 µm 沒有查明(難題 7)。
  • 誤差項那幾趟的工作偏移是打入的,就像碰數會找到的值;HiNC 的 P0 量法不同(難題 4)。
  • 牆鐘時間是輪詢間隔的倍數,5 s。

讀者可以帶到自己案例的

  • 誤差的正負號,從來源自己的定義推,再重算一個來源印出的數字確認讀法——這裡是 Table 5 的 −5.10″。
  • 把誤差的樞軸放在碰數姿態:碰數找到的工作偏移就不會動,各趟之間不必打入不同的值。
  • 輪廓切出的牆,照刀心的路徑預測:圓槽的橢圓是 k × 刀心半徑,不是 k × 牆半徑。
  • 垂直度要從兩排特徵或一個方框的牆讀,不要拿同一個程式位置上的鑽孔對銑孔。
  • 一般三軸程式裡,標不標記不影響切削;只有 RTCP、傾斜工作平面或 CL 播放,控制器才補償得了(見標記會改變什麼)。
  • 標準照原文判:更正後的預測是對計畫的發現,不能拿來重新判定。
  • 網格距離的極值先逐三角形精算,再當成形狀來讀;並清楚這套量法的下限:小半徑上的弦高,以及 32 位元座標。
  • 一項建模的誤差與實測零件比,只比大小與方向,而且要在量測的不確定度內:一項常數誤差不是重現那些零件。

來源與授權

  • 報告:David E. Gilsinn(NIST,Mathematical and Computational Sciences Division,Gaithersburg MD)與 Alice V. Ling(AFRL/DEX,Kirtland AFB NM),Comparative Statistical Analysis of Test Parts Manufactured in Production Environments,NISTIR 6868,National Institute of Standards and Technology,2002 年 6 月(作者與單位照報告的書名頁),https://doi.org/10.6028/NIST.IR.6868;PDF 在 https://nvlpubs.nist.gov/nistpubs/Legacy/IR/nistir6868.pdf,2026-10-07 下載:4,840,610 bytes,100 頁,SHA-256 423534d643f8c80e7a9af5ee84d5378f048606ce5b01cc159d6289f0136c04ab;PDF 的中繼資料寫 "Digitized by the Internet Archive",是印刷本的掃描。連結失效時的搜尋詞:NISTIR 6868、Comparative Statistical Analysis of Test Parts Manufactured in Production Environments、Gilsinn Ling laser ball bar test parts CMM。
  • 資料集:沒有。報告把量測印在表裡(Tables 1–16、附錄 A、B、G);沒有 CAD 檔,也沒有 NC 程式。
  • 授權:NIST 對技術叢書的聲明,2026-10-07 讀自 https://www.nist.gov/open/copyright-fair-use-and-licensing-statements-srd-data-software-and-technical-series-publications 的 "NIST Technical Series Publications" 一節,原文:

    In accordance with Public Law 100-519, Section 107 (Oct 24, 1988), NIST maintains a research information center to support the research, publishing, and preservation needs required to fulfill the scientific and technical mission of NIST. This includes publishing the NIST Technical Series: technical reports and Journal of Research of NIST. Works authored by NIST employees are not subject to Copyright protection within the United States; foreign rights are reserved. To the extent NIST may assert rights outside of the United States, the public is granted the non-exclusive, perpetual, paid-up, royalty-free, worldwide right to reprint works in all formats including print, electronically, and online, and in all subsequent editions, and derivative works. Please use the recommended citation format below followed by 'Republished courtesy of the National Institute of Standards and Technology.' Some works published by NIST may have been written by third parties and may be subject to copyright protection.

    報告本身沒有版權行。第一作者在 NIST;第二作者 A. V. Ling 列在 AFRL/DEX(空軍的研究單位),那部分是不是以聯邦雇員身分寫的,查不到(2026-10-07 兩方面都沒查到),所以聲明的最後一句可能適用於部分內容(難題 2)。因此本頁只用沒有授權限制的東西:報告的數字與零件尺寸,以及少數附節號的短句。本頁沒有重製報告的任何圖、表或頁面;試件由我們重畫,每一張畫面都是 HiNC 的仿真畫面。

  • 出處標示:

    Measured data and part dimensions: D. E. Gilsinn, A. V. Ling, "Comparative Statistical Analysis of Test Parts Manufactured in Production Environments", NISTIR 6868, National Institute of Standards and Technology, Gaithersburg MD (2002), https://doi.org/10.6028/NIST.IR.6868. Republished courtesy of the National Institute of Standards and Technology. Changes: the part model, the NC programs, the tools and the HiNC project are ours, built from the report's drawing and tables (see "What we changed" below).

    NIST 並未背書本案例、HiNC 或這裡用到的任何產品;素材依現狀提供,不附任何保證。

  • 我們改了什麼(What we changed):

    • 試件:一支腳本照圖與 Table A1 寫出,板子當成一塊約 196 × 165 × 19 mm 的方料,特徵照我們的程式切出。板子大小、方框與兩側凸緣之間的帶、外圈孔的鑽深,是在掃描圖上對照標註的尺寸量的;四個小凸台與它們的孔不做。
    • 程式(Fanuc)是我們寫的;圓槽的切削方向照報告 5.4 節,下刀量、刀路、進給與轉速是選的。
    • 刀具、刀把、材料、夾具:選的。每一趟都物理關,它們都不影響這一案比的幾何誤差。
    • 機台:HiNC 沒有外形的三軸骨架 Empty-wXYOZSt,行程照報告。骨架是 Y 疊在 X 上,報告的模型是 X 疊在 Y 上;零件記下的是兩個運動之間的夾角,兩者相同。
    • 這一案另外加的:機台上一條標記的誤差項連接 XYsq。值讀自報告的 Table 1(五趟的平均),放在 Y 軸上游是照擁有者的裁定,正負號與樞軸是推得的。
  • 我們做了什麼:每一張畫面都是 HiNC 的截圖;圖表畫的是 HiNC 的逐步結果與切削網格,以及報告印出的數字(Republished courtesy of the National Institute of Standards and Technology)。全部是仿真:沒有切過任何零件,也沒有用到報告那 21 件零件本身。讀者請到 NIST 取得報告。

另見