17 吋鍛造鋁圈的 NC 優化:HiNC 的進給優化讓兩次裝夾少 45 %,精修道保留原進給¶
17 吋鍛造鋁圈是一個 AI 代理 (agent) 只用三個公開的安裝尺寸數字自己設計、自己寫程式的一體 6061-T6 輪圈:兩次裝夾、六支 Fanuc G43.4 程式,由 HiNC 從代理的五軸刀位點寫回,重播時和刀位點切得一模一樣。六支程式合計 17 分 25 秒。這一頁,代理把這些通過驗收的程式交給 HiNC 的進給優化,問的是工程師拿到結果之前會問的事:能省多少時間、對精修道做了什麼、有沒有哪一行反而比原程式慢。
三個版本都在 HiNC 3.2.45 上以 0.5 mm 的網格,對整個輪圈優化並重播。V1 每一道都優化:9 分 36 秒,少 44.9 %,主軸最高用到連續額定的 0.925;但在精修側銑上刀具也彎得更多,最大的一步從 94.4 µm 變成 140.2 µm。V2 把最後一圈精修側銑與每個背面減重槽的槽底層保留原進給:10 分 01 秒,少 42.5 %,這些道次一步一步照原程式重播,保護它們只花 25.7 秒,是節省量的 5 %。V3 再加上 HiNC 的原始進給率下限 100 %,沒有任何一步比原程式慢:9 分 40 秒,少 44.5 %,保住 V1 節省量的 99 %,精修完全沒動。精修道用保留原進給,而不是用目標切削力壓住,因為在這個五軸側銑上,HiNC 的目標切削力沒有壓住力。
省下的時間大半來自代理替每把刀訂的每刃進給上限,那是鋁用刀具的常用值,不是刀具廠的資料:粗加工刀有 86 % 的切削步、其他刀具幾乎每一步,決定進給的都是上限,而不是主軸。這裡的一切都是仿真,沒有切過任何輪圈。

V1 優化後的粗加工程式(T1,Ø20 mm 端銑刀,從 85 mm 熱縮刀把伸出 60 mm)切完窗 0,壁面依切出它那一步的主軸功率比上色,0 到 0.7:由黃到紅,轉角到 0.667 的目標。HiNC 3.2.45、0.5 mm 網格;程式播在 72° 扇區的毛胚上,窗 0 的切削與整個輪圈相同(難題 8)。
| 在 HiNC 3.2.45 上量得,整個輪圈 0.5 mm | 原程式 | V1,每一道都優化 | V2,精修道保留原進給 | V3,V2 且不比原程式慢 |
|---|---|---|---|---|
| 加工時間,兩次裝夾 | 17:25.1 | 9:35.5(−44.9 %) | 10:01.1(−42.5 %) | 9:39.7(−44.5 %) |
| T1 粗加工的主軸功率,對短時/連續額定 | 0.650/0.886 | 0.678/0.925 | 0.678/0.925 | 0.678/0.924 |
| 最高的刀具應力,對降伏的比例 | 0.367(T5) | 0.333 | 0.333 | 0.367(T5,被下限撐住) |
| T2 最後一圈精修側銑,XY 刀尖撓曲,最大/第 99 百分位 | 94.4/62.4 µm | 140.2/70.1 µm | 94.4/62.4 µm | 94.4/62.4 µm |
| T6 減重槽槽底層,XY 刀尖撓曲,最大/第 99 百分位 | 65.2/39.9 µm | 82.5/57.9 µm | 65.2/39.9 µm | 65.2/39.9 µm |
| 銑削面落在設計 ±0.3 mm 內,OP30/OP40 | 99.98 %/100 % | 99.98 %/100 % | 99.98 %/100 % | 99.98 %/100 % |
| 伺服器時間,兩次裝夾的優化播放與重播 | — | 821 秒 | 826 秒 | 806 秒 |
| 記憶體峰值,OP30 的優化播放 | — | 24.1 GiB | 23.8 GiB | 22.8 GiB |
案例¶
輪圈本身的案例頁講代理怎麼設計輪圈、寫刀路,並讓兩次裝夾通過驗收;這一頁從那一頁結束的地方開始。代理拿到的是:
- 六支通過驗收的程式:HiNC 由代理的刀位點寫回的 Fanuc 程式,OP30 四支(正面朝上:T1 粗銑五個輻條窗、T2 五軸側銑窗的 7° 拔模壁、T3 鑽螺栓孔、T4 做 60° 錐座),OP40 兩支(翻面:T6 從輪桶內側銑五個背面減重槽、T5 在 B 72.5° 鑽氣嘴孔),分別是 13 分 13.6 秒與 4 分 11.5 秒。驗收時沒有碰撞、主軸在額定內,銑削面落在設計的 −0.178 到 +0.031 mm 之間。
- 那個案例的機台、主軸與刀具:通用的工作台 C 軸/擺頭 B 軸五軸機,合成的 15,000 rpm 主軸(連續 22 kW、短時 30 kW),以及六把裝在真實比例刀把上的通用刀具。
- 要求:以既有案例為基礎,做 HiNC NC 優化的實作案例,由 HiNC 的產品擁有者提出。
沒有任何資料寫明的:
- 這幾把刀能跑多快。 刀具是通用的,所以沒有刀具廠的每刃進給上限。每把刀拿到的上限是代理的選擇,而它決定了大半的結果。
- 哪幾道是精修。 程式裡沒有這種標記。代理從自己的 CAM 知道:T2 在每個窗的第二圈是最後的精修側銑,每個背面減重槽的最後一層把槽底與側壁精修到尺寸。
- 網格讀不讀得到精修留量:側銑留 0.4 mm、槽留 0.3 mm,都在優化所用的 0.5 mm 網格之下。
代理建了什麼¶
每個值都標明是讀取(來自程式或案例)、推得(由它們算出)、自選(代理的選擇)或預設(照留 HiNC 的預設)。
三個版本,每個版本在每次裝夾各有一次優化播放與一次重播。優化播放播的是原程式,每支程式前面放一個 NC 優化設定,播完寫出優化後的檔案,所以它的逐步結果就是「優化前」。重播在同一台機台、同一個網格上播優化後的程式,它的逐步結果就是「優化後」。合計十二次整輪播放。
| 版本 | 改了什麼 | 回答什麼 |
|---|---|---|
| V1 | 每支程式都優化,精修道也包括在內;設定與輪圈案例頁相同 | 在這些上限下,HiNC 的優化能省掉多少時間 |
| V2 | V1,但 T2 的五圈最後精修與 T6 五個槽的槽底層保留原進給 | 保護精修要付出多少 |
| V3 | V2,再加原始進給率下限 100 %:沒有一步比原程式慢 | 在「程式只准變快」的規則下,收益還剩多少 |
放在每支程式前面的 NC 優化設定:
| 設定 | 值 | 來源 |
|---|---|---|
| 進給優化、重新插值 | 開 | 自選 |
| 前進、側向與深度補償 | 關 | 自選:補償不在這次研究內 |
| 主軸功率與扭矩安全係數 | 1.5:目標是短時額定的 67 %,輸入 20 kW,低於 22 kW 的連續額定 | 預設 |
| 刀具應力 | 刀具自己的優化限制,安全係數 3:應力守在降伏的三分之一;執行內容層自己的降伏與熱降伏係數為 0,關不掉刀具那一層 | 預設(刀具)、自選(執行內容) |
| 目標切削力 | 無(Infinity) |
預設 |
| 進給率,最低與最高 | 300 與 20,000 mm/min | 自選:HiNC 預設的最低值 1 mm/min 不是切削進給 |
| 沒有切削的區段所用的進給 | 20,000 mm/min | 自選 |
| 進給變化的加速度 | 1,000 mm/s² | 自選:預設的 10 mm/s² 會把每一次變速攤到幾百毫米上 |
| 切削前後的延伸距離 | 2 mm 與 2 mm | 預設 |
| 進給率指派比例 | 0.01 | 預設 |
| 原始進給率下限 | V1、V2 關;V3 開,比例 100 % | 預設(關)、自選(V3) |
| 每刃進給上限 | 每把刀各自,見下表 | 自選 |
| 網格 | 加工與毛胚都是 0.5 mm | 自選:與輪圈案例頁的優化同一個網格,兩者才能直接比較(難題 3) |
每把刀自己的優化限制,在每次播放前以 PUT api/Cutter/{id}/opt-limit 送出,並讀回記進執行紀錄:開啟優化、降伏安全係數 3、最小切屑厚度與後角限制開啟、不設最小每刃進給,以及下表的上限。這些上限是碳化鎢端銑刀與鑽頭加工鋁的常用值,不是這幾把刀的廠商資料;每一個都和程式本身已經下的每刃進給並列:
| 刀具 | 程式的每刃進給(F ÷ 轉速 ÷ 刃數)——推得 | 上限——自選 | 上限 ÷ 程式值 |
|---|---|---|---|
| T1 Ø20 端銑刀,3 刃,12,000 rpm | 0.119 mm(F4300);吃刀寬時 0.072 mm(F2600);螺旋下刀 0.056 mm | 0.18 mm | 1.5 |
| T2 Ø12 端銑刀,3 刃,15,000 rpm | 0.080 mm(F3600);進刀與退刀 0.022 mm | 0.10 mm | 1.25 |
| T3 Ø15 鑽頭,2 刃,6,000 rpm | 0.125 mm(F1500) | 0.15 mm | 1.2 |
| T4 Ø25 60° 錐座刀,2 刃,4,000 rpm | 錐座 0.050 mm(F400);穿過孔的段 0.150 mm(F1200) | 0.05 mm | 1.0 |
| T6 Ø12 端銑刀,3 刃,14,000 rpm | 0.060 mm(F2520);下刀 0.029 mm(F1200) | 0.10 mm | 1.67 |
| T5 Ø11.3 鑽頭,2 刃,7,000 rpm | 0.100 mm(F1400);以進給退出牆外 0.200 mm(F2800) | 0.14 mm | 1.4 |
T4 的上限等於錐座段的程式值,所以優化器只能把 T4 拉回這個值,不會超過它。
V2 與 V3 保留原進給的精修道——讀取自代理的 CAM。在每支程式的複本裡,T2 在五個窗各自的第二圈(每圈 936 行,從它的第一個 G01 到退刀)與五個背面減重槽各自到槽底的那一層(每層 124 到 128 行,從下刀的第一個 G01 到退刀),前後包上 (@@BeginPreserve();) … (@@^EndPreserve(););代理的腳本確認了複本其餘每一行都和原程式相同。運動沒有改變,所以 V2 與 V3 的「優化前」和 V1 是同一次播放。
優化器不改的:快移、換刀,以及 G43.4/G49 那幾行。這個輪圈沒有鑽孔循環:鑽頭的程式寫成 G01 移動,所以和其他切削一樣被優化。
代理怎麼管理這件工作¶
- 先寫標準與設定。 九條標準與每個設定的來源,在第一次優化播放之前寫下,試跑也算在內。試跑改變了什麼,在 V2 第一次播放前寫在計畫旁,原文照留。
- 先修剪。 輪圈的 72° 扇區——一個窗、它的螺栓孔、氣嘴孔,以及兩個背面減重槽各半——先以 1 mm 走完整條流程(優化、重播、確認優化器真的改了進給、嵌入的目標確實落在精修道上),再以 0.5 與 0.25 mm 看網格讀不讀得到精修留量。十五次試跑播放,每次 20 到 230 秒、1.7 到 17.8 GiB。
- 每個版本整輪跑一次。 HiNC 3.2.45 的私有複本,跑在一台 32 執行緒、同時服務線上實例與其他代理研究的伺服器上。每次吃重的播放前都重啟實例、從檔案重新載入專案,前一次播放的設定就帶不過來;播放在和其他研究共用的鎖上排隊,伺服器可用記憶體有 40 GB 才開始,播放中每三分鐘做一次唯讀檢查,看警報、播到哪一行、接觸與負荷。檢查沒有發出任何警示。
- 設定讀回。 每次播放後,從實例讀回優化設定與每把刀的限制,和訊息、伺服器時間、記憶體一起保存在結果裡。
- 人在哪裡介入。 HiNC 的產品擁有者要以既有案例為基礎做 NC 優化的實作案例;版本、設定與標準都是代理自己定的。
第一次優化播放前寫下的標準;切削步指的是有接觸、且去料率大於 0.01 mm³/s 的步:
| # | 標準 |
|---|---|
| O1 | 每支優化後的程式都重播到結束,沒有新警報:沒有 Collided、沒有 Play-RapidCut--Detected、沒有行程警報,任何訊息槽都沒有錯誤;重播的每個警告都已出現在優化播放裡;每次優化播放優化的檔案數等於它的程式數 |
| O2 | 重播時每把刀至少 99 % 的切削步在目標內:短時功率比與扭矩比 ≤ 0.667、應力比 ≤ 0.333;而且每一步:功率比與扭矩比 ≤ 1、應力比 < 1、連續功率比 ≤ 1.05。V3 被下限撐在目標之上的步另計 |
| O3 | 形狀不變:HiNC 以 0.5 mm 匯出的零件,銑削面至少 99 % 落在設計的 ±0.3 mm 內,且第 1 與第 99 百分位各和原程式同網格的值相差在 0.05 mm 內 |
| O4 | 時間的預測:V1 −45 % ± 3 個百分點;V2 比 V1 慢,最多 40 秒;V3 不比 V2 慢,最多快 10 秒;時間照實記錄 |
| O5 | V2 與 V3 的精修道:切削步的最大 XY 刀尖撓曲 ≤ 原程式最大值 × 1.02,第 99 百分位 ≤ 原程式的 × 1.02;V1 只記錄;三者都和 0.2 mm 公差並列 |
| O6 | 空切的進給絕不落在料上:重播中指令進給 20,000 mm/min 以上的步沒有一步接觸;每把刀的接觸步數和原程式相差在 1 % 內;優化日誌的未接觸列和原程式的未接觸步相符;以 0.5 mm 優化、在 0.25 mm 重播的扇區程式,空切進給的步也不接觸 |
| O7 | 輸出檔真的被改寫,而且改寫乾淨:每個優化後的檔案都和原檔不同;程式操作的訊息沒有錯誤;記錄行數與進給範圍 |
| O9 | 是誰決定進給:每把刀的切削步依決定它的限制分類;預測 T1 約 86 % 頂到上限、14 % 是主軸功率,T2 與 T6 幾乎全頂到上限 |
計畫裡的第九條標準 O8,預測的是 HiNC 刀具撓曲模型本身的讀數,而不是優化做了什麼,這裡不重述。
難題¶
每一個都寫出情況、若沒發現會有的風險、怎麼發現、怎麼解決,以及證明解法成立的證據。
1. 五軸側銑上,目標切削力沒有壓住力¶
- 情況。 計畫原本用嵌在程式裡的目標切削力保護精修道:在每個精修區塊的第一行加上
(@@OptPreferedForce_N=…;)註解,到退刀再放開,讓優化器只在那裡壓住力,也就壓住撓曲。 - 風險。 照計畫用的話,V2 看起來是保護了精修,實際上精修照樣跑在上限,和 V1 一樣。
- 怎麼發現。 在 72° 扇區以 1 mm 試跑,嵌入的目標正好落在精修步上(T2 有 2,660 步、T6 有 1,954 步帶著它)。代理的檢查腳本接著拿優化前就已超過目標的每一步,比對優化器步級日誌裡力準則允許的每刃進給,和把那一步降到目標所需的值。
- 結果。 在 T2 的五軸側銑上,超過 343 N 目標的 228 步全部被允許到 0.10 mm 的上限(最大力 552 N);把整支程式設成 300 N,超過的 3,414 步也全部被允許到上限,優化出的側銑程式除了註解之外和 V1 相同。三軸的刀具上,目標只部分有效:粗加工設 700 N,超過的 7,656 步裡仍有 768 步到 0.18 mm 上限;減重槽槽底層設 354 N,超過的 38 步裡有 2 步到上限,扇區重播在這一層的最大力是 399 N,原程式是 667 N,每一道都優化時是 891 N。
- 解決。 在 V2 第一次播放前寫在計畫旁:精修道改以
BeginPreserve()…EndPreserve()保留原進給,也就是計畫原本寫好的備案。 - 證據。 V2 與 V3 的精修道一步一步照原程式重播:T2 最後一圈精修同樣是 13,298 個切削步,最大撓曲 94.4 µm、第 99 百分位 62.4 µm,和優化前相同(標準 O5)。
窗 0 的 T2 最後一圈精修側銑。V1 把這一圈從 3,600 拉到 4,500 mm/min 的上限:6.2 秒而不是 8.2 秒,整圈都彎得比較多,進刀處最多。V2 與 V3 落在原程式的曲線上。
2. 只會壓到一步的目標規則¶
- 情況。 計畫從精修步自己的柔度推出目標切削力:允許撓曲是該道優化前最大的 XY 刀尖撓曲;加速到上限時預測會彎得比它多的每一步,各給出一個值,即允許撓曲除以該步的柔度,目標取其中最小者。
- 風險。 最大撓曲出在精修圈的進刀步,每刃 0.022 mm,於是允許值很高,這條規則只壓到一步。典型的精修步會多彎約 25 %,線性預測下第 99 百分位從 73 變成 92 µm,違反標準 O5。
- 怎麼發現。 代理的探索腳本跑在試跑的資料上。
- 解決。 和難題 1 一起改成保留原進給。這條規則在整輪給出的目標,T2 499 N、T6 562 N,照記而沒有使用。
- 證據。 O5 在第 99 百分位與最大的一步上都成立。
3. 比精修留量還粗的網格¶
- 情況。 研究用 0.5 mm,與輪圈案例頁的優化同一個網格;在扇區上,0.25 mm 的優化播放要 230 秒、17.8 GiB,0.5 mm 是 80 秒、6.5 GiB。精修留量在側銑是 0.4 mm、在槽裡是 0.3 mm。
- 風險。 網格可能把真正的切削讀成空切。優化器就會把那一段寫成給空切用的 20,000 mm/min,重播時以這個速度把刀推進料裡。
- 怎麼發現。 第一次播放前就寫進計畫的風險。
- 解決。 扇區兩種網格都跑:T2 的接觸步在 0.5 mm 是 5,306、在 0.25 mm 也是 5,306;T6 是 15,241 與 15,706,0.5 mm 少 3 %;精修撓曲的第 99 百分位與最大值,T2 是 62.3/87.2 µm 與 59.3/87.3 µm,T6 是 38.5/46.6 µm 與 36.8/44.8 µm。再把以 0.5 mm 優化的扇區程式在 0.25 mm 重播:T1、T2、T3、T4、T6 都沒有任何一步以空切進給碰到毛胚。
- 證據。 在整個輪圈上,以空切進給的步沒有去掉任何料(標準 O6、難題 6)。
4. 減重槽刀具的切削大半在下刀¶
- 情況。 原程式 T6 的 188.9 秒切削裡,有 136.5 秒是每刃 0.029 mm:代理自己的 CAM 寫下的、每一層都以 3° 螺旋下刀的 F1200,多數層深 4 mm、128 行。優化器把這些步提到 0.10 mm 的上限,4,200 mm/min。這就是 V1 裡 T6 −54 % 的大半。
- 風險。 封閉槽裡的下刀是切屑最難出去的地方,而模型看不到排屑。若當成單純的收益,這 54 % 會高估工廠願意接受的程度。
- 怎麼發現。 每把刀依時間加權的每刃進給直方圖。
- 解決。 照實寫出,並附上工廠會採取的做法:給下刀另訂一個上限,或像精修道一樣保留原進給。V2 與 V3 裡,進入槽底層的那一段下刀已經包含在精修區塊中一起保留。
- 證據。 下圖:T6 原程式的時間落在 0.029 mm(下刀)與 0.060 mm(分層切削),V1 的落在 0.10 mm 上限。
切削步的每刃進給,依時間加權,原程式與 V1。點線是每把刀的上限。T1 原程式的時間分散在 0.056、0.072 與 0.119 mm;V1 幾乎全部移到 0.18 mm。T3 在 0.033 mm 的柱,是鑽頭入料時的後角限制。
5. 「只准變快」的下限,省下的時間是預測的兩倍¶
- 情況。 標準 O4 預測 V3 不比 V2 慢、最多快 10 秒。V3 實際快了 21.5 秒。
- 風險。 不看分解的話,會以為這個下限只會讓時間變長,或把這個落差當成雜訊。
- 怎麼發現。 V2 與 V3 逐支程式的時間。
- 解決。 判定照原文:V3 的 O4 沒有過。分解如下:下限拿掉了鑽頭入料時的變慢(T3,−2.3 秒)以及 T4 穿孔段被拉回錐座上限的那幾段(−2.8 秒),也讓平滑化不能把 T1 與 T6 的進給過渡拖到原進給以下(−9.0 秒與 −7.3 秒)。它還讓每一層第一個接觸步的那幾行,不再寫成 300 mm/min 的下限(見下文結果)。
- 證據。 下圖:在 T1、T3 與 T4 上,三個版本中都是 V3 最快。
各程式的時間對原程式。只有 V1 與 V2 讓程式比原程式慢,Ø15 鑽頭慢 9 %;只准加快的 V3 在那裡反而快 11 %。
6. 量錯東西的標準¶
- 情況。 標準 O6 要求每把刀的接觸步數和原程式相差在 1 % 內。一步是主軸轉一圈,所以程式變快,步數就變少:T1 的 129,623 步變成 84,307 步。它的第一條照字面也不成立:每次重播,氣嘴孔鑽頭退出那一行都有一步以空切進給讀到接觸,但沒有去料、也沒有力。
- 風險。 照原文判,這條標準會把一支變快的程式當成切削不見了。
- 解決。 照原文判為沒過,另外以別的方式核對它的本意:每支程式的去料體積(去料率乘以步時,逐步加總),和原程式相差在 −1.5 % 到 +1.1 % 之間;以空切進給的步沒有去掉任何料;而優化日誌的未接觸列加上快移步,六支程式都正好等於原程式的未接觸步。
- 證據。 結果中的去料表。
7. 五次播放共用一次鎖¶
- 情況。 每次吃重的播放都在和其他代理研究共用的鎖上排隊;有一次排在另一個研究的播放後面等了 986 秒。
- 風險。 一次一次排的話,剩下的五次播放要拖上一到兩小時。
- 解決。 五次播放在同一次持鎖中接連跑完,約 16 分鐘。
- 證據。 每次播放的紀錄都保存了排隊時間。
8. 同一個視角的優化前後¶
- 情況。 圖要在優化前後從同一個鏡頭拍同一處,刀把入鏡,刀具停在同一點,而且不想為每張圖都播一次整輪。
- 解決。 把整輪的 T1 程式——原程式與 V1 的——播在 72° 扇區的毛胚上,窗 0 的切削與整輪相同;之後各接上同一段只在空氣中移動、把刀具送到拍攝姿態的短程式。
- 證據。 這裡與本頁開頭的畫面:同一個鏡頭,壁面依切出它的那一步上色。兩次畫面播放分別花了 125 秒與 95 秒。

優化前:原程式在窗 0,依主軸功率比上色,0 到 0.7。壁面大多是綠色,約 0.45;與頁首 V1 優化後的畫面對照。

優化前,依每刃進給上色,0 到 0.18 mm:程式的 0.119 mm,吃刀寬時 0.072 mm。

V1 優化後,同樣的上色:幾乎每一步都在 0.18 mm 上限,只有主軸功率目標壓住進給的那個轉角比較低。
結果與效益¶
在 HiNC 3.2.45 上、整個輪圈以 0.5 mm 量得。標準是第一次優化播放前寫下的那幾條。
| # | 判定 | 量得 |
|---|---|---|
| O1 | 通過 | 十二次播放都跑到結束。六次重播:沒有 Collided、沒有 Play-RapidCut--Detected、沒有行程警報,四個訊息槽都沒有警告或錯誤。每次優化播放寫出的檔案數都等於它的程式數。十二次播放裡唯一的警告在 V3 的 OP40 優化播放:NcOpt-Feed--SourceFloorOverTarget,一步(降伏),是下限預期會有的報告 |
| O2 | 通過 | 超過目標的切削步:T1 在 V1 與 V2 是 0.066 %、V3 是 0.26 %,其他刀具都是 0 %;沒有一步的功率比或扭矩比超過 1,也沒有一步的應力比達到 1;連續功率比最高 0.925。另計:V3 的氣嘴孔鑽頭有 57 步中的 2 步在降伏的 0.367,是原程式自己的值,被下限撐住 |
| O3 | 通過 | 銑削面落在 ±0.3 mm 內:OP30 每個版本都是 99.98 %,和原程式是同樣的五點低於 −0.3 mm(最低 −0.366 mm,在 0.5 mm 網格削圓的稜邊上);OP40 是 100 %。第 1 與第 99 百分位和原程式相差在 0.0003 mm 內 |
| O4 | V1 通過、V2 通過、V3 沒過 | V1 −44.9 %(預測 −45 ± 3);V2 比 V1 慢 25.7 秒(預測最多 40 秒);V3 比 V2 快 21.5 秒(預測最多 10 秒;難題 5) |
| O5 | 通過(V2、V3) | T2 最後一圈精修,最大/第 99 百分位 XY 刀尖撓曲:原程式 94.4/62.4 µm,V1 140.2/70.1 µm,V2 與 V3 94.4/62.4 µm;T6 槽底層:65.2/39.9 µm,V1 82.5/57.9 µm,V2 與 V3 65.2/39.9 µm。全部低於 0.2 mm 公差 |
| O6 | 照原文沒過,本意通過 | 難題 6 |
| O7 | 通過 | 18 個優化後的檔案都和原檔不同;沒有程式操作的訊息;行數與進給範圍見下文 |
| O9 | 通過 | 與預測相同;見下表 |
逐支程式的時間(模擬秒數,不含換刀與上下料;合計取自播放本身的結束時間,所以 V2 各程式四捨五入後加起來比它的合計多 0.1 秒):
| 程式 | 原程式 | V1 | V2 | V3 |
|---|---|---|---|---|
| T1 Ø20 粗加工 | 685.4 | 369.5(−46 %) | 369.5(−46 %) | 360.5(−47 %) |
| T2 Ø12 側銑 | 86.5 | 66.7(−23 %) | 76.7(−11 %) | 76.7(−11 %) |
| T3 Ø15 鑽頭 | 11.2 | 12.2(+9 %) | 12.2(+9 %) | 9.9(−11 %) |
| T4 60° 錐座刀 | 10.5 | 10.0(−5 %) | 10.0(−5 %) | 7.2(−32 %) |
| T6 Ø12 背面減重槽 | 248.3 | 114.4(−54 %) | 130.1(−48 %) | 122.8(−51 %) |
| T5 Ø11.3 氣嘴孔鑽頭 | 3.2 | 2.7(−16 %) | 2.7(−16 %) | 2.6(−17 %) |
| 兩次裝夾 | 17:25.1 | 9:35.5(−44.9 %) | 10:01.1(−42.5 %) | 9:39.7(−44.5 %) |
整個輪圈,依程式。T1 粗加工佔原程式時間的三分之二,也是大半的節省。
V1 的時間省在哪裡。 V1 省下的 469.6 秒,接觸零件的步佔大半,空中的移動佔其餘;沒有切削的區段,優化器以給空切用的 20,000 mm/min 送出:
| 刀具 | 接觸零件的步 | 空中的步 |
|---|---|---|
| T1 | −244.2 秒 | −71.8 秒 |
| T6 | −112.1 秒 | −21.8 秒 |
| T2 | −14.5 秒 | −5.2 秒 |
| T3 | +0.6 秒 | +0.4 秒 |
| T4 | +1.9 秒 | −2.5 秒 |
| T5 | 0.0 秒 | −0.6 秒 |
V1 對原程式,逐支程式。有三處反而變慢:Ø15 鑽頭入料時,鑽尖剛進入,後角限制把每刃進給壓在 0.033 mm(391 mm/min);錐座刀以 F1200 穿過孔、已經碰到孔緣的那幾段,被拉回 0.05 mm 的上限,也就是 400 mm/min;以及每個新層的第一個接觸步,寫成 300 mm/min 的下限。
負荷怎麼變。 V1 各程式切削步的峰值,優化前與優化後:
| 程式 | 主軸功率,短時 | 連續,優化後 | 扭矩,優化後 | 應力,對降伏 | 最大力 | XY 刀尖撓曲,第 99 百分位/最大 | 頂到上限的步 |
|---|---|---|---|---|---|---|---|
| T1 Ø20 粗加工 | 0.650 → 0.678 | 0.925 | 0.378 | 0.150 → 0.207 | 919 → 1,253 N | 47.9/53.6 → 66.6/74.1 µm | 86.4 % |
| T2 Ø12 側銑 | 0.278 → 0.375 | 0.512 | 0.186 | 0.251 → 0.333 | 551 → 715 N | 81.8/101.4 → 94.6/140.2 µm | 99.7 % |
| T3 Ø15 鑽頭 | 0.305 → 0.362 | 0.493 | 0.145 | 0.033 → 0.039 | 456 → 530 N | 0.0/4.5 → 1.0/2.8 µm | 94.5 % |
| T4 60° 錐座刀 | 0.172 → 0.172 | 0.234 | 0.050 | 0.009 → 0.009 | 118 → 59 N | 0.39/0.39 → 0.22/0.22 µm | 100 % |
| T6 Ø12 背面減重槽 | 0.433 → 0.541 | 0.738 | 0.236 | 0.264 → 0.333 | 820 → 1,013 N | 34.3/65.2 → 49.6/82.5 µm | 99.85 % |
| T5 Ø11.3 氣嘴孔鑽頭 | 0.164 → 0.224 | 0.306 | 0.083 | 0.367 → 0.332 | 498 → 451 N | 104.6/111.6 → 107.8/108.4 µm | 76.8 % |
撓曲是 HiNC 刀具樑模型的讀數,不是量測。這一案沒有設目標切削力,所以優化器守的是功率、扭矩與應力,不是力:用功率不多的切削被加速之後,最大力就上升,T1 升了三分之一。V2 與 V3 裡 T6 的峰值維持原程式的值(0.433 與 820 N),因為它最重的幾步在保留原進給的槽底層裡。
整個 OP30,每 0.5 秒的最大主軸輸入功率。V1 把粗加工壓平在 20 kW 的目標上,也就是主軸輸入功率在短時額定的 67 %,這次裝夾在 7:38.4 結束,而不是 13:13.6。
窗 0 的 T1:主軸允許的地方,V1 都跑在 0.18 mm 的上限、6,480 mm/min,功率碰到 20 kW 目標時才減速:74.6 秒而不是 137.7 秒。掉到 300 mm/min 的兩處,是新一層的第一個接觸步。
是誰決定了進給。 優化器會為每一步寫出每個限制各允許多少每刃進給;最低的那一個就是這一步的。這幾次播放都開著平滑化,平滑化會把相鄰的步帶進日誌記下的值,所以下面的比例是日誌記下的限制,而不是關掉平滑化、一步一步單獨測出的。V1 的切削步依決定它的限制分類:
| 刀具 | 切削步 | 每刃進給上限 | 主軸功率 | 刀具應力 | 後角 | 其他 |
|---|---|---|---|---|---|---|
| T1 | 129,608 | 86.4 % | 13.6 % | — | — | 最低進給 0.07 % |
| T2 | 26,525 | 99.7 % | — | 0.3 % | — | — |
| T3 | 655 | 94.5 % | — | — | 5.5 % | — |
| T4 | 225 | 100 % | — | — | — | — |
| T6 | 45,520 | 99.85 % | 1 步 | 1 步 | — | 最低進給 0.12 %、主軸扭矩 13 步 |
| T5 | 56 | 76.8 % | — | 21.4 % | 1.8 % | — |
V3 裡,下限決定了 T4 的全部 225 步、T1 的 20 步、T6 的 12 步與 T5 的 1 步,而且沒有任何一行寫成 300 mm/min 的下限。
決定每個切削步進給的限制,取自優化器的步級日誌。V2 與 V3 只計入優化器求解的步:它們保留的精修道不在日誌裡。
每一步離它的目標有多近。只有 T1 是主軸在管;T5 有五分之一的步、T2 有少數幾步是刀具應力在管,到 1;其餘停在上限,遠低於 1。T5 在原程式與 V3 都到 1.10,下限把兩步撐在原進給,應力是降伏的 0.367。
精修道。 精修道切削步的 XY 刀尖撓曲與力:
| 精修道 | 原程式的切削步 | 原程式 | V1 | V2 | V3 |
|---|---|---|---|---|---|
| T2 最後一圈精修側銑,最大/第 99 百分位撓曲 | 13,298 | 94.4/62.4 µm | 140.2/70.1 µm | 94.4/62.4 µm | 94.4/62.4 µm |
| T2 最後一圈精修側銑,最大力 | 512 N | 715 N | 512 N | 512 N | |
| T6 減重槽槽底層,最大/第 99 百分位撓曲 | 6,555 | 65.2/39.9 µm | 82.5/57.9 µm | 65.2/39.9 µm | 65.2/39.9 µm |
| T6 減重槽槽底層,最大力 | 820 N | 1,013 N | 820 N | 820 N |
精修道的撓曲,超過某值的切削步比例。點線是原程式最大的一步;兩把刀的 V1 都超過它,V2 與 V3 落在原程式的曲線上。
形狀。 每次裝夾後 HiNC 匯出的零件對設計,以 0.5 mm:
| 零件,銑削面 | 取樣點 | 最低 | 最高 | 第 1 百分位 | 第 99 百分位 | 落在 ±0.3 mm 內 |
|---|---|---|---|---|---|---|
| OP30,原程式 | 24,643 | −0.3657 mm | +0.0061 mm | −0.0607 mm | +0.0032 mm | 99.98 % |
| OP30,V1 重播 | 24,643 | −0.3657 mm | +0.0073 mm | −0.0608 mm | +0.0035 mm | 99.98 % |
| OP30,V2 與 V3 重播 | 24,643 | −0.3657 mm | +0.0061 mm | −0.0607 mm | +0.0032 mm | 99.98 % |
| OP40,原程式與每一次重播 | 29,515 | −0.2684 mm | +0.0099 mm | −0.0186 mm | +0.0065 mm | 100 % |
車削面在每個版本都讀得一樣:OP30 的 275,357 點中有 10 點低於 −0.3 mm(最低 −0.392 mm)、2 點高於 +0.3 mm,OP40 的 270,485 點中 1 點低於、2 點高於;那是 0.5 mm 網格對車削毛胚的表示,輪圈 0.25 mm 的驗收在這些面上每次裝夾只剩一點超出 ±0.3 mm。
去了多少料。 標準 O6 的本意,逐支程式;去料體積是去料率乘以步時,逐步加總:
| 程式 | 原程式 | V1 | V2 | V3 | 以空切進給接觸的步、去料 |
|---|---|---|---|---|---|
| T1 | 1,733,353 mm³ | +0.22 % | +0.22 % | +0.22 % | 無 |
| T2 | 65,229 mm³ | +0.60 % | +0.30 % | +0.30 % | 無 |
| T3 | 26,515 mm³ | +0.28 % | +0.28 % | +0.58 % | 無 |
| T4 | 4,036 mm³ | −1.54 % | −1.54 % | 0.00 % | 無 |
| T6 | 67,556 mm³ | +1.07 % | +0.90 % | +0.90 % | 無 |
| T5 | 586.5 mm³ | −0.99 % | −0.99 % | −1.09 % | 每個版本 1 步,0 mm³ |
優化後的檔案。 V1 的六支程式(優化器在重新插值進給的地方會把一行拆成幾行):
| 程式 | 行數,原程式 → 優化後 | F 字數 | 寫出的進給 | 以空切進給的行 | 寫成 300 mm/min 下限的行 |
|---|---|---|---|---|---|
| T1 | 30,992 → 38,513 | 10,162 | 300–20,000 mm/min | 106 | 10 |
| T2 | 9,404 → 9,542 | 182 | 1,809–20,000 mm/min | 20 | 0 |
| T3 | 49 → 75 | 36 | 391–20,000 mm/min | 5 | 0 |
| T4 | 39 → 44 | 10 | 400–20,000 mm/min | 5 | 0 |
| T6 | 5,110 → 5,435 | 378 | 300–20,000 mm/min | 59 | 14 |
| T5 | 21 → 29 | 9 | 1,247–20,000 mm/min | 2 | 0 |
V3 寫出的最低進給,就是每支程式自己的最低值——T1 2,000、T3 1,500、T6 1,200 mm/min——沒有任何一行在下限。
執行的代價,在共用的 32 執行緒伺服器上,伺服器時間與記憶體峰值:
| 播放 | V1 | V2 | V3 |
|---|---|---|---|
| OP30 優化播放(播原程式、寫出優化後的檔案) | 390.6 秒、24.13 GiB | 385.5 秒、23.82 GiB | 375.5 秒、22.77 GiB |
| OP30 重播 | 235.3 秒、5.91 GiB | 245.3 秒、6.19 GiB | 240.3 秒、6.06 GiB |
| OP40 優化播放 | 120.2 秒、6.98 GiB | 115.1 秒、6.95 GiB | 115.1 秒、6.11 GiB |
| OP40 重播 | 75.1 秒、5.08 GiB | 80.1 秒、5.33 GiB | 75.1 秒、3.78 GiB |
| 這個版本 | 821 秒 | 826 秒 | 806 秒 |
十二次播放合計 2,453 秒,41 分鐘;十五次扇區試跑每次 20 到 230 秒、1.7 到 17.8 GiB,0.25 mm 那次最大;兩次在扇區上的畫面播放是 125 秒與 95 秒。
對加工工程師。 一支主軸負荷原本就在額定內的五軸輪圈程式,HiNC 的優化在不改變形狀之下,把加工時間減少 44.9 %。在這個輪圈上,給每把刀的上限決定了大半,所以這些上限值得像切削參數一樣用心訂。有兩個設定讓結果可以送上機台:精修道保留原進給,在這裡只從 469.6 秒的節省裡少掉 25.7 秒;以及讓每一步都以原進給為下限,沒有一行變慢,還多省了 21.5 秒。步級日誌說出每一步是哪個限制決定的,依時間加權的直方圖說出時間省在哪裡:減重槽刀具的節省大半在下刀,工廠會另外壓住。
對老師或學生。 一支程式就說明了這次優化守住什麼——主軸功率、扭矩、刀具應力、上限——又沒守什麼:力,這裡沒有設目標切削力;撓曲,優化器本身沒有撓曲的準則;以及它留下的壁面。它也說明了上限、目標與下限怎麼一起決定一步,為什麼要保護精修道,為什麼一步就是一轉、變快的程式步數比較少,以及為什麼兩個模擬時間的比例才是可信的部分。
對評估這種做法的人。 從六支通過驗收的程式,到三個優化版本與它們的重播,用了十二次整輪播放、41 分鐘的伺服器時間、最多 24 GiB,再加十五次扇區試跑。代理先寫下標準,在試跑中發現目標切削力壓不住側銑,於是在那個版本開跑前就改了保護的方法,也照實寫出預測沒有命中的地方。留給工程師的,是上限與下刀。
誠實的限制¶
- 在這個五軸側銑上,目標切削力壓不住力。 優化前就已超過目標的步,仍被允許到完整的上限;在三軸的刀具上只部分有效。所以精修道是保留原進給,而不是用目標切削力壓住;優化器本身沒有撓曲的準則。
- 收益取決於代理的上限,那是碳化鎢端銑刀與鑽頭加工鋁的常用值,不是這幾把刀的廠商資料。
- 撓曲是 HiNC 刀具樑模型的讀數,這裡的去料幾何不包含它。 專案播放時 HiNC 的撓曲變換是關的,所以和設計的比對讀的是程式路徑,彎得更多的精修道在那裡不留痕跡;只有撓曲那幾欄看得到。
- 沒有建模的:排屑、顫振與表面粗糙度。 T6 的節省大半在封閉槽的下刀。
- 每一層的第一個接觸步寫成 300 mm/min 的下限——V1 裡 T1 有 10 行、T6 有 14 行——雖然那一步自己的力近乎零(T6 最多 0.19 N、T1 最多 0.41 N):三個準則在那裡都停在下限。V3 的下限讓這些行保持原進給。
- 以腳本註解嵌入的優化設定,可能被優化器自己的行註記弄壞。 優化器若把它的
(src(...))註記接在帶有@@腳本的那一行後面,重播時會把註記讀成腳本的一部分,報出Script-Compile--Error。一次嵌入目標切削力的扇區試跑出現了一則與兩則;本頁的程式保留原進給的行是原樣複製,沒有這種註記。 - 時間是 HiNC 依程式進給的理想估計,不含加減速、前瞻與換刀:版本之間的比例可信,絕對時間不是現場的時間——見加工時間估算。
- 形狀以 0.5 mm 讀,稜邊會被削圓:OP30 低於 −0.3 mm 的那五點,在每個版本與原程式裡都一樣。
- 機台、主軸與刀具都是通用的,負荷來自 HiNC 材料庫 6061-T6 的係數;沒有在機台上量測任何東西。
讀者可以帶到自己案例的¶
- 優化前先標出精修道,沒有其他手段能保護它們時,就用
BeginPreserve()…EndPreserve()保留(見NC 優化工作流程的〈排除特定行不予優化〉);這裡只花了節省量的 5 %。 - 確認上限真的有壓住。 拿步級日誌裡每個準則允許的進給,和那一步優化前的負荷比對;一個從不起作用的目標,看起來和起作用的一模一樣。
EnableDepthSplition開著(預設)時,目標切削力那一列若記的是該步原本的每刃進給,表示那一步被力目標釘在下限上,而不是放行。 - 讀每一步是哪個限制決定的。 若是你訂的上限,結果就只和你的上限一樣好。
- 讓驗證過的程式以自己的進給為下限。 在 100 % 時,原始進給率下限讓沒有一行比原程式慢,在這裡還省了時間,因為它讓平滑化不會低於原進給。
- 在相信精修道的優化之前,先拿網格對照精修留量:比較兩種網格的接觸,並在較細的網格上重播優化後的程式。
- 數標準真正要的東西。 去料體積說得出變快的程式是否還在切;步數說不出來。
- 看節省從哪裡來。 一把刀的時間被下刀進給佔掉大半,那是要回頭檢討的 CAM 決定,不只是可以收下的收益。
- 預留記憶體。 優化播放要的記憶體可能是它重播的好幾倍:OP30 在 0.5 mm 是 24 GiB 對 6 GiB,較短的 OP40 則是 7.0 對 5.1 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 本身沒有保留。輪圈設計、毛胚、夾具、機台、主軸、每一條刀路,以及這裡優化的程式都出自代理之手,見輪圈的案例頁。畫面是 HiNC 的仿真,圖表畫的是 HiNC 的逐步結果。本頁的一切都是仿真;沒有切過任何輪圈。