Benchmark Dataset of 10 Multi-Feature Models for Single-Setup 3-Axis Milling、zenodo 17035762.ngc、G64 P Q 與 G91.1 看起來是 LinuxCNC 的後處理(這是我們的推斷,紀錄並沒有寫)。一個 AI 代理拿到紀錄裡件 1–3 的 STEP 模型、NC 程式與圖片,以及一台以網頁服務執行的 HiNC,只能透過它的 Web API 與公開文件來操作。缺的是:程式所用的毛胚、模型相對於程式原點的位置、機台、主軸、刀把、材料,以及註解「D=6, CR=0」以外的任何刀具幾何。代理逐件建出專案,在第一次播放前先寫下怎樣才算通過,每件先用 1 mm 的粗解析度檢查設定、再用 0.25 mm 驗收,最後把做法寫成建案指南,讓四個獨立的代理只憑指南重建。
前兩張圖由 HiNC 依 M. Schmitz、J. Mertes、F. Schillinger、M. Wagner 以 CC BY 4.0 授權的模型與程式繪出;下面三張是資料集自己的零件渲染圖(CC BY 4.0),經裁切。
模型以原點為中心,程式卻用另一個零點。代理從刀具路徑的側向特徵(槽的中心線、孔的螺旋)找回它,而不是只看底面:模型要平移 (40.5, 40.5, −53)。另一個只看底面的夥伴代理得到的是 40,這種誤差只有側向特徵看得出來。
紀錄寫 80 × 80 × 50 mm,但程式先從 50 mm 高的零件頂面上方面銑掉 1 mm,所以需要 51 mm 的料。照寫明的尺寸,每次和設計比對都會多出一層任何程式都切不到的 1 mm 缺料。代理改用 80 × 80 × 51 mm,並寫下原因。
HiNC 說執行完成,只表示這次執行跑到了結尾;一支從沒裝上刀的程式,也會一刀不切地「完成」。所以代理不看狀態,改用七種證據驗收:步數大於零、刀具確實碰到材料、每一行都執行到、仿真加工時間、與設計的比對建了出來、訊息清單裡沒有預期外的項目,以及切深峰值等於該件的參考值,例如件 1 程式寫的每層 2 mm。三件在兩種解析度下每一項都通過。
件 1 的切深峰值在 1 mm 解析度下是 2 mm,正是程式寫的每層深度,到 0.25 mm 卻是 4 mm。若當成基準錯誤,這個跳動可能讓正確的擺放被「修正」掉。代理逐步列出切深,把每一個 4 mm 的步都追到槽 Z−5 層的同一個單節:槽寬正好一個刀徑,所以在較細的解析度下,側刃會擦到上一層留在壁上的殘料。基準檢查用粗跑那一次;切削力峰值約 100 N,兩種解析度都一樣。
其餘十個都在完整紀錄裡,包括:沒有任何 HiNC 控制器品牌對應的程式方言、交給四個只看得到指南的代理檢驗的建案指南,以及多個代理共用一台伺服器。
三支程式都原樣播放、每一行都執行到,三件在兩種解析度下都通過驗收:52,600、84,637 與 126,971 步(每步是主軸一轉),仿真加工時間 177、297 與 448 秒,在假設的材料與刀具下,切削力峰值約 100、54 與 102 N,兩種解析度都一樣。HiNC 的碰撞檢查也涵蓋刀把與刀柄對毛胚,沒有回報任何接觸。在一台 32 執行緒的伺服器上,每次重播在 1 mm 下要 15 到 25 秒、0.25 mm 下要 30 到 65 秒,記憶體估計 1.4 到 1.7 GB。四次獨立重建都得到相同的步數、程式原點與訊息。這裡的一切都是仿真,沒有任何零件在真實機台上切過。
| 關鍵數字 | 意思 |
|---|---|
| 80 × 80 × 51 mm | 程式真正需要的料塊;資料集寫的是 80 × 80 × 50 mm,少了 1 mm |
| (40.5, 40.5, −53) mm | 模型相對於程式原點的位置,從槽的中心線與孔的螺旋找回 |
| 52,600 · 84,637 · 126,971 | 件 1、2、3 的步數(每步是主軸一轉),1 mm 與 0.25 mm 下相同;320、514 與 1,333 行全部執行到 |
| 177 · 297 · 448 秒 | 仿真加工時間,含快速移動、不含加減速 |
| 約 100 · 54 · 102 N | 在假設的 Al6061-T6 與刀具下的切削力峰值,1 mm 與 0.25 mm 下相同 |
| 2 mm → 4 mm | 件 1 在 1 mm 與 0.25 mm 下的切深峰值:4 mm 的 204 步全在同一個單節,那裡槽寬等於刀徑,側刃擦到上一層留在壁上的殘料;設定沒有錯 |
| 4 次中 4 次 | 獨立代理只憑書面指南重建,每個參考數字都相符 |
| 15~25 秒 · 30~65 秒 | 在 32 執行緒伺服器上,每次重播在 1 mm 與 0.25 mm 下的時間;記憶體估計 1.4~1.7 GB |
第二個代理接手件 4–10:同樣的檔案、同樣的缺口,同樣以網頁服務執行的 HiNC。這七支程式從 2,509 行到 71,377 行。它沿用第一個代理的建案腳本,只改各件自己的數值,所以十件共用其餘每一個選擇。它在任何一次執行前先寫下怎樣才算通過,每件先用 1 mm、再用 0.25 mm 播放,兩支最大的程式先用節錄試過。它為各件寫的說明交給被要求反駁它的審查代理審了兩輪;另一個夥伴代理只憑共用的建案指南,盲建了件 10。
前兩張圖由 HiNC 依 M. Schmitz、J. Mertes、F. Schillinger、M. Wagner 以 CC BY 4.0 授權的模型與程式繪出;下面四張是資料集自己的件 7 到件 10 渲染圖(CC BY 4.0),經裁切。
件 4 得到 (40.5, 40.5),和件 1–3 一樣,件 5 看起來也相同。代理仍然從每件自己的刀具路徑推出程式原點:孔的螺旋、凹槽的精修圓,或沿直牆走的精修路徑。件 5、6、10 在 (41, 41),件 8 在 (28.534, 40.962)。照搬件 4 的數字,件 5 就會偏半公釐;HiNC 不會發出任何警告,比對結果還會把錯怪到程式頭上。
件 8 與件 10 切到 Z−17 與 Z−19。代理把這讀成比 13 mm 刃長還高的牆,給兩件都配了長刀、伸出量 30 mm,兩次重播都通過。一個審查代理量了模型:牆是階梯狀的,最高的單面牆只有 8 與 10 mm。改用標準刀、伸出量 25 mm 重建後,兩件切得一樣,刀把在最深處仍高出毛胚 8 與 6 mm。
HiNC 會依設計替加工後的零件上色,但它的 Web API 讀不到數值。為了證實件 7 的程式在島的凹灣尖端留下材料,代理匯出 HiNC 加工後的工件,逐層切片和設計比對:島的每個高度都有三處殘料,約 2.0、1.8 與 0.6 mm²,最厚 0.7 mm,而且沒有任何過切。
件 7–10 最後一道輪廓讀到的切深比任何一層都深:5、8、8 與 10 mm。這很像基準設錯,也容易讓人忽略它帶來的負載。代理逐工序讀峰值,再對照模型與程式:件 8 與件 10 的最後輪廓只在底部走一刀,在上一階與牆面齊平的兩側,這一刀一次碰上整面 8 或 10 mm 高的牆;件 7 與件 9 分兩刀,下面那一刀碰上 5 與 8 mm 的牆。每個峰值都等於那一刀面對的牆高,1 mm 與 0.25 mm 下都一樣。這幾道精修也是負載最大的地方,件 7 的最後一道到 290 N。
其餘十五個都在完整紀錄裡,包括:寫明的料塊對件 5、6、7、10 少了 3 mm;因 HiNC 會把重複的警告合併而失敗的訊息數檢查;看起來像基準錯誤的銑孔深度讀數;看來是為 LinuxCNC 後處理的程式在 Fanuc 執行器上原樣播放;以及審查代理抓到的書面說法問題:第一輪 76 處、第二輪 32 處。
七支程式都原樣播放、每一行都執行到;十四次重播全部通過,1 mm 與 0.25 mm 各七次。各件是 120,610 到 435,627 步,仿真加工時間 7 到 22.6 分鐘。在假設的材料與刀具下,清料路徑的切削力峰值約 84 到 138 N,精修牆面的輪廓最高到 290 N。HiNC 的碰撞檢查也涵蓋刀把與刀柄對毛胚,每一次重播都沒有回報任何接觸。在一台 32 執行緒的伺服器上,每次重播在 1 mm 下要 25 到 85 秒、0.25 mm 下要 60 到 165 秒,十四次重播合計約 17 分鐘。件 10 的盲建在步數、執行行數、切深、仿真時間、程式原點與刀長上都和參考值相符。這裡的一切都是仿真;資料集的作者實際加工過這些零件,但這裡沒有用到他們的任何結果。
| 關鍵數字 | 意思 |
|---|---|
| 14 次中 14 次 | 通過的重播,1 mm 與 0.25 mm 各七次,每一行 NC 都執行到 |
| (40.5, 40.5) · (41, 41) · (28.534, 40.962) | 程式原點讓模型在 X、Y 落在哪裡:件 4、7、9 · 件 5、6、10 · 件 8,每件都從自己的刀具路徑讀出 |
| 120,610~435,627 | 各件的步數;件 9 有 71,377 行,是最大的程式,仿真加工 22.6 分鐘 |
| 2.0 · 1.8 · 0.6 mm² | 件 7 的程式在島的三個凹灣尖端留下的材料,最厚 0.7 mm,從 HiNC 匯出的工件量得;沒有任何過切 |
| 5 · 8 · 8 · 10 mm | 件 7–10 最後一道輪廓的切深峰值,每一個都等於那一刀一次碰上的牆高;0.25 mm 下清料路徑都讀到自己的分層深度,2 mm(件 9 是 1.5 mm) |
| 290 N | 負載最大的一刀,件 7 的最後一道輪廓;清料路徑的峰值約 84~138 N |
| 8 與 10 mm | 件 8 與件 10 最高的單面牆,在標準刀 13 mm 的刃長之內,所以不需要長刀 |
| 76 · 32 | 兩輪審查退回的書面說法,分別核對了 839 與 580 條 |
| 約 17 分鐘 | 十四次重播所用的伺服器時間,在 32 執行緒伺服器上每次 1 mm 下 25~85 秒、0.25 mm 下 60~165 秒,記憶體估計每次 1.9~3.5 GB |
| 件號 | 特徵 | 原始檔 | 原始檔備份 |
|---|---|---|---|
| 1 | 槽 | 1.step、1.ngc、1.png | Showcase-RPTU-3axis-01.zip |
| 2 | 四個孔 | 2.step、2.ngc、2.png | Showcase-RPTU-3axis-02.zip |
| 3 | 四個孔、矩形台階 | 3.step、3.ngc、3.png | Showcase-RPTU-3axis-03.zip |
| 4 | 四個孔、圓形台階 | 4.step、4.ngc、4.png | Showcase-RPTU-3axis-04.zip |
| 5 | 四個孔、半圓半方的台階 | 5.step、5.ngc、5.png | Showcase-RPTU-3axis-05.zip |
| 6 | 四個孔、矩形台階、圓形口袋 | 6.step、6.ngc、6.png | Showcase-RPTU-3axis-06.zip |
| 7 | 方形口袋與樣條外形的島 | 7.step、7.ngc、7.png | Showcase-RPTU-3axis-07.zip |
| 8 | 多層台階:圓形、轉 30° 的方形與斜邊台階 | 8.step、8.ngc、8.png | Showcase-RPTU-3axis-08.zip |
| 9 | 四個孔、圓形口袋、樣條外形的島與小銷 | 9.step、9.ngc、9.png | Showcase-RPTU-3axis-09.zip |
| 10 | 多層台階、方形與圓形口袋、樣條外形的島 | 10.step、10.ngc、10.png | Showcase-RPTU-3axis-10.zip |