跳轉到

BCAM 薄葉片:在切削之前就分辨出兩種五軸側銑精加工

巴斯克應用數學中心 (Basque Center for Applied Mathematics) 與巴斯克大學 (University of the Basque Country) 的一個研究團隊,公開了一項比較背後的程式:一個薄的、葉片狀的鋼製零件,以錐刀的側刃精加工,一次用商用 CAM 系統 (NX) 產生的程式,一次用作者自己的多道次演算法(本頁稱為 G1)。他們公開了六支 Heidenhain 程式、以 NURBS 曲面表示的葉片,以及一張他們在完成面上量得的偏差圖:NX 程式在面的底部附近留下最多 +0.14 mm,G1 程式則保持在 ±0.01 mm 之內。他們沒有公開機台、夾具、葉片在程式座標系中的位置,也沒有給三把刀具中兩把的尺寸。

一個 AI 代理 (agent) 依這些檔案、資料集對錐刀的簡短描述,以及作者論文補充的少數事實建立這個案例。它用半精加工程式把 CAD 放進程式的座標系,在仿真任何東西之前就先以幾何預測出量測圖,接著透過 HiNC 的 Web API 建出並播放專案:粗加工與半精加工只跑一次,兩種精加工都從那次記錄下的毛胚開始,解析度 0.0625 mm。加工完成的零件在論文標示的 45 個點上,與論文數值平均相差 NX 為 0.0019 mm、G1 為 0.0047 mm,沒有任何碰撞。途中代理遇到十一個難題。本頁是這段過程的紀錄,小問題也包括在內。

HiNC 仿真:錐刀裝在熱縮刀把上,走到 G1 最下一道的中途,下方是粗加工與半精加工留下的葉片;刀的右邊這一道已經走過,整個高度都呈綠色、落在設計面上;刀的左下方還沒走到的地方,以及精加工刀具碰不到的底部,半精加工後的毛胚呈藍色

案例

資料集(Zenodo,2025,CC BY 4.0)包含九個檔案:

  • 六支程式,Heidenhain TNC 對話式格式:一支三軸粗加工(01,21 號刀)、一支繞著葉片走一整圈的五軸球刀半精加工(02,24 號刀)、分三道的 NX 側銑精加工(03,22 號刀),以及作者的 G1 精加工,每支程式一道(04.1–04.3)。所有五軸程式都用 M128(刀具中心點控制)與 B/C 旋轉軸字。
  • 葉片兩份:blade_full.obj,一片修剪過的雙三次 B-spline 曲面(133 × 73 個控制點),以及 blade_front.obj,一個三角網格。
  • 偏差圖(論文的 Fig. 16):完成面以 −0.25 至 +0.25 mm 著色,NX 那半邊印有 20 個數值、G1 那半邊 25 個,精度到 0.01 mm。檔案與論文都沒有指名量測它所用的儀器。

資料集的偏差圖,即論文的 Fig. 16:兩片加工完成的葉片並排,左邊 NX 那片最下兩列印著 +0.07 到 +0.14 mm,右邊 G1 那片每個值都在 ±0.01 mm 之內。圖:K. Rajain 等人,Zenodo 2025,CC BY 4.0,已縮小

紀錄的描述補充了錐刀:它「has a taper angle of 6 degrees, a radius of 3 mm, 3 flutes, a cutting length of 28 mm, and an overall length of 83 mm」(錐角 6 度、半徑 3 mm、3 刃、切削長度 28 mm、全長 83 mm)。

作者提交版的論文(讀過,但沒有保留;它的授權是非商業性的)補充了:一塊 60 × 50 × 60 mm 的 AISI 1045 鋼塊、各刀具的類型、切削速度 100 m/min、每刃 0.03 mm,以及每道側銑 19 mm 的軸向切深。

沒交代的:機台與它的運動學、夾具、鋼塊與葉片在程式座標系中的位置、21 號與 24 號刀的直徑、刀把,以及 G1 程式——帶著原點平移並呼叫 0 號刀——與 NX 程式——兩者都沒有——之間的關係。

代理建了什麼

每個值都標明出處:讀取(來源寫明的)、推得(由來源推算的)或自選(來源沒說、由代理決定的)。

項目 值
設計模型 blade_full.obj 放進程式座標系(見下),並網格化成一個封閉實體,從 Z −51.6 的底面到葉片頂部 Z −3.0,141,116 個三角形——推得;在 CAD 的下端(Z −47.95)以下,以它的端截面筆直往下延伸到底面——自選
CAD 放在哪裡 NC = R·OBJ + t:OBJ Y → X、OBJ Z → −Y、OBJ X → −Z,t = (30, 25, 42.10) mm——只由程式 02 推得
毛胚 60 × 50 × 60 mm——讀取;X 0–60、Y 0–50、頂面在 Z 0——由粗加工的範圍推得
材料 AISI 1045——讀取;HiNC 資源庫中與它對應的 JIS 材料 S45C——自選
機台 以簡單方塊組成的通用 B/C 雙轉台機:B 讓工作台繞 Y 傾斜,C 讓它旋轉;機械原點與換刀位置在 Z 600——自選
夾具 一個高 86.6 mm 的墊高座,讓鋼塊頂面位於 C 軸旋轉台上方 146.6 mm——由 G1 程式的原點平移推得
控制器 Heidenhain;預設點 1 在程式原點,預設點 2 在 C 軸旋轉台中心——推得
21 號刀 平底端銑刀——讀取(論文);Ø18——推得:從 Z −5.86 到底面 −51.6 的每一層粗加工,刀具中心都與葉片保持 9.496 mm,扣掉論文的 0.5 mm 預留量;刃數、各段長度、伸出量、刀把——自選
24 號刀 球刀——讀取(論文);Ø6——由半精加工刀具路徑的擬合推得;刃數、各段長度、頸部、伸出量與刀把——自選
22 號刀 錐角 6°、半徑 3 mm、3 刃、切削長度 28 mm、全長 83 mm——讀取(紀錄的描述);一把錐度球刀,6° 為半錐角,3 mm 為側刃在刀尖平面處的半徑,刀尖球頭 R3.332——由程式推得;Ø11.4 頸部、熱縮刀把、伸出量 47 mm——自選
主軸 通用電主軸,連續 7.5 kW、最高 24,000 rpm——自選
轉速與進給 3,183、13,793 與 5,305 rpm;精加工各道 477 mm/min——由程式讀取
程式 01、02、03 逐位元組原樣;04.1–04.3 用改了兩行的複本(見下)
任務 粗加工與半精加工只跑一次,並記錄下毛胚;NX 與 G1 精加工各自從那筆記錄開始,開啟幾何差異,並匯出加工完成的零件

HiNC 裡的通用五軸 B/C 雙轉台機:立柱與主軸頭、繞 B 傾斜的搖籃與它帶著的 C 軸旋轉台,葉片站在台上的墊高座上

22 號刀照比例畫的剖面:熱縮刀把、伸出 47 mm,頸部 Ø11.4,28 mm 的刃長到頂端半徑 5.94,半錐角 6°,刀尖球 R3.332,錐面往下延伸到刀尖平面時半徑 3.0,也就是資料集說的 3 mm

代理怎麼管理這件工作

  • 什麼算通過,先寫下來。 在任何仿真之前,代理先定下六項標準:G1 的 25 個點全部在設計面 ±0.04 mm 之內;NX 最下兩列每點 +0.05 mm 以上、平均 +0.09 以上,最上兩列 +0.05 以下;NX 最下兩列的平均比 G1 最下兩列的平均至少高 0.07 mm;45 個點中至少 40 個,HiNC 與一個獨立的幾何預測相差在 0.03 mm 之內;一次乾淨的執行;以及照原樣播放 G1 程式 04.1(TOOL CALL 0)時,只做記錄、不下判定。
  • 仿真之前先預測。 代理在自己的一支簡短腳本裡,讓錐刀沿每一道精加工刀路掃過,並量它到放好的 CAD 的距離。這項計算與 HiNC 沒有共用任何程式碼,所以兩者一致,就是對雙方的交叉核對。
  • 先跑精簡版的執行。 精加工程式先在一個代替半精加工後葉片的替代毛胚上播放——把設計模型加厚半精加工留下的 0.48 mm——只花幾十秒。粗加工與半精加工共 197,265 步,只以驗收解析度 0.0625 mm 跑一次,兩種精加工都從它記錄下的毛胚播放。
  • 共用一台伺服器。 這些執行送到一台共用 Linux 伺服器上、已發佈版 HiNC 的一份私有複本,其他代理也在那台伺服器上建其他案例。重的執行都在同一把共用鎖上排隊。驗收鏈第二次啟動時,排在另一個案例的驗收執行後面等了 21 分鐘,卻什麼都沒播放(見最後一個難題);第三次啟動立刻取得鎖,並在同一次持鎖中跑完:粗加工與半精加工 1 h 54 min,然後每種精加工各約 2 分鐘。
  • 邊播放邊觀察。 擁有者要求長時間的執行要在播放時就被監看,而不是只在結束時判定:錯的程式原點或錯的刀具補正不會讓播放停下來——它會一連幾個小時持續碰撞、切空氣或切得太深——而不會破壞後續加工的小缺陷,則可以記下來、讓它繼續跑。從那時起,代理每隔幾分鐘(在很短的精加工期間更頻繁)用不改變任何狀態的請求讀一次執行(方法見透過 HTTP API 進行重播驗收 §2):警報數與警告、每個檔案已執行的行數,以及最近 4,000 步中與毛胚接觸的步數比例,還有切削力、降伏應力比與主軸功率的峰值。最後一步的刀具與行號、以及切深峰值,是之後才加進檢查的。這項要求是在粗加工與半精加工進行中提出的,它們在接近結束時做了一次這樣的檢查;NX 精加工在播放途中做了三次,G1 精加工則在它剛播完時做了一次。每一次檢查都讀到沒有警報,精加工各道有 72–74 % 的步在接觸,負載都在刀具與主軸的極限之內。一張在後來某次精加工播放途中拍下的畫布截圖,呈現了刀具,以及到那時為止切出的毛胚。
  • 人在哪裡介入。 這個案例是一起收集的十四個案例之一,其中大多是論文裡的單刀實驗。精簡版執行通過之後,擁有者問這些案例是做什麼用的:實作案例是給生產工程師認得出來的零件。代理在驗收鏈開始之前把它從佇列中撤回,並交出一份附圖的頁面,因為一份只有文字的報告沒能讓人看出這個案例在講什麼。擁有者裁定薄葉片是產品案例;驗收是在這項裁定之後才跑的。
  • 獨立查核書面紀錄。 本頁發佈之前,五個代理各自拿案例檔案與執行紀錄,逐項查核本頁與公司網站摘要中的一部分——共 322 項陳述。每部分提出的問題,最多五個交給另一個受命反駁它們的代理:24 個成立,1 個被駁倒。其餘 25 個由代理自己權衡。修正都已反映在本頁:一個難題數目、把一張沒有指名儀器的圖說成「掃描」的用詞、一個從側刃而不是從完成面讀出的 G1 範圍、三列刀具的出處,以及 0 號刀的證據——它原本把一把刀放進了一個根本沒有刀的主軸。更早的一輪、在驗收之前的六個反駁代理,撞上了帳號的用量上限,什麼都沒傳回。

難題

每一個都依序講述:情況、錯過的風險、怎麼發現、解法,以及證明解法站得住的證據。

哪個檔案才是完成面?

  • 情況。 資料集把網格命名為 blade_front.obj,讀起來像是加工過的正面。
  • 風險。 拿加工完成的零件去和葉片錯的那一面比較。
  • 怎麼發現。 CAD 一放好,網格的每一個頂點都落在朝 +Y 的那一面;而所有精加工刀路都走在 −Y 那一面。
  • 解法。 改用 blade_full.obj。它的曲面環繞整個葉片、兩端經過修剪,所以把兩端封起來,就得到整片葉片的實體。網格的三角形間距約 2.5 mm,而面的曲率半徑約 45 mm,弦高誤差接近 0.017 mm——和 G1 的偏差一樣大,所以無論如何都不能拿它當設計模型。
  • 證據。 網格的頂點落在 NURBS 曲面上 OBJ Z ≤ 0 的那一半(在 5 µm 之內;只有它在 OBJ Z = 0 處切平的邊緣,最多偏離 0.09 mm);精加工刀路只碰到另一半。

葉片在程式座標系的哪裡?

  • 情況。 CAD 與程式用的是不同的座標系,也沒有給出轉換。
  • 風險。 拿精加工程式來擬合 CAD 的位置,會讓 G1 程式在建構上就「吻合」。
  • 解法。 只拿半精加工程式 02 來擬合:它的球頭以固定的距離繞葉片走一整圈,所以設計曲面就是球心軌跡的一個等距偏移面。從兩個包圍盒所暗示的座標軸互換出發,剛體擬合一直停在這個互換上(7·10⁻⁵ rad 之內),以及 X、Y 各 30 與 25 mm 的平移上(3 µm 之內)——CAD 的原點是 60 × 50 mm 鋼塊的中心——殘差 2.2 µm。沿葉片的高度是決定得最弱的方向(以球半徑 2 到 3.3 mm 做的各次擬合,落在 42.07–42.11 mm)。
  • 證據。 用這個擺放,在任何仿真之前,對偏差圖 NX 半邊的幾何預測,與印出的 20 個數值平均只差 0.002 mm、最多 0.008 mm。

「半徑 3 mm」量的是哪裡?

  • 情況。 6° 的錐面與半徑 3 的刀尖球相切時,三道 G1 與 NX 程式上面兩道,都與設計面保持 0.28–0.30 mm 的距離——從刀尖以上 3 到 23 mm、沿整個弦向都是同樣的間隙。
  • 風險。 一把細了 0.3 mm 的刀仍會切進半精加工留下的 0.48 mm,但只切掉其中約 0.19 mm,於是精加工會「留下」一層均勻的 0.3 mm——而沒有任何一支程式留下它。
  • 解法。 在每個高度都一樣的間隙是半徑偏移,不是角度誤差(錯的角度會隨高度變大)。所以 6° 是半錐角,而 3 mm 是錐面往下延伸、與刀尖平面相交處的半徑——正是 HiNC 一般 APT 定義直徑的方式。刀尖球的半徑因此是 3 cos 6° / (1 − sin 6°) = 3.332 mm。另一種可能——程式給的是球心而不是刀尖——在程式 02 上測試過,擬合差了五倍。專案用一般 APT 描述這把刀,它明確寫出刀尖球與錐面(直徑 6、圓角半徑 3.332、圓心在刀軸上距刀尖 3.332、beta 6°)。
  • 證據。 用這把刀,每一道 G1 的側刃都落在設計面約 −0.02 至 +0.01 mm 之內,而幾何預測在論文的 25 個 G1 點上,把 G1 完成面放在 −0.016 至 +0.025 mm。論文指名的型錄編號(06030B)在網路上找不到。

21 號與 24 號刀的尺寸

  • 情況。 檔案對它們隻字未提;論文說一把是平底端銑刀、一把是球刀。
  • 解法。 從 Z −5.86 到底面的每一層粗加工,刀具中心最近都來到離葉片 9.496 mm;配上論文的 0.5 mm 預留量,就是一把 Ø18 的刀。半精加工的球刀,擬合殘差從半徑 2 到 3.3 幾乎持平(2.24–2.47 µm),在 3(Ø6)最低,這會在葉片上留下 0.48 mm,而不是論文說的「至多 0.2 mm」;要留 0.2 mm,半徑得接近 3.4,介於 3.3(2.32 µm)與 3.5(3.35 µm)的擬合之間,殘差正從那裡開始上升。本頁報告這項不一致,而不是採用論文的數字。
  • 證據。 擬合殘差從半徑 3.0 的 2.24 µm,升到 3.5 的 3.35 µm、4.0 的 11.8 µm。粗加工最上面四層掃過整個鋼塊頂面,所以葉片頂部在 Z −3.0。

兩支程式,兩個原點

  • 情況。 G1 程式以 CYCL DEF 7 X−30 Y−25 Z146.6 平移原點;NX 程式沒有平移。然而兩者在程式座標中涵蓋同一個範圍。
  • 風險。 在同一個預設點上,G1 刀路會落在離 NX 刀路 30 與 25 mm 之外的地方。
  • 解法。 X−30 Y−25 是鋼塊的一半,所以專案把 G1 程式解讀為:從鋼塊中心正下方、頂面以下 146.6 mm 的一個預設點執行,並把那一點當作旋轉台的中心;來源沒有說作者是怎麼執行它們的。專案保留兩個預設點:預設點 1 在程式原點,給 01–03 用;預設點 2 在 C 軸旋轉台中心,給 04.x 用;各自由任務以 CYCL DEF 247 啟用,就像操作員從基準點預設表啟用一樣。夾具是一個墊高座,剛好把鋼塊頂面放在那個高度。複本把平移的第一行——程式裡是一行空的 CYCL DEF 7.0——寫成 CYCL DEF 7.0 DATUM SHIFT,帶上 TNC 會顯示的循環名稱。
  • 證據。 HiNC 把在程式原點上的預設點 1 放在機械座標 (−30, −25, 46.6);預設點 2 是它加上 (30, 25, −146.6),也就是 (0, 0, −100),C 軸旋轉台頂面的中心。G1 與 NX 刀路精修的是同一面。

0 號刀

  • 情況。 G1 程式呼叫 TOOL CALL 0。在 TNC 上,0 號刀是零刀,長度與半徑都是 0;HiNC 同樣以長度 0 補正它,而刀具庫中沒有 0 號刀時,主軸上原本的刀留著不動。
  • 風險。 照原樣播放時,沿著刀路走的是主軸的量測基準點。在機台上,留在主軸上的刀會以它的全長垂在那一點下方——這裡錐刀連刀把是 127 mm——而且是沿著傾斜的刀軸,那根刀軸在一道刀路中又隨 C 轉動 47° 到 55°,所以刀尖的偏移會改變方向,沒有任何工件座標偏移能修正它。
  • 解法。 專案播放的是把 TOOL CALL 0 改成呼叫 22 號刀的複本——也就是 NX 程式用的同一把錐刀——這是程式要切到它所寫的位置之前必須做的修改;來源沒有說機台上實際跑的是什麼。
  • 證據。 已發佈的 04.1 為了記錄,照原樣在替代毛胚上播放一次,主軸上沒有刀:完全沒有切削步,Z 軸主軸頭與零件碰撞 61 次。

機械原點在夾具裡面

  • 情況。 通用機台的機械原點把主軸的量規線放在旋轉樞軸上,也就是工作台上方 100 mm。
  • 風險。 一把 127 mm 的刀一開始,刀把就在墊高座裡面,刀尖在工作台頂面以下 27 mm。
  • 怎麼發現。 第一次精簡版執行:33 則碰撞訊息,以及 29 kN 的切削力峰值。
  • 解法。 機械原點與換刀位置都放在 Z 600,與 NIST 五軸案例相同。

一把太短、照規則放不下的刀

  • 情況。 錐刀全長 83 mm,必須伸到葉片頂部以下 42.6 mm;慣用的規則還要再加 5 mm 給刀把的間隙。
  • 解法。 伸出量 47 mm、夾持 36 mm;沿四支精加工程式的整條刀路,每 1 mm 路徑、每 2° 旋轉取樣一次,刀把與半精加工後的零件至少保持 5.15 mm。刃部以上一段 Ø11.4 的頸部,讓刀柄離完成面 0.26 mm,換成一般的 Ø12 刀柄就會擦到。

量測點在哪裡?

  • 情況。 偏差圖給的是數值,不是座標。
  • 解法。 每個印出的數值都掛在一條引線上,引線末端是一個小圓圈。用一個圓圈模板,加上一項檢查——圓圈旁邊只有引線、而不是相鄰的數字——找出了全部 45 個。高度取自面的上緣(葉片頂部)與深色底條的上緣(CAD 葉片的下端);弦向位置取自面在每一列上的輪廓。以右邊為 +X 來看,預測與 NX 半邊平均相差 0.002 mm;鏡像的話是 0.021 mm。

切削之前就已知道

  • 情況。 幾何預測在任何仿真之前就已重現偏差圖的 NX 半邊:最下兩列 +0.07 至 +0.14 mm,最上兩列 0 至 +0.02 mm。
  • 代表什麼。 論文量到的 +0.14 mm 幾乎全都在 NX 程式本身:它各道刀路的幾何掃掠,沒有撓曲、沒有機台誤差,就已經在下半部的面上留下 +0.07 至 +0.14 mm,越往刀尖越多。不需要刀具或零件的任何撓曲來解釋它。

兩次沒有跑起來的驗收鏈

  • 情況。 擁有者的裁定下來後,代理在共用伺服器上以背景方式啟動驗收鏈,然後去做別的工作。
  • 風險。 為一個根本不在佇列裡的執行等上好幾個小時,或是一條什麼都沒播放、卻回報自己已完成的鏈。
  • 怎麼發現。 第一次,鏈自己的日誌根本不存在:啟動時指定的腳本位置,是私有執行資料夾所在之處,而不是案例工具所在之處,而錯誤寫進了一個沒人讀的檔案。重新啟動後,它排隊等到輪到自己,接著在同一秒內記下三次播放各自的開始與結束:私有的 HiNC 實例重新啟動時沒有開啟任何專案,所以每次播放的第一個請求都被拒絕(Player command is not a ListCommand)。
  • 解法。 在實例上開啟專案——案例的重啟腳本現在會做這件事——並且每次啟動之後,先讀日誌的前幾行(任務清單與 status Running)以及伺服器的鎖表,再離開。
  • 證據。 第三次啟動立刻取得鎖,1 h 54 min 之後,日誌記下粗加工與半精加工的 197,265 步。

結果與效益

在 HiNC 3.2.42 上量得,加工解析度 0.0625 mm,主軸每轉一圈一步,在一台 32 執行緒、125 GB 記憶體的 Linux 伺服器上。兩種精加工都從第一次播放記錄下的毛胚開始。

執行 步數 仿真時間 實際耗時 切削力峰值 降伏應力比峰值 在論文的點上
粗加工與半精加工(01、02) 197,265 34 min 55 s 1 h 54 min 724 N 0.27 —
NX 精加工(03) 2,410 24.8 s 2 min 5 s 232 N 0.52 與印出的數值平均相差 0.0019 mm,最大 0.0059 mm
G1 精加工(04.1–04.3) 2,011 21.6 s 2 min 20 s 507 N 0.85 平均 0.0047 mm,最大 0.024 mm
照原樣的 G1 04.1,在替代毛胚上、0.25 mm 0 — — — — Z 軸主軸頭與零件碰撞 61 次

私有實例的常駐記憶體,在粗加工與半精加工期間峰值 8.85 GiB,NX 精加工之後 11.73 GiB,到整條鏈結束時至少 13.45 GiB(每 10 秒取樣一次;G1 精加工最後 9 秒還在上升,沒有取到)。主軸功率比在粗加工與半精加工那一段的峰值是 0.28。

HiNC 加工完成的 NX 面,依與設計的偏差著色:上面幾道是綠色,往下半部的面轉成青色——約留下 +0.1 mm——精加工刀具碰不到的邊緣與底座是藍色

HiNC 加工完成的 G1 面:整個完成面都是綠色、落在設計面上;邊緣與底座是藍色

HiNC 相對設計面的偏差色階(mm):+0.25 以上藍色、+0.12 青色、0 綠色、−0.12 黃色、−0.25 紅色

兩張圖用同一個色階:藍色是留下的材料(+0.25 mm 以上),綠色是落在設計面上,黃到紅才會是切得太深。論文自己的偏差圖顏色正好相反。

同一把錐刀裝在熱縮刀把上,修 NX 程式的最下一道:刀走過的面轉成青色、約留下 +0.1 mm,還沒走到的半精加工毛胚仍是藍色

論文的量測值對 HiNC 在 45 個點上的讀值:NX 的圓點落在代表兩者相等的虛線上,最下兩列在 +0.07 與 +0.14 mm 之間;G1 的方塊聚在零附近,論文只印到 0.01 mm,HiNC 讀到 −0.017 至 +0.024 mm

45 個點逐一列出:論文印的值、HiNC 在完成面上的讀值,以及代理在任何模擬之前寫下的幾何預測,單位都是 mm、相對設計面(列由葉片頂部往下,點沿著弦向)。

程式 列–點 高度 Z 論文 HiNC 幾何預測
NX 1–1 −7.6 +0.02 +0.014 +0.012
NX 1–2 −9.2 +0.02 +0.017 +0.017
NX 1–3 −8.5 −0.00 −0.001 −0.001
NX 1–4 −8.5 +0.02 +0.017 +0.016
NX 2–1 −18.9 +0.02 +0.021 +0.021
NX 2–2 −17.5 +0.01 +0.009 +0.010
NX 2–3 −17.9 −0.00 −0.000 −0.000
NX 2–4 −18.7 +0.01 +0.008 +0.008
NX 3–1 −26.2 +0.07 +0.071 +0.071
NX 3–2 −25.5 +0.05 +0.047 +0.047
NX 3–3 −25.9 −0.00 −0.001 −0.001
NX 3–4 −26.3 +0.00 +0.001 +0.001
NX 4–1 −32.0 +0.10 +0.101 +0.101
NX 4–2 −32.1 +0.10 +0.098 +0.098
NX 4–3 −32.5 +0.09 +0.089 +0.088
NX 4–4 −32.8 +0.07 +0.070 +0.071
NX 5–1 −41.0 +0.13 +0.130 +0.130
NX 5–2 −40.4 +0.14 +0.136 +0.136
NX 5–3 −40.8 +0.14 +0.141 +0.141
NX 5–4 −40.8 +0.13 +0.136 +0.136
G1 1–1 −7.2 −0.00 +0.004 +0.004
G1 1–2 −7.6 +0.01 +0.014 +0.014
G1 1–3 −8.1 +0.01 +0.013 +0.013
G1 1–4 −7.7 +0.01 +0.009 +0.009
G1 1–5 −8.1 +0.01 +0.003 +0.003
G1 2–1 −14.3 +0.01 +0.009 +0.008
G1 2–2 −14.4 +0.01 +0.014 +0.015
G1 2–3 −15.2 +0.01 +0.008 +0.008
G1 2–4 −14.4 +0.00 −0.002 −0.002
G1 2–5 −14.5 +0.00 −0.001 −0.001
G1 3–1 −23.7 −0.00 −0.002 −0.002
G1 3–2 −23.4 +0.01 +0.014 +0.013
G1 3–3 −24.1 +0.01 +0.016 +0.016
G1 3–4 −23.8 +0.00 +0.021 +0.022
G1 3–5 −23.8 +0.00 +0.024 +0.025
G1 4–1 −32.0 +0.00 +0.001 +0.001
G1 4–2 −32.4 +0.01 +0.009 +0.010
G1 4–3 −32.1 +0.01 +0.006 +0.006
G1 4–4 −31.8 −0.00 −0.011 −0.011
G1 4–5 −32.2 −0.00 −0.002 −0.001
G1 5–1 −40.0 +0.00 +0.000 −0.001
G1 5–2 −40.4 −0.00 −0.004 −0.004
G1 5–3 −40.8 +0.00 −0.003 −0.003
G1 5–4 −41.1 −0.01 −0.017 −0.016
G1 5–5 −41.5 −0.01 −0.009 −0.009
標準(在第一次播放之前寫下) 量得 判定
G1 的 25 個點全部在設計面 ±0.04 mm 之內,每支 G1 程式都有切削 最大 0.024 mm;04.1、04.2、04.3 每個區塊都執行了(71、71 與 76 個,原點平移的四行算一個),完成面七個高度帶的中位數落在 −0.004 至 +0.011 mm(沒切到的那一道,它的高度帶會停在 +0.48) 通過
NX 最下兩列每點 +0.05 mm 以上、平均 +0.09 以上;最上兩列 +0.05 以下 +0.070 至 +0.141,平均 +0.113;最上兩列最多 +0.021 通過
NX 最下兩列的平均比 G1 的至少高 0.07 mm 0.116 mm:NX +0.113 對 G1 −0.003(論文印出的值:0.1125;幾何預測:0.115) 通過
45 個點中至少 40 個,HiNC 與幾何預測相差在 0.03 mm 之內 45 個全部;最大差 0.0018 mm,平均 0.0005 mm 通過
一次乾淨的執行 每支程式的每個區塊都執行了(01、02、03 各 21,586、21,057 與 514 個);沒有碰撞,沒有快移穿過材料;依代理的檢查刀把離零件 5.15 mm,HiNC 中也沒有刀把碰撞 通過
照原樣的 04.1,只做記錄 在替代毛胚上、0.25 mm:沒有切削步;Z 軸主軸頭與零件碰撞 61 次 已記錄

精簡版執行跑在前面:兩種精加工都在替代毛胚上以 0.25 mm、主軸每轉一圈一步播放,每支約 20 秒。

精簡版執行 步數 仿真時間 在論文的點上 切削力峰值
NX 精加工(03) 2,410 24.8 s 平均 0.0019 mm,最大 0.0052 mm 243 N
G1 精加工(04.1–04.3) 2,011 21.6 s 平均 0.0048 mm,最大 0.024 mm 486 N

每一步依每轉進給切分,與網格無關,所以步數與仿真時間都和驗收相同。在 45 個點上,精簡版執行的讀值與驗收的數值相差不到 0.0014 mm,所以精簡版執行短短幾十秒就已給出答案。

  • 給加工工程師。 HiNC 只憑程式、在切任何金屬之前,就分辨出兩種精加工策略:NX 程式在下半部的面上留下 +0.07 至 +0.14 mm,論文量到的正是 +0.07 至 +0.14;G1 程式在論文的 25 個點上都在 0.024 mm 之內。粗加工與半精加工播放並記錄下來之後,每一種精加工變化只花約兩分鐘的伺服器時間——這就是在記錄下來的毛胚上比較 CAM 策略的代價。HiNC 的碰撞檢查(含刀把)在每一道刀路上都沒有發現任何東西,而代理自己的檢查讓刀把離零件 5.15 mm、頸部離零件 0.26 mm。
  • 給老師或學生。 用錐刀側銑:錐面沿著五軸刀路掃過時,可能離開它要精修的曲面一段距離,而且越往刀尖越大;怎麼對照程式去解讀型錄上的「半徑 3 mm」;用一支繞零件一圈的程式來擺放 CAD 模型;以及原點平移與 0 號刀透露了程式是怎麼執行的。
  • 給評估這種做法值不值得的人。 從公開檔案到一個通過驗收的仿真:代理自己寫了約 2,100 行 Python(擺放、預測、設定、播放、判定),在共用伺服器上跑了 2 小時的驗收,每次精簡版執行只要幾十秒。人訂下規則(刀把用工廠會用的伸出量、只用公開資料)、裁定哪些案例留在實作案例中,並要求長時間的執行要邊播放邊觀察;其餘都由代理完成。兩次什麼都沒做的啟動,花掉約四小時的等待,沒有花掉伺服器時間。發佈之前,審查代理確認了書面紀錄中的 24 個問題,代理自己又權衡了 25 個;修正都已反映在本頁。

誠實的限制

  • CAD 的擺放是擬合出來的,不是給定的;它沿葉片的高度在各次擬合之間相差約 0.04 mm(42.07–42.11 mm)。
  • 機台、主軸、夾具的形狀與刀把都是代理的選擇;夾具的高度以及 21 號與 24 號刀的直徑是由程式推算的,不是來源寫明的。機台的運動學誤差、刀具的偏擺與撓曲,以及葉片的柔性,都不在比較之中。
  • HiNC 加工完成的零件是和設計比較,而不是和論文的量測資料比較:匯出的零件是在 45 個點上沿設計面的法向量測的,論文量測的對位方式不明,而最佳擬合對位會把均勻的偏移藏起來。
  • 論文印出的數值精度到 0.01 mm,所以在單一點上優於約 0.005 mm 的吻合,落在印出數值的捨入範圍之內。
  • 粗加工與半精加工的最大切深讀值 48.6 mm,等於葉片的整個高度(Z −3.0 至 −51.6),而粗加工的切深應該等於它 2.86 mm 的每層下刀量。這次執行在紀錄被清除之前,沒有找出是哪一步;同一次播放的負載一直很低(724 N,降伏應力比 0.27),加工完成的面也不依賴它。
  • 錐刀的角度、半徑、刃數與各段長度讀自資料集的描述;6° 是哪一個角、3 mm 的半徑在哪裡量,是從程式推斷的;型錄資料沒有找到。
  • 每支 G1 程式改了兩行才能播放;本頁寫明改了哪兩行、為什麼。

讀者可以帶到自己案例的

  • 用一支以固定偏移繞零件一整圈的程式來擺放 CAD 模型,而不是用你想要評判的那支程式。
  • 刀具與設計之間的間隙若在每個高度都一樣,是半徑問題;隨高度變大的,是角度問題。
  • 把公開檔案的檔名(這裡是 blade_front.obj)當成一項要拿程式去核對的主張,而不是當成哪一面被加工過的陳述。
  • 一支程式裡有原點平移與 0 號刀,另一支涵蓋同一範圍的程式兩者都沒有,這指向兩個預設點,以及一把由操作員換上的刀。
  • 在信任錐刀的曲面之前,先依刀具幾何頁的一致性關係式核對它的 APT 值;錐形球刀要用一般 APT,因為 TaperApt 是尖角錐刀。
  • 執行切錯位置時,先讀逐步紀錄(DatumShift、刀具補正),再去改設定。
  • 長時間的播放要邊跑邊看——警報數、最近各步的接觸與負載——只有在設定錯誤會毀掉後續加工時才停下它。
  • 粗加工與半精加工階段記錄下來之後,就能在那個毛胚上比較各種精加工策略,每種只要幾分鐘。

來源與授權

  • 來源。 K. Rajain, G. Gómez Escudero, M. Bizzarri, H. Gonzalez Barrio, A. Calleja-Ochoa, L. N. López de Lacalle, M. Barton, High-quality smooth finishing of blade-like geometries via G1 multi-pass 5-axis flank CNC machining using conical cutting tools, Zenodo (2025)——https://zenodo.org/records/15830311;論文見 K. Rajain 等人,The International Journal of Advanced Manufacturing Technology 136, 4383–4397 (2025),https://doi.org/10.1007/s00170-024-14898-6。連結若搬移,可搜尋 zenodo 15830311 或標題。
  • 授權。 資料集:Creative Commons Attribution 4.0 International,https://creativecommons.org/licenses/by/4.0/。已出版的論文不是開放取用,本案例沒有讀它。本頁在資料集之外取自論文的事實(鋼塊、材料、切削資料、刀具類型、預留量,以及偏差圖的圖號)讀自 BCAM 典藏庫中作者的提交版本 https://bird.bcamath.org/handle/20.500.11824/1905(CC BY-NC-SA 3.0 ES),該版本沒有保留,也沒有用在其他任何地方;已出版的論文在細節上可能與它不同。
  • 出處標示。 NC programs, blade models and deviation map: K. Rajain, G. Gómez Escudero, M. Bizzarri, H. Gonzalez Barrio, A. Calleja-Ochoa, L. N. López de Lacalle, M. Barton, Zenodo (2025), https://zenodo.org/records/15830311, licensed CC BY 4.0, provided as-is and as-available without warranties. 本頁的圖是 HiNC 對這些程式與模型所做的仿真。
  • 修改之處。 三支 G1 程式各以改了兩行的複本播放(TOOL CALL 0 → TOOL CALL 22;CYCL DEF 7.0 → CYCL DEF 7.0 DATUM SHIFT);blade_full.obj 放進程式座標系,並網格化成從 Z −51.6 到 −3.0 的封閉實體,在 CAD 葉片下端(Z −47.95 至 −47.57)以下,以它的端截面筆直往下延伸到底面;偏差圖上的點是在圖像上定位的。特寫圖在最下一道的中途停下播放,用的是截到第 453 個區塊為止的 03 複本,以及截到第 46 個區塊為止的 04.3 G1 複本,各自以自己的 END PGM 行結尾。其餘一切都照交付的原樣播放。本站不提供下載:讀者自行到 Zenodo 取得原始檔;公司網站保留一份備份。

另見