連桿鍛造模的 NC 優化:HiNC 的進給優化讓手動修訂的程式少 24.5 %,而 R1.5 凹角即使用最低進給仍超過上限¶
連桿鍛造模是一副鋁合金連桿的下模:一個 AI 代理 (agent) 依一篇論文的鍛件圖與實際模具的照片設計它,自己寫了三支 Fanuc 程式——D10 R1 端銑刀粗加工,D6 球刀與 R1.5 長頸球刀做殘料粗加工與精修。一半模具要 342.8 min。那個案例找到了弱點:在肋溝的 R1.5 凹角裡,R1.5 球刀整段四分之一圓弧同時切削,撓曲遠超過代理給精修的 12.5 µm。代理手動修改了兩次進給;第二次修訂把往料裡的下刀與球刀包覆凹角的段都壓到下刀進給,要 439.1 min。這一頁,代理把這些程式交給 HiNC 的進給優化,問工程師會問的事:手動修訂壓不住的凹角,優化器壓得住嗎?要付多少時間?如果 HiNC 只准加速,手動修訂過的程式能快多少?
三個變體都在 HiNC 3.2.45 上以 0.125 mm 的網格對整塊模具優化,一支程式一輪,再把程式放到凹角上一塊 12 × 11 × 12 mm 的探針毛胚上,以 0.0625 mm 重播。每個變體裡,HiNC 都把粗加工程式從 64.8 min 縮到 41.1 min(−36.6 %),主軸功率與刀具應力都在目標內。V1 優化原程式,並把每個操作的撓曲上限給它當目標:在探針毛胚上,超過上限的 1,423 步裡有 1,422 步被寫成最低進給 100 mm/min,R1.5 球刀陡牆精修最大的一步從 112.4 µm 降到 23.8 µm。代價是時間:一半模具要 659.0 min,比原程式多 92 %,因為 HiNC 把每一個寫在最低進給的步前後各 2 mm 也一起降到同樣的進給,而整塊模具上這樣的步有好幾千個(難題 3)。V3 是同樣的設定、拿掉這些延伸窗,要 251.9 min(−26.5 %),但 0.125 mm 網格看不到的負載拿到了全速:它的殘料粗加工撓曲到 89.5 µm。V2 保留手動修訂的程式,只准 HiNC 加速:331.5 min,比第二次修訂少 24.5 %、比原程式少 3.3 %,第二次修訂的峰值原樣不動。
凹角本身不是進給的問題。超過上限的每一步都已在最低進給時,R1.5 球刀在溝的凹角裡仍彎到 23.8 µm;沒有進給去得掉它,剩下能改的是進刀方式或球刀的大小,和那個案例頁的結論相同。本頁的一切都是模擬,沒有切過任何模具。

V1 優化後的程式播在探針毛胚上,停在 R1.5 球刀伸進肋溝的位置:Ø6 刀柄在 HSK-A63 熱縮刀把下方,刀頸與球頭在溝裡。溝面依切出它的那一步陡牆精修的最大力上色,0 到 100 N:凹角一帶是綠與藍,原程式在這裡是紅與黃(難題 2)。HiNC 3.2.45,0.0625 mm。
| 在 HiNC 3.2.45 上量得 | 原程式 | 第二次修訂(手動) | V1:優化原程式 | V2:第二次修訂、不比它慢 | V3:V1 拿掉延伸窗 |
|---|---|---|---|---|---|
| 一半模具的模擬加工時間 | 342.8 min | 439.1 min(+28.1 %) | 659.0 min(+92.2 %) | 331.5 min(−3.3 %) | 251.9 min(−26.5 %) |
| 同上,對第二次修訂 | −21.9 % | — | +50.1 % | −24.5 % | −42.6 % |
| T1 粗加工,整塊模具 | 64.8 min | 64.8 min | 41.1 min(−36.6 %) | 41.1 min | 41.1 min |
| T1 粗加工的最大主軸功率比,整塊模具 | 0.37 | 0.37 | 0.35 | 0.35 | 0.35 |
| T3 陡牆精修的 XY 刀尖撓曲,最大/第 99 百分位,探針毛胚(上限 12.5 µm) | 112.4/32.1 µm | 39.6/17.4 µm | 23.8/15.0 µm | 39.6/17.8 µm | 23.8/16.4 µm |
| T3 殘料粗加工的最大 XY 刀尖撓曲,探針毛胚(上限 40 µm) | 70.0 µm | 43.9 µm | 39.8 µm | 43.9 µm | 89.5 µm |
| 探針上撓曲超過上限的切削步 | 3,092 | 1,431 | 1,423 | 1,430 | 1,789 |
| 其中在最低進給之上、還能再降的 | — | — | 1 | 1,430 | 373 |
| 代理的 z-map 上,毛胚與原程式的差在 1 µm 內的格點,T2/T3 | — | — | 99.82/99.94 % | 99.98/99.93 % | 99.49/99.84 % |
| 整塊模具的優化播放,伺服器時間 | — | — | 72 min | 54 min,T1 用 V1 的 | 40 min,T1 用 V1 的 |
| 一次優化播放的記憶體峰值 | — | — | 46.3 GiB(T1) | 31.6 GiB | 20.3 GiB |
案例¶
模具本身的案例頁講代理怎麼依論文的圖重建鍛件、依照片設計模具、寫程式,並讓整塊模具通過驗收;這一頁從那一頁結束的地方開始。代理拿到的是:
- 三支通過驗收的程式,也就是原程式:T1 是 D10 R1 端銑刀、3,800 rpm,以 F1050 等高粗加工模膛並把平面做到尺寸(64.8 min);T2 是 D6 球刀、10,000 rpm,以 F1200 做殘料粗加工與精修,陡牆用等高、緩坡用平行刀路(101.1 min);T3 是 R1.5 長頸球刀、12,000 rpm,在 D6 構不到的地方以 F900 分層做殘料粗加工、以 F1200 精修(176.9 min)。一半模具,也就是下模,要 342.8 min,三支程式各 70,567、190,004 與 400,570 行。
- T2、T3 的兩次手動修訂,都只改進給:第一次在切除截面大的地方降低進給(一半模具 402.9 min);第二次再把往料裡的陡下刀與球刀包覆凹角的段壓到下刀進給,T2 F500、T3 F300(439.1 min)。第二次修訂是這個案例採用的程式;第一次修訂當時沒有留下(難題 12)。
- 案例給小球刀定的標準:T2 與 T3 精修的 XY 刀尖撓曲最多 12.5 µm,是模膛公差 ±0.05 mm 的四分之一;T3 殘料粗加工最多 40 µm。
- 那個案例的機台、主軸、刀具與刀把:HiNC 的三軸骨架機台、一支通用的 24,000 rpm 主軸(連續 7.5 kW、短時 10 kW)、從 HSK-A63 熱縮刀把伸出 20 mm 的通用碳化鎢刀具,以及約 40 HRC 的 FDAC 模具鋼。
- 要求:以既有案例為基礎,做 HiNC NC 優化的實作案例,由 HiNC 的產品擁有者提出。
沒有任何資料寫明的:
- 這幾把刀能跑多快。 刀具是通用的,沒有刀具廠的每刃進給上限;每把刀拿到的上限是代理的選擇。
- 怎麼守住撓曲上限。 HiNC 的優化器守的是主軸功率、主軸扭矩、刀具應力、目標切削力與進給的上下限;它沒有內建的撓曲準則,所以 12.5 µm 必須由別的準則來承載。
- 網格讀不讀得到精修。 T3 留給精修 0.04 mm、T2 留 0.12 mm,都在整塊模具能拿來優化的 0.125 mm 網格之下。
那個案例頁寫的是它自己的驗收;兩邊都量過的讀數(探針毛胚上的負載、整模的刀尖撓曲、第二次修訂的時間),它引用本研究的播放。本頁的每一個數字都來自這次研究在 HiNC 3.2.45 上的播放:原程式與兩次修訂都和優化後的變體在同一塊探針毛胚上重播,所以每個「優化前」都和它的「優化後」並排量得。
代理建了什麼¶
每個值都標明是讀取(來自程式或案例)、推得(由它們算出)、自選(代理的選擇)或預設(照留 HiNC 的預設)。
每個變體=每支程式在整塊模具上一次優化播放,加上在探針毛胚上的重播。優化播放播的是原始程式,程式前面放一個 NC 優化設定,播完寫出優化後的檔案;它的逐步結果就是「優化前」。一支程式一輪:每支程式播完,HiNC 記下毛胚,下一支從那裡開始,所以 T2 看到的是 T1 留下的毛胚,T3 看到的是 T2 留下的。
| 變體 | 原始程式 | 改了什麼 | 回答什麼 |
|---|---|---|---|
| V1 | 原程式 | 粗加工可以加速到每把刀的上限;精修守在程式進給,並受該操作的撓曲上限約束;最低進給 100 mm/min | 優化器壓得住凹角嗎?要多少時間? |
| V2 | 第二次修訂的 T2、T3,T1 用 V1 的 | V1 的設定,再加原始進給率下限 100 %:沒有一步比第二次修訂慢 | 只准 HiNC 加速時,手動修訂的程式能快多少 |
| V3 | 原程式 | V1,但切削前後的延伸距離都設成 0 | 延伸窗花了什麼、換到什麼(V1 之後加做,難題 3) |
| V4,試跑 | 原程式,只在探針毛胚上 | V3,延伸窗 0.5 mm | 短的延伸窗能不能留住 V3 的速度與 V1 的峰值(難題 5) |
每把刀的限制,在每次優化播放前以 PUT api/Cutter/{id}/opt-limit 送出,並讀回記進執行紀錄:開啟優化;降伏安全係數 3,應力守在降伏的三分之一;最小切屑厚度與後角限制開啟;不設最小每刃進給——以上都是預設——每刃進給上限取粗加工每刃進給的 1.5 倍,自選。這些上限不是刀具廠對這幾把刀的資料:
| 刀具 | 程式的每刃進給(F ÷ 轉速 ÷ 刃數)——推得 | 上限——自選 |
|---|---|---|
| T1 D10 R1 端銑刀,4 刃,3,800 rpm | 0.0691 mm(F1050);下刀 0.0263 mm(F400) | 0.1036 mm(F1575) |
| T2 D6 球刀,2 刃,10,000 rpm | 0.060 mm(F1200);下刀 0.025 mm(F500) | 0.090 mm(F1800) |
| T3 R1.5 球刀,2 刃,12,000 rpm | 殘料粗加工 0.0375 mm(F900)、精修 0.050 mm(F1200);下刀 0.0125 mm(F300) | 0.05625 mm(F1350) |
每支程式前面的 NC 優化設定:
| 設定 | 值 | 來源 |
|---|---|---|
| 進給優化、重新插值 | 開 | 預設 |
| 前進、側向與深度補償 | 關 | 自選:補償不在這次研究內 |
| 深度分割 | 關 | 自選 |
| 原始進給率下限 | V1、V3 關;V2 開、100 % | 預設(關);自選(V2) |
| 最低與最高進給率 | 100 與 20,000 mm/min | 自選:100 低於第二次修訂的下刀進給 F300,凹角的進刀還能再慢;20,000 低於機台 24,000 mm/min 的快移 |
| 沒有切削的段落所用的進給 | T1 14,560、T2 3,680、T3 2,140 mm/min | 推得:下面的殘料切屑規則 |
| 進給變化的加速度 | 1,000 mm/s² | 自選:預設的 10 mm/s² 會把每次變速攤到幾百 mm |
| 切削前後的延伸距離 | V1、V2 為 2 mm 與 2 mm;V3 為 0 與 0 | 預設;自選(V3) |
| 進給率指派比例 | 0.01 | 預設 |
| 主軸功率與扭矩安全係數 | 1.5:目標是短時額定的 67 % | 預設 |
| 執行內容層的降伏與熱降伏係數 | 0 與 0:降伏用刀具自己的係數 3;熱降伏不是準則 | 預設 |
| 目標切削力 | 程式層不設;逐一操作設定,見下 | 預設 |
| 網格 | 0.125 mm,案例的驗收網格 | 自選:優化器要看到整支程式在整塊模具上,才分得出切削與空切;整塊模具用 0.0625 mm 太重 |
空切進給。 比精修留量粗的網格可能把薄薄的切削讀成空切,優化器就會把那一段寫成空切進給。所以每把刀的空切進給,取一層 12.5 µm(標準允許精修留下的)在這個進給下切出的切屑,不比這把刀自己的精修切屑厚(T1 用它的粗加工切屑)。切屑厚度=每刃進給 × sin φ,cos φ=1 − 2 × 切深 ÷ 刀徑:T1 程式的切屑 67.7 µm(橫向 4 mm),得 14,560 mm/min;T2 16.8 µm(留 0.12 mm),得 3,680;T3 11.5 µm(留 0.04 mm),得 2,140——推得。
每個操作自己的設定,以腳本註解 (@@…) 接在該操作的第一個主軸行後面,從那一行起生效(嵌在 NC 碼裡的設定);代理的腳本逐一確認每份複本其餘的內容都和原始程式相同:
| 操作 | 目標切削力——推得 | 最高進給——自選 | 降伏安全係數——推得 |
|---|---|---|---|
| T1 等高粗加工 | 不設 | 20,000 mm/min | 刀具的 3 |
| T1 平面到尺寸 | 376.5 N | 1,050 mm/min,程式進給 | 5.84 |
| T2 殘料粗加工 | 不設 | 20,000 mm/min | 刀具的 3 |
| T2 精修,陡牆(等高) | 88.4 N | 1,200 mm/min,程式進給 | 7.03 |
| T2 精修,緩坡(平行) | 85.7 N | 1,200 mm/min,程式進給 | 6.85 |
| T3 殘料粗加工 | 69.5 N | 20,000 mm/min | 3.25 |
| T3 精修,陡牆(等高) | 23.5 N | 1,200 mm/min,程式進給 | 10.29 |
| T3 精修,緩坡(平行) | 21.5 N | 1,200 mm/min,程式進給 | 10.38 |
- 目標切削力=撓曲上限 ÷ 柔度。 柔度取原程式在探針毛胚上、該操作切削步的 XY 刀尖撓曲每牛頓的第 95 百分位,讓 95 % 的步在目標力下不超過上限:T3 陡牆精修是 12.5 µm ÷ 0.5318 µm/N=23.5 N。
- 降伏安全係數=每單位應力比的撓曲 ÷ 上限,第一次試跑之後加上(難題 1)。HiNC 的刀具樑模型裡,刀尖的 XY 撓曲和應力比來自同一個彎矩,所以每把刀「每單位應力比的撓曲」在它的切削步上幾乎是常數:T3 121–130 µm、T2 79–88 µm、T1 68–73 µm(第 5 到第 95 百分位)。T3 陡牆精修是 128.6 µm ÷ 12.5 µm=10.29:應力守在降伏的 1/10.29,就是 12.5 µm 的撓曲。
- 精修守在程式進給:可以變慢,不准變快,因為精修加速會讓刀彎得更多,而這些播放關著 HiNC 的撓曲變換,去料的形狀看不出彎曲。
優化器本來就不改的:快移、換刀與刀長補正行、G91 G28 與 M 碼。這三支程式沒有鑽孔循環,也沒有圓弧,只有 G00 與 G01。
探針毛胚:12 × 11 × 12 mm,位在 x 22..34、y 1..12,就在 T3 去料最多的肋溝凹角上,以 0.0625 mm 播剪下的程式:只留刀具半徑加 1 mm 範圍內經過毛胚的移動,每一段都從安全高度以快移進出。六個程式版本——原程式、兩次修訂、三個變體——都用同樣的剪法在這裡比較(難題 9)。
代理怎麼管理這件工作¶
- 標準與設定先寫。 九條標準與每個設定的來源,在第一次優化播放(含試跑)之前寫下並提交。試跑與每個變體帶來的改變,都在下一次播放前寫在計畫旁邊,一共三次,原文不改。
- 先修剪。 剪下的原程式先在探針毛胚上跑完整條鏈——優化、重播、確認優化器真的改了進給、每個嵌入的設定落在它的操作上——之後才播整塊模具。試跑兩次;第二次檢查難題 1 的解法。
- 整塊模具一支程式一輪。 HiNC 3.2.45 的私有複本,跑在一台和線上實例、其他代理的研究共用的 32 執行緒伺服器上。每次重的播放都排在和其他研究共用的鎖上,伺服器有 40 GB 可用記憶體才開始,而且在剛重啟、從檔案重新載入專案的實例上跑。伺服器可用記憶體低於 15 GB 時,一個守護程式會停掉這次研究自己的實例;播放中每三分鐘做一次唯讀檢查,看警報、播到哪一行、接觸與負載。
- 設定讀回。 每次播放之後讀回每把刀的限制與優化設定,連同訊息、伺服器時間與記憶體記在結果裡。
- 決定在結果之前寫好。 哪一個變體做整塊模具的重播、短延伸窗的 V4 要不要在整塊模具上播,都在決定它們的試跑之前寫下。
- 人在哪裡介入。 HiNC 的產品擁有者要以既有案例為基礎做 NC 優化的實作案例;變體、設定與標準都是代理自己定的。
第一次優化播放之前寫下的標準,切削步定義為接觸且去料率大於 0.01 mm³/s 的步:
| # | 標準 |
|---|---|
| O1 | 每一行都跑到、沒有新警報:每次播放執行的行數等於檔案的行數;沒有 Collided、沒有行程警報;Play-RapidCut--Detected 不多於原始程式在同一網格的播放;沒有基準沒有的警告或錯誤;每次優化播放都建好進給、寫出檔案 |
| O2 | 主導的負載在目標內:整塊模具上每把刀至少 99 % 的切削步,功率比與扭矩比 ≤ 0.667、應力比在它的目標內;有撓曲上限的操作,探針上至少 99 % 的切削步在上限內(難題 1 之後);寫在最低進給的步另計 |
| O3 | 形狀不變:(a) 在代理的 z-map 上,每支優化後的程式留下的毛胚與原始程式相同,99.9 % 的格點差在 1 µm 內;(b) 整塊模具重播後 HiNC 匯出的毛胚對設計,照驗收的做法 |
| O4 | 時間預測:V1 一半模具 280–345 min、T1 最多 50 min;V2 在 V1 與第二次修訂之間,330–420 min;後來加做的 V3 最多是第二次修訂的 439.1 min |
| O5 | 探針上的精修撓曲:V1 每個 T2、T3 精修操作的第 99 百分位與最大值不高於原程式(容差 2 %),超過 12.5 µm 的比例較小;V2 不高於第二次修訂 × 1.02 |
| O6 | 空切進給不落在料上:依播放順序在代理的 0.05 mm z-map 上重走,沒有任何一段以高於該操作上限 × 1.02 的進給切進深於 2 µm |
| O7 | 輸出檔真的被改寫、改寫乾淨:每支優化後的檔案都和原始程式不同,程式改寫沒有錯誤 |
| O8 | 凹角的峰值:探針重播上,每一個超過上限的步,要嘛已寫在最低進給、沒有進給可再降,要嘛在上限的 2 % 內;預測:剩下的是直插凹角的下刀 |
| O9 | 誰決定進給:每個切削步依決定它的限制分類;預測 T1 粗加工至少 80 % 頂在上限,精修大多守在程式進給,凹角的下刀在最低進給 |
難題¶
每條依序寫出:情況、沒發現的話有什麼風險、怎麼發現、怎麼解決,以及解法成立的證據。
1. 對斜降與下刀不起作用的目標切削力¶
- 情況。 計畫用目標切削力把每個精修操作守在它的撓曲上限內,目標嵌在程式裡該操作的第一個主軸行。
- 風險。 目標不起作用的地方,精修照樣以程式進給跑,凹角的峰值不變,設定卻看起來像是守住了。
- 怎麼發現。 第一次在探針毛胚上試跑,優化後 T3 陡牆精修仍彎到 41 µm,力的第 99 百分位仍是 51.5 N,而目標是 23.5 N。代理的檢查接著拿每一個已經超過目標的步,比對優化器步級日誌裡力準則允許的每刃進給和這一步原本的進給:斜降步除了一步(1,497 步中 1,496 步)與每一個下刀步(36 步中 36 步,其中包括直插凹角的那一步 208 N),日誌給的都是上界,也就是這一步本來就會有的進給;水平的步上目標有作用(177 步中 168 步)。一支最小程式也顯示同樣的事:斜降段 36–68 N、目標 5 N,日誌給 0.05 mm 的上界;接在後面的水平段給 0.0089 mm。
- 解決。 在 V1 第一次整塊模具播放之前寫在計畫旁:改由刀具應力準則承載撓曲上限,透過每個操作的降伏安全係數,因為刀尖撓曲和應力比來自同一個彎矩。目標切削力照留,因為它在水平步上有作用。O2 改寫成以撓曲判這些操作。
- 證據。 第二次試跑:探針上 T3 陡牆精修的第 99 百分位/最大從 32.1/112.4 µm 變成 15.1/23.8 µm;仍超過 12.5 µm 的 1,366 步裡,1,363 步在最低進給 100 mm/min,其餘三步 12.6–12.7 µm;T3 殘料粗加工超過 40 µm 的步從 1,112 步剩 2 步,41.2 µm。在整塊模具上,T3 陡牆精修超過目標的斜降步,力準則仍有 39,051 步給上界,只有 177 步真的求解。
2. 怎麼降進給都修不好的凹角步¶
- 情況。 O8 問的是:在優化器能寫的最低進給下,凹角的哪些峰值仍超過上限。
- 風險。 當成進給的問題,就會把凹角再放慢——更低的最低進給、更長的延伸窗——時間愈花愈多,卻永遠達不到上限。
- 怎麼發現。 V1 探針重播上的 O8,以及同一個姿勢優化前後的畫面。
- 解決。 V1 把探針上撓曲超過上限的 1,423 步裡的 1,422 步寫成最低進給 100 mm/min:T3 陡牆精修 1,361 步、緩坡精修 40 步、T2 陡牆精修 21 步。第二次試跑時它們都在肋溝凹角,x 22–34、y 5.7–8.6、z −7.1 到 −4.3,27–46 N、13–24 µm。唯一還在最低進給之上的一步彎 12.71 µm,在上限的 2 % 內,所以 O8 照字面通過,它的預測也成立:更低的進給沒辦法讓這些步回到上限內;剩下能改的是進入凹角的方式,或用比凹角小的球刀,和那個案例頁的結論相同。
- 證據。 探針上 T3 陡牆精修:最大撓曲 112.4 → 23.8 µm,最大力 208.3 → 46.0 N,超過 12.5 µm 的步 23.3 → 6.1 %。畫面、同一段每半秒的圖,以及 O8 的圖:

優化前:原程式,與頁首同樣的姿勢與上色,0 到 100 N。沿著溝的凹角是一圈圈紅與黃,那裡是球刀整段圓弧在切。
T3 陡牆精修經過探針毛胚,每 0.5 秒的模擬時間。原程式 73 秒、峰值 112 µm;第二次修訂與 V2 各 121 與 108 秒、峰值 40 µm;V1 與 V3 峰值 24 µm,V1 用了 320 秒,因為它的延伸窗把每個凹角步周圍都壓在 100 mm/min,V3 用了 96 秒。
O8。淺藍:超過上限、已在最低進給 100 mm/min、沒有進給可再降的步。紅:超過上限、在最低進給之上的步,更低的進給還能幫上忙。
3. 延伸窗花的時間比降速本身多¶
- 情況。 V1 的一半模具是 659.0 min,O4 預測 280–345 min,比原程式多 92 %。
- 風險。 不看分解,會以為優化器把切削本身放慢了,或把延伸窗的代價當成撓曲上限的代價。
- 怎麼發現。 代理在 z-map 上重走每支程式,把每段移動分成切削或空切,並把進給依時間加權;以及優化器的步級日誌。
- 解決。 接觸的步各以自己求得的進給,只比原程式多 16 min:T2 54.9 → 60.6 min,T3 60.9 → 70.9 min。其餘的是延伸距離:HiNC 把一步前後各 2 mm 降到窗內最低的進給,所以 T3 緩坡精修寫在最低進給 100 mm/min 的 4,006 個切削步,每一步最多帶走 4 mm 的路徑,那個進給下就是 2.4 秒。這些步大多不在凹角:在 0.125 mm 的整塊模具上,原程式 T3 緩坡精修的力第 99 百分位是 156 N(探針毛胚上 36.5 N),因為 T3 的殘料粗加工只沿 X 分層,那裡留下的不只名目上的 0.04 mm。計畫因此修正:加做 V3,也就是拿掉延伸窗的 V1。
- 證據。 V1 裡,T3 的切削移動有 193.6 min 在 100–200 mm/min,其中 127.0 min 在緩坡精修;原程式一分鐘也沒有。圖:
切削移動在各進給區間的時間,取自代理對整塊模具的 z-map 重走。V1 的 T3 有 194 min 在 100–200 mm/min;V3 每一步的求解和 V1 一樣,只是沒有延伸窗,是 13 min。
時間花在哪裡,每把刀:切削進給、空切進給與快移。延伸窗把 V1 的空切移動也和切削一起拖慢:T3 的空切進給從 85.7 min 長到 178.5 min。
4. 沒有延伸窗,網格的盲點拿到全速¶
- 情況。 V3 拿掉延伸窗:一半模具 251.9 min,比原程式少 26.5 %。
- 風險。 0.125 mm 的網格比 T3 精修留量 0.04 mm 粗。沒有延伸窗,網格讀成很輕、或讀成空切的切削,就拿到上限或空切進給,周圍也沒有東西讓它慢下來。
- 怎麼發現。 V3 探針重播上的 O8,以及它在 z-map 重走上的 O6。
- 解決。 V3 照實記錄、照字面判定,不建議使用。在探針毛胚上,T3 殘料粗加工彎到 89.5 µm(原程式 70.0 µm、V1 39.8 µm):那一步在 x 23.6、y 6.2、z −5.45,寫的是上限 F1350,探針在那裡讀到 157 N、應力比 0.70。殘料粗加工有 238 步、陡牆精修有 127 步在最低進給之上超過上限。在 z-map 上,T2 有 3,156 段、T3 有 26,838 段以高於該操作上限的進給切到料,其中 516 段深於 12.5 µm,最深 50 µm,在 T2 的殘料粗加工;V1 只有 63 段,深於 12.5 µm 的只有 1 段,13.8 µm。
- 證據。 T3 殘料粗加工經過探針毛胚的圖,以及畫面:每一步的求解和 V1 一樣——凹角的步在最低進給,每刃進給畫面上是藍色——但旁邊的步保有自己的進給。
T3 殘料粗加工經過探針毛胚,每 0.5 秒。V3 用了 110 秒、突到 89.5 µm;V1 用 286 秒守住 40 µm。

V3,同樣的姿勢與力的上色,0 到 100 N:它的陡牆精修讀起來和 V1 一樣。

V3 依每刃進給上色,0 到 0.05 mm:凹角一帶是藍色,那些步在最低進給附近;其他地方是紅色,也就是精修的程式值 0.05 mm。
5. 短的延伸窗換到什麼¶
- 情況。 介於 0 與 2 mm 之間的延伸窗,或許能留住 V3 大部分的速度與 V1 的峰值。
- 風險。 憑猜測在整塊模具上播 V4,要佔共用鎖大約一小時;不播,問題就懸著。
- 怎麼發現。 試跑之前寫下的規則:在整塊模具上播「探針試跑通過 O8、而且沒有深於 12.5 µm 的空切進給段」裡最短的那個延伸窗;一個都不過,就不播 V4,並寫明延伸窗換到的是什麼。
- 解決。 在探針毛胚上試跑:剪下的原程式以 0.125 mm 優化、0.0625 mm 重播,一組沒有延伸窗、一組 0.5 mm。沒有延伸窗的試跑重現了整塊模具 V3 的峰值,同一步 89.5 µm,所以試跑代表得了整塊模具。0.5 mm 的延伸窗把在最低進給之上超過上限的步從 418 減到 22,殘料粗加工的最大值從 89.5 降到 42.7 µm,也沒有深於 12.5 µm 的空切進給段,探針上的時間多 51 %;V1 的 2 mm 延伸窗在那裡比 V3 多 142 %。0.5 mm 仍沒通過 O8,所以依規則不播 V4。0.25 mm 的延伸窗給每一步的進給只會比 0.5 mm 高、峰值不會更低,所以它的試跑在等鎖時就取消了。
- 證據。
| 每步前後的延伸窗 | 探針上 T2+T3 | T3 殘料粗加工:最低進給之上超過 40 µm 的步/最大 | T3 陡牆精修:最低進給之上超過 12.5 µm 的步/最大 | T3 緩坡/T2 陡牆精修:最低進給之上超過 12.5 µm 的步、最大 | 深於 12.5 µm 的空切進給段 |
|---|---|---|---|---|---|
| 0 mm,試跑 | 5.90 min | 273/89.5 µm | 132/14.8 µm | 3、16.3 µm/10、12.9 µm | 22 |
| 0.5 mm,試跑 | 8.92 min | 5/42.7 µm | 14/13.5 µm | 1、13.3 µm/2、12.6 µm | 0 |
| 對照:整塊模具優化的 V3,剪下(0 mm) | 7.11 min | 238/89.5 µm | 127/14.4 µm | 2、16.3 µm/6、12.9 µm | 5 |
| 對照:整塊模具優化的 V1,剪下(2 mm) | 17.20 min | 0 | 1/12.7 µm | 0/0 | 0 |
延伸窗試跑:0.5 mm 換到什麼、又花了什麼。
6. 「不比第二次修訂慢」留住了第二次修訂的峰值¶
- 情況。 V2 把每一步的下限設在第二次修訂自己的進給。O2 要求至少 99 % 的切削步在上限內,O5 要求精修不超過第二次修訂的撓曲 × 1.02。
- 風險。 把 V2 讀成「HiNC 守住了凹角」:下限留住了第二次修訂的慢步,也一起留住了第二次修訂的峰值。
- 怎麼發現。 探針重播對 O2 與 O5 的判定,以及每次優化播放的警告
NcOpt-Feed--SourceFloorOverTarget:下限把 T2 的 3,062 步、T3 的 46,230 步撐在負載目標之上。 - 解決。 照字面判:O2 與 O5 沒過。探針上超過上限的 1,430 步——T2 陡牆精修 93 步、T3 陡牆精修 1,268 步、緩坡精修 64 步、殘料粗加工 5 步——都是第二次修訂自己的步,被下限擋在第二次修訂的進給上;沒有一步在最低進給。最大的步和第二次修訂相同:T3 陡牆精修 39.6 µm、殘料粗加工 43.9 µm。第 99 百分位比第二次修訂略高,超出 2 % 的容差:T2 陡牆 16.2 對 15.4 µm、T3 陡牆 17.8 對 17.4 µm、T3 緩坡 14.7 對 14.2 µm,以及 T2 緩坡 2.9 對 2.3 µm,遠低於它的上限。V2 從第二次修訂的 439.1 min 省下的 107.7 min 來自三處:粗加工程式 23.7 min,V2 用的是 V1 的 T1;T2 與 T3 的殘料粗加工 44.8 min,加速到每刃上限,沒有切削的段以空切進給走;以及它們的精修 39.1 min,第二次修訂放慢得比 HiNC 的限制所需更多的段再加快回來(不超過程式進給),空切移動以空切進給走。
- 證據。 下限決定了 T2 陡牆精修 56 %、緩坡精修 63 %,T3 陡牆 45 %、緩坡 24 % 的步:見限制的圖。
每個切削步的進給由哪個限制決定,取自優化器在整塊模具上的步級日誌。V3 每一步的求解和 V1 一樣,只有延伸窗不同,所以沒有畫。
7. 被切開的程式行,在幾乎不動的軸上沿用來源行的終點值¶
- 情況。 優化器重新插值進給的地方,會把一行原始程式切成幾段,每段寫出自己的終點,並帶著來源行的
(src(...))註記。代理的檢查透過這些註記,把寫出的每一點對回它的來源行。 - 風險。 一個不在程式直線上的點,會把刀帶到 CAM 沒有放的位置;在精修道上,就是牆上的一個台階或過切。
- 怎麼發現。 V3 的 T2 沒過 O3(a),只有 99.49 % 的格點在 1 µm 內;逐點對回來源行的檢查找到了原因。
- 解決。 一支最小程式就看得到這個行為。
G1 X33 Y6.515從 X19 Y6.5 開始,Y 每一步只上升 0.00008 mm。某一段的 Y 和前一行寫出的 Y 相差不到 0.0001 mm 時,優化器保留來源行自己的 Y 字——也就是它的終點值——而不是寫出這一段的值:前 10 段裡有 7 段寫成 Y6.515,而那裡的直線是 Y6.5002–6.5011,刀在進刀處橫向來回跳 15 µm,最後一段平行偏離直線 14 µm。誤差的上限是那一軸在這條線上剩下的變化量,所以線愈長愈大:以這副模具的步長,100 mm 的線約 0.14 mm。這副模具的優化程式裡,偏離來源直線超過 1 µm 的每一點都是這一種,最多 8.6 µm(見結果)。代理的檢查把它們移回線上,O3(a) 照寫出的與修正後的兩種都報。 - 證據。 圖:最小程式的直線與為它寫出的分段,以及每支優化程式裡偏離直線的點。
左:最小程式,Y 以高於 6.5 mm 的微米數畫出。右:模具優化程式裡偏離來源直線的點,與最大的距離。
8. 陡牆過不了的形狀標準¶
- 情況。 O3(a) 要求 99.9 % 的 z-map 格點和原始程式的毛胚相差在 1 µm 內。把切開行的點移回線上之後,V3 的 T3 仍有 280 個格點相差超過 10 µm,最大 0.149 mm。
- 風險。 把真的形狀改變當成網格雜訊,或者反過來。
- 怎麼發現。 O3(a) 逐格點的比較。
- 解決。 這 280 個格點全在陡於 82.7° 的牆上,那裡一個格點的高度對路徑次微米的移動極敏感。以格點 (35.6, 8.6) 為例:來源行 175061 是 R1.5 球刀 0.25 mm 的直插;下到 0.82 時球心離這個格點 1.499995 mm,球的赤道剛好碰到,把它切到 z −2.8085。優化器把這一行切在 X35.628 Y7.1——精確值是 Y7.10033——所以切開之後的那一段離格點 1.5000 mm 以上、碰不到,這一點留在 −2.6842。表面只移動了 0.33 µm,那個格點的高度卻差了 0.124 mm。不經取樣的精確掃掠在這 280 個格點給出一樣的差,最大 0.154 mm,所以這是近垂直牆上高度場的性質,不是 z-map 的取樣:1 µm 的高度標準在這種牆上判不了形狀。判定照字面保留。
- 證據。 結果一節的 O3(a) 表。
9. 探針毛胚上的剪下程式¶
- 情況。 整塊模具用 0.0625 mm,每格的記憶體是 0.125 mm 的四倍,六個程式版本太重;但小球刀的負載必須在離它的留量近一點的網格上讀。
- 風險。 探針上的數字和整支程式經過那塊毛胚時不一樣。
- 怎麼發現。 計畫時就寫下。
- 解決。 優化在 0.125 mm 的整塊模具上看整支程式;之後把原始程式與優化後的程式都剪成經過毛胚的移動,在毛胚上以 0.0625 mm 重播,一次 1 到 3 分鐘。
- 證據。 播在毛胚上,剪下的原程式每個操作接觸毛胚的步,和整支程式播在同一塊毛胚上逐一相同,最大力也相同:T3 精修 208.34 N、殘料粗加工 129.71 N、T1 176.49 N。整支 T1 程式播在毛胚上用了 110 秒、2.0 GB。
10. 只在代理的 z-map 上碰到料的快移¶
- 情況。 V1、V2、V3 的 T3 都有一段從原始程式原封不動抄過來的快移
G0 X33.7 Y-6.7,Z−5.23;在 0.05 mm 步距的 z-map 重走上,它碰到料 37 到 117 µm 深(最多 0.0014 mm³),原始程式的重走則不碰。 - 風險。 一支用快移切料的優化程式。
- 怎麼發現。 z-map 重走裡「切到料的快移」的計數。
- 解決。 從同一個毛胚以 0.01 mm 的步距重走,原始程式與 V1 都不碰:碰到的是重走在取樣快移之前被切開的移動,不是程式本身。
- 證據。 原始程式與 V1 以 0.01 mm 重走,沒有切到料的快移。
11. 沒有人設的限制¶
- 情況。 HiNC 的後角限制預設是開的,它把每刃進給壓在刃口的後刀面不會壓上未切削材料的範圍內(後刀面避讓)。在 V1 裡,它決定了 T2 殘料粗加工 7.5 % 的切削步、緩坡精修 5.5 % 的切削步。
- 風險。 把這些較慢的步讀成代理設的負載限制造成的。
- 怎麼發現。 步級日誌的分類(O9)。
- 解決。 照 HiNC 的預設開著,結果裡另外列出。
- 證據。 限制的表與圖。
12. 較小的幾件¶
| 發生了什麼 | 風險 | 怎麼看出來 | 怎麼解決 | 成立的證據 |
|---|---|---|---|---|
| 第一次修訂當時沒有留下 | 拿一個拿不出來的修訂比較 | 計畫時的清點 | 用案例自己的 CAM 腳本重新產生;同一支腳本逐位元組重現了留下來的原程式與第二次修訂 | 它的時間 T2 117.94、T3 220.10 min,對上第一次修訂記錄的 117.9 與 220.1 min |
| T1 的優化播放峰值 46.3 GiB,重播只要 4.9 GiB | 擠到共用伺服器上的線上服務 | 記憶體紀錄 | 上面的守護程式與 40 GB 規則;一支程式一輪 | 每次播放都跑完;守護程式沒有停過任何一次 |
| 探針試跑用到 4.7 GiB、探針播放 1.9–2.7 GB,超過不排鎖可以用的 1.5 GB | 共用伺服器上同時跑兩個重的工作 | 實例的記憶體 | 從當晚 20:30 起,每次探針播放都排共用鎖 | 每次播放紀錄裡的排鎖旗標 |
| 重啟的實例拿不到埠,因為舊實例還佔著 | 一串播放在開頭就失敗 | 一次啟動失敗 | 播放鏈等埠釋放之後才重啟實例 | 之後每次播放都啟動了 |
| V1 三支程式的整塊模具重播約要 2.5 小時、30 GB | 把鎖從 V3 與 V2 手上拿走 | 估計 | 依事先寫的規則,整塊模具重播只給峰值守住的變體裡最快的那個;沒有一個合格,所以只重播了 V1 的 T1,V1 的 T2、T3 以探針與 z-map 判 | T1 的重播:每一行都跑到,41.11 min,在目標內 |
| V2 的 T3 被排成從原程式 T2 留下的毛胚開始,不是第二次修訂的 | V2 的 T3 在錯的毛胚上優化 | 還在等鎖時發現 | 開始前停掉;先單獨播第二次修訂的 T2 記下毛胚,再在它上面優化 V2 的 T3 | V2 的 O3(a) 比的是第二次修訂自己的毛胚 |
| 共用鎖不照順序;有一次等了一個多小時 | 研究的尾端一直輪不到 | 排隊時間 | 取消 0.25 mm 的延伸窗試跑(難題 5),也取消三張規劃中的畫面,其中一張等了 83 分鐘;T1 的重播照做 | T1 的重播等了 64 分鐘後跑完 |
| 畫面播放和試跑共用一個小實例 | 排隊中的試跑蓋掉要截圖的那一次播放 | 排隊順序 | 每張畫面拍好之前先停掉排隊中的試跑,拍完再排回去 | 本頁的四張畫面 |
結果與效益¶
在 HiNC 3.2.45 上量得:整塊模具在 0.125 mm 的優化播放,一支程式一輪;剪下的程式在探針毛胚上以 0.0625 mm 重播;T1 在整塊模具上以 0.125 mm 重播。優化後 T2、T3 程式的時間是代理在 z-map 上的計算——進給長度除以進給、快移 24 m/min——因為它們沒有做整塊模具的重播;凡是 HiNC 在整塊模具上播過的程式——三支原程式、第二次修訂的 T2 與 T3、V1 的 T1——它自己的模擬時間和這個計算相差在 0.04 % 以內。
| # | V1,原程式,2 mm 延伸窗 | V2,第二次修訂,不比它慢 | V3,原程式,沒有延伸窗 |
|---|---|---|---|
| O1 | 過。 三次優化播放每一行都跑到(70,567/190,004/400,570),建好進給、寫出檔案;唯一的警告是 T1 的一則 Play-RapidCut--Detected,就是原始程式自己的那一段快移,0.0002461 mm³。探針重播每一行都跑到、沒有警告。T1 的整塊模具重播:每一行都跑到、沒有 Collided、同一則快移訊息,41.114 min |
過。 每次優化播放一則 NcOpt-Feed--SourceFloorOverTarget,是下限預期的報告;每一行都跑到(190,014/400,577);探針重播沒有警告 |
過。 同 V1;探針重播沒有警告 |
| O2 | 探針上過:在最低進給之上超過上限的只有 1 步,T3 陡牆精修 12.71 µm。T1 在整塊模具上:186,846 個切削步裡,沒有一步功率或扭矩超過 0.667、或應力超過它的目標 | 照字面未過:T2 陡牆精修 93 步、T3 陡牆精修 1,268 步、緩坡精修 64 步、殘料粗加工 5 步,在最低進給之上超過上限——是第二次修訂自己的步,被下限擋在它的進給上 | 未過:T3 殘料粗加工 238 步(2.2 %,最高 89.5 µm)、陡牆精修 127 步(1.0 %) |
| O3(a) | T1 100 %(最大 0.13 µm),過;T2 99.82 %,未過(把切開行的點修回線上是 99.99 %);T3 99.94 %,過 | 對第二次修訂自己的毛胚,T2 99.98 %、T3 99.93 %:過 | T2 99.49 %,未過(修正後 99.996 %);T3 99.84 %,未過(修正後 99.896 %,其餘都在陡牆上,難題 8) |
| O3(b) | 沒做:T2、T3 沒有整塊模具重播 | 沒做 | 沒做 |
| O4 | 預測 280–345 min,實測 659.0:沒中(難題 3);T1 預測最多 50 min,實測 41.1:中 | 預測 330–420 min,實測 331.5:中 | 預測最多 439.1 min,實測 251.9:中 |
| O5 | 過:每個 T2、T3 精修操作的第 99 百分位與最大值都低於原程式,超過 12.5 µm 的比例沒有變大(T3 陡牆 23.3 → 6.1 %) | 照字面未過:最大的步與第二次修訂相同;四個精修操作的第 99 百分位都高於第二次修訂 × 1.02(難題 6) | 精修過;它的殘料粗加工沒過 O2 與 O8 |
| O6 | 照字面未過:T1、T2、T3 各有 1、20、42 段以高於上限的進給切到料,深於 12.5 µm 的只有一段,13.8 µm;其餘是 2–11 µm 的擦邊 | 照字面未過:1、20、43 段,深於 12.5 µm 的一段,13.8 µm | 未過:T2 3,156 段、T3 26,838 段,516 段深於 12.5 µm,最深 50 µm |
| O7 | 過:每支檔案都和原始程式不同;程式改寫沒有錯誤 | 過 | 過 |
| O8 | 過:超過上限的 1,423 步裡 1,422 步在最低進給,最後一步在 2 % 內 | 不適用:它超過上限的步被擋在第二次修訂的進給 | 未過:殘料粗加工 238 步、陡牆精修 127 步、T2 陡牆 6 步、T3 緩坡精修 2 步在最低進給之上 |
| O9 | 照預測:T1 粗加工 99.8 % 頂在上限;T2、T3 精修 84–93 % 守在程式進給;凹角的下刀在最低進給 | 下限決定了 24–63 % 的精修步 | 每一步的求解和 V1 一樣;只有延伸窗不同 |
一半模具每把刀的時間(min):
| 程式版本 | T1 | T2 | T3 | 一半模具 | 對原程式 | 對第二次修訂 |
|---|---|---|---|---|---|---|
| 原程式 | 64.84 | 101.12 | 176.85 | 342.8 | — | −21.9 % |
| 第一次修訂(手動) | 64.84 | 117.94 | 220.10 | 402.9 | +17.5 % | −8.3 % |
| 第二次修訂(手動) | 64.84 | 121.98 | 252.33 | 439.1 | +28.1 % | — |
| V1,2 mm 延伸窗 | 41.10 | 160.19 | 457.75 | 659.0 | +92.2 % | +50.1 % |
| V2,第二次修訂、不比它慢 | 41.10 | 90.12 | 200.23 | 331.5 | −3.3 % | −24.5 % |
| V3,沒有延伸窗 | 41.10 | 78.65 | 132.11 | 251.9 | −26.5 % | −42.6 % |
一半模具,依刀具分。每個變體的 T1 都從 65 降到 41 min;變體之間的差別在 T2 與 T3。
時間花在哪裡,每把刀、每個版本,取自 z-map 重走(min):
| 刀具 | 版本 | 切削進給 | 空切進給 | 快移 |
|---|---|---|---|---|
| T1 | 原程式、第一與第二次修訂 | 58.83 | 5.41 | 0.61 |
| T1 | 每個變體 | 39.50 | 0.99 | 0.61 |
| T2 | 原程式 | 60.87 | 34.88 | 5.37 |
| T2 | 第二次修訂 | 81.73 | 34.88 | 5.37 |
| T2 | V1 | 97.80 | 57.02 | 5.37 |
| T2 | V2 | 62.17 | 22.59 | 5.37 |
| T2 | V3 | 52.98 | 20.31 | 5.37 |
| T3 | 原程式 | 80.91 | 85.65 | 10.29 |
| T3 | 第二次修訂 | 156.39 | 85.66 | 10.29 |
| T3 | V1 | 268.94 | 178.52 | 10.29 |
| T3 | V2 | 118.36 | 71.58 | 10.29 |
| T3 | V3 | 68.42 | 53.39 | 10.29 |
原程式有 37 % 的時間是空切進給:T3 的分層殘料粗加工與平行精修,跨過已經沒有料的地方。兩次手動修訂都沒有改到這一塊;優化器則把延伸窗內沒有切削的段落以該刀的空切進給送出。
探針毛胚上的小球刀。 切削步上主軸每轉一圈的 XY 刀尖撓曲,第 99 百分位/最大,括號是超過上限的步的比例:
| 操作(上限) | 原程式 | 第一次修訂 | 第二次修訂 | V1 | V2 | V3 |
|---|---|---|---|---|---|---|
| T2 D6 精修,陡牆(12.5 µm) | 46.3/68.1 µm(14.6 %) | 16.2/68.1 µm(1.5 %) | 15.4/31.6 µm(1.9 %) | 10.7/14.2 µm(0.2 %) | 16.2/31.6 µm(2.3 %) | 12.0/14.2 µm(0.6 %) |
| T2 D6 精修,緩坡(12.5 µm) | 3.0/3.4 µm(0) | 2.3/3.4 µm(0) | 2.3/3.4 µm(0) | 2.9/3.4 µm(0) | 2.9/3.4 µm(0) | 2.9/3.4 µm(0) |
| T3 R1.5 殘料粗加工(40 µm) | 53.4/70.0 µm(11.3 %) | 47.2/65.1 µm(5.7 %) | 33.2/43.9 µm(0.02 %) | 36.5/39.8 µm(0) | 38.0/43.9 µm(0.03 %) | 41.0/89.5 µm(2.2 %) |
| T3 R1.5 精修,陡牆(12.5 µm) | 32.1/112.4 µm(23.3 %) | 18.0/112.4 µm(10.2 %) | 17.4/39.6 µm(10.0 %) | 15.0/23.8 µm(6.1 %) | 17.8/39.6 µm(11.4 %) | 16.4/23.8 µm(11.7 %) |
| T3 R1.5 精修,緩坡(12.5 µm) | 20.5/96.7 µm(1.8 %) | 14.7/96.7 µm(1.4 %) | 14.2/32.3 µm(1.4 %) | 12.3/18.3 µm(0.7 %) | 14.7/32.3 µm(1.6 %) | 13.4/18.1 µm(1.3 %) |
同樣這些步的最大力與應力比:
| 操作 | 原程式 | 第一次修訂 | 第二次修訂 | V1 | V2 | V3 |
|---|---|---|---|---|---|---|
| T2 精修,陡牆:力/應力比 | 516 N/0.84 | 516 N/0.84 | 231 N/0.38 | 111 N/0.16 | 231 N/0.38 | 111 N/0.16 |
| T3 殘料粗加工 | 130 N/0.56 | 120 N/0.52 | 83 N/0.35 | 74 N/0.31 | 83 N/0.35 | 157 N/0.70 |
| T3 精修,陡牆 | 208 N/0.91 | 208 N/0.91 | 74 N/0.32 | 46 N/0.19 | 74 N/0.32 | 46 N/0.19 |
| T3 精修,緩坡 | 173 N/0.76 | 173 N/0.76 | 58 N/0.25 | 34 N/0.14 | 58 N/0.25 | 34 N/0.14 |
探針毛胚上主軸每轉一圈的刀尖撓曲,對數刻度。每條長條從中位數畫到第 99 百分位;圓點是最大的一步。虛線:12.5 µm 的精修上限;點線:T3 殘料粗加工的 40 µm 上限。
時間對 R1.5 球刀的撓曲,左是等高精修、右是殘料粗加工。沒有一個版本在兩張圖裡都落在左下:V1 峰值最低但最慢,V3 最快但殘料粗加工沒過,V2 比原程式快、峰值是第二次修訂的。
左:兩者 T1 的功率都離目標很遠,最多是目標的 0.55。右:T3 陡牆精修對 12.5 µm。曲線畫到萬分之一的比例為止,差一點就到最大的步:原程式是上限的 9 倍,第二次修訂與 V2 是 3.2 倍,V1 與 V3 是 1.9 倍。
整塊模具上的粗加工刀,原程式的優化播放對 V1 的重播:
| T1 D10 R1,整塊模具 0.125 mm | 原程式 | V1 |
|---|---|---|
| 模擬時間 | 64.86 min | 41.11 min |
| 切削步 | 242,121 | 186,846 |
| 每刃進給,中位數 | 0.069 mm | 0.104 mm |
| 主軸功率比(短時額定),最大/第 99 百分位 | 0.37/0.086 | 0.35/0.126 |
| 主軸功率比(連續額定),最大 | 0.49 | 0.46 |
| 扭矩比,最大 | 0.15 | 0.14 |
| 應力比,最大 | 0.30 | 0.27 |
| 力,最大/第 99 百分位 | 813/337 N | 775/392 N |
| XY 刀尖撓曲,最大/第 99 百分位 | 18.1/5.7 µm | 17.6/7.8 µm |
T1 在整塊模具上,每 10 秒的最大主軸功率比。決定 T1 進給的不是主軸,是上限。
T1 的切削時間依每刃進給分布:V1 把它從程式的 0.069 mm 搬到 0.104 mm 的上限。
誰決定進給,取自優化器在整塊模具上的步級日誌:每一步在自己的求解裡,允許進給最低的那個限制;延伸窗與加速度平滑在這之後還會把一些進給再壓低(難題 3):
| 變體、操作 | 切削步 | 上限 | 守在程式進給 | 不比第二次修訂慢 | 刀具應力 | 目標切削力 | 後角 | 最低進給 |
|---|---|---|---|---|---|---|---|---|
| V1,T1 等高粗加工 | 209,381 | 99.8 % | — | — | — | — | 0.2 % | — |
| V1,T1 平面到尺寸 | 32,739 | — | 99.6 % | — | 0.3 % | 0.1 % | 0.1 % | — |
| V1,T2 殘料粗加工 | 127,960 | 89.9 % | — | — | 2.5 % | — | 7.5 % | 2 步 |
| V1,T2 精修,陡牆 | 212,832 | — | 92.7 % | — | 3.7 % | 1.7 % | 1.9 % | 0.02 % |
| V1,T2 精修,緩坡 | 234,669 | — | 90.6 % | — | 3.8 % | 0.2 % | 5.5 % | 8 步 |
| V1,T3 殘料粗加工 | 277,908 | 88.3 % | — | — | 5.3 % | 4.4 % | 1.9 % | — |
| V1,T3 精修,陡牆 | 349,776 | — | 84.4 % | — | 10.7 % | 3.3 % | 0.02 % | 1.6 % |
| V1,T3 精修,緩坡 | 178,373 | — | 90.2 % | — | 2.1 % | 2.1 % | 3.2 % | 2.2 % |
| V2,T2 殘料粗加工 | 155,475 | 88.6 % | — | 7 步 | 4.7 % | — | 6.6 % | — |
| V2,T2 精修,陡牆 | 286,249 | — | 26.8 % | 56.2 % | 10.0 % | 3.3 % | 3.8 % | — |
| V2,T2 精修,緩坡 | 303,428 | — | 34.9 % | 63.4 % | 0.5 % | 0.1 % | 1.1 % | — |
| V2,T3 殘料粗加工 | 466,601 | 85.5 % | — | 1.0 % | 6.6 % | 4.1 % | 2.7 % | — |
| V2,T3 精修,陡牆 | 547,027 | — | 31.1 % | 44.7 % | 22.7 % | 1.5 % | 0.02 % | — |
| V2,T3 精修,緩坡 | 419,113 | — | 71.3 % | 24.0 % | 2.5 % | 1.7 % | 0.5 % | — |
主軸功率與扭矩在任何一個操作都只決定不到 0.1 % 的步。這裡的切削步是原始程式在優化播放裡的切削步。
代理 z-map 上的形狀:每支優化後的程式從它的原始程式開始時的毛胚重走,和原始程式自己的重走比,差在 1 µm 內的格點比例(標準 99.9 %),照寫出的與把切開行的點移回線上的兩種:
| 程式 | V1 照寫出/修正後 | V2 照寫出/修正後 | V3 照寫出/修正後 | 最大差,照寫出 |
|---|---|---|---|---|
| T1 | 100 % | 用 V1 的 T1 | 用 V1 的 T1 | 0.13 µm |
| T2 | 99.82/99.99 % | 99.98/99.996 % | 99.49/99.996 % | V1 7.2、V2 6.1、V3 8.6 µm |
| T3 | 99.94/99.96 % | 99.93/99.97 % | 99.84/99.896 % | V1 20.4、V2 36.7、V3 148.9 µm |
偏離程式直線的點,每支優化檔的每一點對回它的來源行:
| 程式 | 寫出的點 | 偏離直線超過 1 µm | 最大 |
|---|---|---|---|
| V1 T1 | 70,857 | 0 | 0.6 µm |
| V1 T2 | 203,523 | 346 | 5.4 µm |
| V1 T3 | 441,258 | 302 | 4.9 µm |
| V2 T2 | 195,978 | 57 | 3.45 µm |
| V2 T3 | 437,181 | 626 | 5.1 µm |
| V3 T2 | 261,298 | 4,672 | 8.6 µm |
| V3 T3 | 564,225 | 1,592 | 4.9 µm |
空切進給對料(O6):在代理的 0.05 mm z-map 上,以高於該操作上限的進給切進深於 2 µm 的段:
| 變體 | T1 | T2 | T3 | 深於 12.5 µm | 最深 |
|---|---|---|---|---|---|
| V1 | 1 | 20 | 42 | 1 | 13.8 µm,T3 殘料粗加工 |
| V2 | 1 | 20 | 43 | 1 | 13.8 µm,T3 殘料粗加工 |
| V3 | 1 | 3,156 | 26,838 | 516 | 50 µm,T2 殘料粗加工 |
優化後的檔案(優化器在重新插值進給的地方會把一行拆成幾行):
| 程式 | 行數,原始 → 優化後 | F 字數,原始 → 優化後 | 寫出的進給 | 以空切進給的行 |
|---|---|---|---|---|
| V1 T1 | 70,568 → 70,878 | 306 → 591 | 367–14,560 mm/min | 203 |
| V1 T2 | 190,005 → 203,547 | 646 → 24,706 | 100–3,680 mm/min | 4,395 |
| V1 T3 | 400,571 → 441,281 | 30,257 → 62,426 | 100–2,140 mm/min | 9,617 |
| V2 T2 | 190,015 → 196,012 | 24,003 → 20,815 | 300–3,680 mm/min | 4,403 |
| V2 T3 | 400,578 → 437,211 | 89,718 → 106,996 | 100–2,140 mm/min | 9,818 |
| V3 T2 | 190,005 → 261,322 | 646 → 130,845 | 100–3,680 mm/min | 40,096 |
| V3 T3 | 400,571 → 564,248 | 30,257 → 340,826 | 100–2,140 mm/min | 121,307 |
執行的代價,在共用的 32 執行緒伺服器上:
| 播放 | 步數 | 伺服器時間 | 記憶體峰值 |
|---|---|---|---|
| T1 優化播放,整塊模具(每個變體共用) | 275,011 | 29.1 min | 46.3 GiB |
| V1:T2 與 T3 的優化播放 | 1,105,079 與 2,342,051 | 14.3 與 28.5 min | 約 20 與 20.5 GiB |
| V3:T2 與 T3 的優化播放 | 1,105,079 與 2,342,051 | 12.3 與 28.0 min | 20.3 與 20.2 GiB |
| V2:T2 與 T3 的優化播放 | 1,315,363 與 3,249,370 | 16.4 與 37.9 min | 31.6 與 27.3 GiB |
| 第二次修訂的 T2 一般播放,給 V2 起始的毛胚 | 1,315,363 | 11.4 min | 7.6 GiB |
| V1 的 T1 在整塊模具上重播 | 199,311 | 16.4 min | 4.9 GiB |
| 探針毛胚上的 22 次播放:重播、試跑、畫面、最小程式 | — | 每次 5 秒到 3.3 min,合計 37 min | 1.2 到 4.7 GiB |
整塊模具的播放共用了 194 min 的伺服器時間;T1 的重播另外在鎖上等了 64 min。V1 的 T2 優化播放沒有取樣到記憶體。從第一次試跑到最後一次重播,這次研究在一個晚上跑完。
給加工工程師。 一副精修球刀在等半徑凹角裡過載的模具,HiNC 的優化依它被允許做什麼,做出三種不同的事。允許它把精修降到撓曲上限,它會把超限的步除了一步都降到最低進給,並顯示在凹角裡即使這樣仍有 13–24 µm:那裡要改的是進刀或刀具,不是進給。接著它的延伸窗讓模具慢了 92 %,因為一個在最低進給的步,連周圍的路徑也一起放慢。沒有延伸窗,模具快了 26.5 %,但在比精修留量粗的網格上,模型會漏看負載,殘料粗加工彎到 89.5 µm。不准它低於手動修訂的程式,它讓那支程式少了 24.5 %(其中五分之一在粗加工),峰值留在原處。每一種情況下,粗加工都快了 36.6 %,靠的是代理選的上限。而優化後的檔案要對照它的來源行檢查:被切開的行可能帶著不在路徑上的點。
給老師或學生。 一副模具說明了進給優化器守什麼、不守什麼:它沒有內建的撓曲準則,所以上限必須由它守得住的準則來承載——這裡是刀具應力,它和撓曲來自同一個彎矩。它也說明了讓進給平滑的延伸窗,怎麼把一個慢步攤到 4 mm;為什麼比留量粗的網格會讓快速的優化不可信;以及為什麼有些峰值是幾何,不是進給。
給評估這種做法值不值得的人。 從三支驗收過的程式與兩次手動修訂,到三個優化變體,花了一個晚上:九次整塊模具播放、194 min 的伺服器時間、記憶體最高 46.3 GiB,以及探針毛胚上 22 次輕的播放。代理先寫標準與決定規則,在試跑時發現目標切削力對斜降不起作用,在第一次整塊模具播放之前就把上限改由刀具應力承載,加做了解釋自己預測沒中的變體,也照實報告沒過的標準。留給工程師的是凹角的進刀方式,以及要不要接受手動修訂程式上的 24.5 %。
誠實的限制¶
- 目標切削力在斜降與下刀上不會降低進給。 那些步上它幾乎都給上界;水平的步上它守得住。所以撓曲上限是由刀具應力準則、透過每個操作的降伏係數承載的。
- 撓曲是 HiNC 刀具樑模型的讀數,不是量測,而且這裡的去料幾何不含撓曲:播放關著 HiNC 的撓曲變換,形狀的比較讀的是程式路徑。
- 沒有任何進給能讓凹角回到 12.5 µm 內。 在最低進給 100 mm/min 下,R1.5 球刀在那裡仍彎 13 到 24 µm;要改的是進刀或刀具。
- 凹角的負載可能讀得偏高。 小刀正面撞上轉角時,HiNC 可能把負載讀高——射出模的案例量到直線切削負載的 3.3–6.8 倍,實際截面只有 1.6–1.8 倍——而這次研究沒有量這個凹角的實際截面。所以「怎麼降進給都回不到 12.5 µm 以下」是 HiNC 的讀數;那裡實際的撓曲可能較小。
- 延伸窗在每一步求解之後才作用,把慢步兩側各 2 mm 守在它的進給;最低進給的步一多,程式就變得很長。
- 網格比精修留量粗。 優化以 0.125 mm 進行,T3 的留量是 0.04 mm;撓曲的判定只來自凹角上的探針毛胚。整塊模具在 0.125 mm 上,別處有些地方讀到更大的負載——原程式 T3 緩坡精修的第 99 百分位 156 N、88.8 µm——沒有在更細的網格上判定。
- 優化後的檔案可能帶著不在程式直線上的點。 優化器把一行切開、而某一軸在一段裡移動不超過 0.0001 mm 時,這一段在那一軸上保留來源行的終點值:這裡最多 8.6 µm,100 mm 的線約 0.14 mm。優化後的檔案送上機台之前,先對照它的來源行檢查。
- 優化後的 T2、T3 程式沒有在整塊模具上重播,也沒有拿匯出的毛胚對設計量(O3(b));它們的形狀是代理 z-map 的比較,時間是 z-map 的計算,而在 HiNC 播過的程式上,這個計算都和 HiNC 對得上。
- 時間是理想進給的估計,不含控制器的加減速與前瞻:版本之間的比例可信,絕對值不是現場時間——見加工時間估算。
- 收益靠代理訂的上限,粗加工每刃進給的 1.5 倍,不是刀具廠的資料。
- 排屑、顫振與表面粗糙度都沒有建模。 只播了下模;上模是同樣的形狀與程式。
- 機台、主軸與刀具都是通用的,負載來自 HiNC 對所選模具鋼的資料庫係數;沒有在機台上量過任何東西。
讀者可以帶到自己案例的¶
- 把撓曲上限放在每一步都會作用的準則上。 這裡目標切削力對斜降與下刀不起作用;刀具應力和撓曲來自同一個彎矩,它起作用。
- 確認上限真的壓得住。 拿步級日誌裡每個準則允許的進給,和每一步優化前的負載比;一個從來沒有綁住的目標,看起來和綁住的一模一樣。
- 最低進給仍讓某一步超限時,改路徑,不要改進給。 看哪些步在最低進給、它們在哪裡。
- 算一算延伸窗的代價。 一個在最低進給的步會放慢它周圍的延伸窗;這種步多的長程式,可能比原始程式還慢。
- 網格比留量粗時,不要拿掉延伸窗,除非在更細的網格上檢查過結果;這裡那樣做放過了 89.5 µm。
- 已驗證的程式,以它自己的進給當下限,前提是它的慢步是刻意選的:100 % 的原始進給率下限讓手動修訂的程式少了 24.5 %,峰值不變。
- 優化後的檔案送上機台之前,對照它的來源行檢查。
- 決定規則要寫在決定它的試跑之前,預測沒中就連原因一起報告。
- 預留記憶體。 一次優化播放可能需要它重播的好幾倍:T1 是 46.3 GiB 對 4.9 GiB。
來源與授權¶
- 來源: Anna Dziubińska(華沙理工大學),「The New Technology of Die Forging of Automotive Connecting Rods from EN AB-71100 Aluminium Alloy Cast Preforms」,Materials 2023, 16(7), 2856,doi:10.3390/ma16072856(PMC10095791)。連結失效時可搜尋:
Dziubińska 2023 connecting rod EN AB-71100 die forging、ma16072856。 - 授權: CC BY 4.0。文章寫明:「Copyright: © 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).」(© 2023 作者。授權方 MDPI,瑞士巴塞爾。本文為依創用 CC 姓名標示 (CC BY) 授權條款散布的開放取用文章。)授權依原樣提供素材,不附任何保證。本頁不代表作者或出版者的背書。
- 姓名標示: 「Forging drawing and die photograph: A. Dziubińska, Materials 2023, 16, 2856, doi:10.3390/ma16072856, CC BY 4.0. Die design and machining set-up by Tech Coordinate's agent.」(鍛件圖與模具照片取自 A. Dziubińska,Materials 2023, 16, 2856,CC BY 4.0;模具設計與加工設定由 Tech Coordinate 的代理完成。)
- 用了什麼、改了什麼: 論文給的是鍛件圖、鍛件體積、製程溫度與模具照片;模具的案例頁寫了代理怎麼用它們。模具、它的材料、機台、刀具、程式,以及這裡的優化,都出自代理。本頁沒有重製論文的任何一張圖:畫面是 HiNC 對代理所設計模具的模擬,圖表畫的是 HiNC 的逐步結果與代理自己的 z-map。本站不提供下載:讀者自行到出版者處取得論文。