跳轉到

SpaceTeamSat1 立方衛星結構的 NC 優化:HiNC 的進給優化讓原程式回到主軸目標與撓曲上限、只多 3.8 % 的時間,並讓手調版少 9.9 %

SpaceTeamSat1 立方衛星結構是六片 Al 7075 板:一個 AI 代理 (agent) 用自己的 2.5 軸 CAM 產生 Fanuc 程式,分 24 次裝夾加工。X- 板的第一次裝夾(X- OP1)是這個案例第一次整支播放程式、看到小刀出問題的地方。照 CAM 第一次寫出的樣子播放,這支程式在 D16 粗加工向主軸要了 1.6 倍的短時額定(第 99 百分位),讓 D6 與 D2 的精修刀彎了 194 與 360 µm,而案例的上限是 D6 牆上 25 µm、D4 與 D2 角落 50 µm。代理一輪一輪手調它的 CAM,直到程式兩條都守住:進給依每一段刀路碰到的料縮放、牆分成半精修與一刀光刀、內凹圓弧放慢、光刀用 80 % 的進給。這次修改要付時間:823.6 秒的模擬時間,原程式是 635.6 秒。這一頁,同一個代理把兩支程式都交給 HiNC 的進給優化——它依每一步讀到的負荷重寫每一行的進給——並問兩個工廠會問的問題:優化器會怎麼處理原程式——哪些過載能靠進給拿掉、要付多少時間——以及在守住主軸與精修撓曲的前提下,手調修改花掉的時間它能收回多少?

在 HiNC 3.2.45、案例 0.125 mm 的網格寬度下,兩支優化後的程式在 HiNC 的模型裡都守住了主軸與精修撓曲。HiNC 對原程式的優化(變體 A)花 659.7 秒:比原程式長 3.8 %,比手調版短 19.9 %。D16 的主軸功率比第 99 百分位從 1.615 降到 0.663;由撓曲上限推得的目標切削力,讓一刀精修回到上限之內:D6 193.9 → 24.1 µm、D4 79.5 → 43.3 µm、D2 359.9 → 49.9 µm。HiNC 對手調版的優化(變體 B)——半精修照程式保留——花 741.8 秒,比手調版少 9.9 %,精修撓曲 25.0、46.2 與 49.1 µm。第三次播放是 Y+ 板第一次裝夾的 D2 段(變體 C),快 8.6 %,那把刀最大的撓曲從 55.8 降到 50.0 µm。每一支優化後的程式都重播到最後一行,沒有碰撞、行程或快移切料的警報,留下的零件也一樣:在代理自己 0.025 mm 的 z-map 上逐格點相同。

有兩件事左右這些數字。B 省下的時間有三分之二來自一個工廠可能不接受的改變:計畫沒有給粗加工的斜坡行另設上限,HiNC 就把 D16 的斜坡從程式的 F1800(半個切屑)拉到全切屑;斜坡若守住 F1800,B 只比手調版快約 3.3 %,A 則比原程式慢 12.5 %。另外,對那些有去料、卻讀不到任何力的步——在這裡是下到一層的下刀——HiNC 會把它們周圍的一段放慢到下限,這讓 B 的 D6 與 D4 光刀比手調版慢。A 的精修靠低到 0.001 mm 的切屑才回到上限之內,真實的刀在這種切屑下是擠壓而不是切削:這些撓曲只在 HiNC 的模型裡成立。這裡的一切都是模擬:沒有切過任何一片板,時間是 HiNC 的理想進給估計。

HiNC 模擬原程式優化之後、夾在虎鉗裡的 X- 板:D16 端銑刀在熱縮刀把下方、在板的一角,它剛切完的那一層依主軸功率比 0 到 1.2 上色,全部是約 0.6 的綠色,刀路之間有藍色的接縫

HiNC 優化原程式之後(變體 A)夾在虎鉗裡的 X- 板:D16 粗加工在第一個全深層 Z −4.35 結束時,D16 三刃端銑刀從熱縮刀把伸出 33 mm。切過的面依切出它的那一步的主軸功率比上色,0 到 1.2:處處是綠色,在 0.667 的目標上或之下。原程式的同一層——每一道全寬弧段都是紅色——在〈結果與效益〉。擷取自 HiNC 3.2.45。

在 HiNC 3.2.45 上量得 原程式 優化後重播 變化
X- OP1 模擬加工時間:原程式與變體 A 635.6 s 659.7 s +3.8 %;比手調版短 19.9 %
X- OP1:手調版與變體 B 823.6 s 741.8 s −9.9 %;D16 斜坡守住程式的 F1800 時約 −3.3 %(估計)
D16 粗加工主軸功率比,第 99 百分位/最大(目標:短時額定的 0.667) 原程式 1.615/2.632;手調版 0.666/2.632 A 0.663/1.576;B 0.663/1.576 原程式超過 1 的 5,844 步 → 1 步,是任何進給都壓不下來的一個斜坡折返
D6/D4/D2 光刀,最大 XY 刀尖撓曲(C2:25/50/50 µm) 原程式 193.9/79.5/359.9 µm;手調版 21.8/11.7/32.7 µm A 24.1/43.3/49.9 µm;B 25.0/46.2/49.1 µm 在 HiNC 的模型裡守在 C2 內;A 的 D2 每刃 0.001 mm
D6 殘料粗加工,最大應力比(目標 0.333,降伏的三分之一) 原程式 0.758;手調版 0.703 A 0.332;B 0.332
Y+ OP1 的 D2 段(變體 C):時間;光刀最大撓曲 360.5 s;55.8 µm 329.4 s;50.0 µm −8.6 %;在 C2 的 2 % 餘裕內
形狀:代理的 z-map、HiNC 匯出的零件、優化後的檔 — — 每個格點都相差在 1 µm 內;體積相差 4 × 10⁻⁶ 以內;A/B 的粗加工有 172/44 點偏離自己的行,最多 16.6 µm
重播訊息:碰撞/行程/快移切料 0 0 每一行都跑到
在共用的 32 執行緒伺服器上的成本,A/B:優化播放;重播 — 10.7/14.4 min、40.6/47.5 GiB;12.9/14.4 min、9.9/12.7 GiB 連同試跑約 1.5 小時的伺服器時間

案例

案例本身的頁面講代理怎麼規劃六片板的 24 次裝夾、寫它的 CAM、依零件的高度圖決定每支刀把的伸出量,並讓整批播放通過驗收;這一頁從 X- 板的第一次裝夾 CS_Xminus 開始——一個方框,靠底下留的 8 mm 夾持料夾在虎鉗上。代理拿到的是:

  • X- OP1 的兩支程式(讀取自案例):原程式,31,111 行,是代理的 CAM 第一次寫出的樣子;以及手調版,31,661 行,是案例驗收的那一支。原程式有五道銑削工序,手調版八道,兩支都用同樣的四支鑽頭,依序是:
工序 刀 原程式 手調版
rough1 T1,D16 依層的偏置輪廓粗加工,以螺旋與之字形斜坡進刀:切削 F3600(每刃 0.08 mm),斜坡 F1800 同一條刀路,進給依每一段刀路碰到的料縮放,最低到 30 %
rough2 T2,D6 殘料粗加工 F2400(每刃 0.04 mm) 同上,縮放
semi2 T2,D6 — 每面牆半精修,留 0.1 mm
fin2 T2,D6 先平面,再每面牆一刀吃掉 0.3 mm 的留量,F2400 光刀吃 0.1 mm,80 % 進給(F1920),內凹圓弧放慢(ρ / (ρ + r)),最低到 5 %
semi3、fin3 T3,D4 長頸 R2 角一刀,F1800 半精修,再一刀光刀,同樣縮放
semi4、fin4 T4,D2 長頸 R1 角與窄槽一刀,F576 半精修,再一刀光刀,同樣縮放
holes T11–T14,鑽頭 D1.0–D2.5 啄鑽(G83) 同左
  • 刀具(讀取自案例的刀表;切屑是代理給 7075 用的一般碳化鎢值,不是刀具廠的表):
T 刀具 刀把、伸出 轉速 切屑(每刃進給) 該切屑下的進給
T1 D16 三刃端銑刀,刃長 32 mm SF16 熱縮刀把,33 mm 15,000 min⁻¹ 0.08 mm 3,600 mm/min
T2 D6 三刃端銑刀,刃長 20 mm SF6,21 mm 20,000 min⁻¹ 0.04 mm 2,400 mm/min
T3 D4 三刃,刃長 8 mm,D3.6 刀頸 SF4;原程式:頸 22、伸出 23 mm;手調版:頸 18、伸出 19 mm 24,000 min⁻¹ 0.025 mm 1,800 mm/min
T4 D2 兩刃,刃長 4 mm,D1.8 刀頸 SF4;原程式:頸 20、伸出 21 mm;手調版:頸 16、伸出 17 mm 24,000 min⁻¹ 0.012 mm 576 mm/min
T11–T14 碳化鎢鑽頭 D1.0、D1.6、D2.4、D2.5 SF3,9–15 mm 12,000–24,000 min⁻¹ 依直徑 480–600 mm/min
  • 案例給這些刀的標準:C1,D4 以下刀具的應力比低於 0.5、所有刀具低於 0.8;C2,光刀的 XY 刀尖撓曲在 D6 與 D16 的牆上不超過 25 µm、在 D4 與 D2 的角落不超過 50 µm;C5,主軸功率與扭矩低於額定。在這次研究的播放裡,原程式三條都沒過(功率比第 99 百分位 1.615;撓曲 193.9、79.5 與 359.9 µm;D6 光刀的應力比 0.910、D2 光刀 0.821);手調版的銑刀守住 C1 與 C2,C5 也守住,只有斜坡折返的一步是 2.632。
  • 案例的設置:通用三軸機台,快移 30 m/min;Showcase 的通用主軸,連續 7.5 kW、短時 10 kW、24,000 min⁻¹、效率 0.4;Al 7075,用 HiNC 程式庫的切削資料;G54 在毛胚頂面的中心。
  • 要求:HiNC 的產品負責人要從舊案例往上加的 NC 優化實作案例。

沒有人告訴它的:

  • 每把刀的切屑可以到多大。 刀表的切屑是代理自己選的;手調版在它的規則預期會重切的地方都切得比這更小,而沒有任何東西說需要小多少。
  • 怎麼守住撓曲上限。 HiNC 的優化器守主軸功率、主軸扭矩、刀具應力、開啟時的熱降伏、目標切削力、腳本註冊的任何準則,以及進給上下限;它沒有內建的撓曲準則,所以 C2 必須由別的準則承載。
  • 手調規則還需不需要。 手調版的進給規則放慢的,正是優化器也會放慢的地方;進給優化器能不能在原刀路上完成這次修改的工作,就是變體 A 要回答的問題。

本頁的每個數字都來自這次研究在 HiNC 3.2.45、案例 0.125 mm 網格寬度上的播放:每支原程式的優化播放同時就是它的基準,所以每一個「優化前」都和它的「優化後」並排量得。

代理建了什麼

每個值都標明:讀取(讀自程式或案例)、推得(由它們或某次播放算出)、自選(代理的選擇)、預設(HiNC 的預設,照留)或量測(在 HiNC 3.2.45 的播放中量得)。

一個變體=一次優化播放——HiNC 播放原程式,程式前放一個「NC 優化設定」命令,播完寫出優化後的檔——加上一次在同一專案、同一毛胚、同一網格寬度下重播優化後的檔。每次播放前都關掉專案、從檔案重新載入,而且從不存回。

播放 程式 回答什麼
角落試跑 兩支程式都整支播放,毛胚削到只剩板的一角:裝夾座標的 X 25 到 51.9、Y 25 到 51.9 mm(一個腳座、一個帶凹口的內角、框架的角);每支程式其餘的部分都在空中播 每把刀的柔度與空切進給(一般播放);嵌入的設定能不能完整留進優化後的檔;整支播放要多少記憶體與時間
A 原程式,用原刀表(在記憶體裡設定) 原程式的過載有哪些能靠進給拿掉、要付多少時間
B 手調版,用驗收的刀表,半精修照程式保留 在守住 C5 與 C2 之下,優化器能收回手調修改的多少時間
C Y+ 板第一次裝夾的 D2 段(手調版用長頸 D2 的半精修與光刀),從這支程式前面幾段之後記錄的工件開始 同樣的問題,放在整批最重的小刀段上

每把刀的優化限制,每次優化播放前透過 PUT api/Cutter/{id}/opt-limit 整個送出、再讀回:T1–T4 開啟優化,每刃進給上限等於刀表的切屑(0.08、0.04、0.025、0.012 mm,讀取),降伏安全係數 3(應力守在降伏的三分之一),最小切屑厚與後角限制開啟,不設每刃最小進給(都是預設);鑽頭 T11–T14 關閉優化(自選:優化器本來就不改固定循環)。A 與 B 的上限相同,所以兩個變體比的是誰決定哪裡要慢,而不是誰的切屑比較大。

每支程式前的「NC 優化設定」,每個鍵都寫出、讀回:

設定 值 出處
進給優化、重新插值 開 預設
原始進給率下限(以原程式進給的比例) 關(開啟時 0.8) 預設
進給率指派比率 0.01 預設
延伸前/後距離 2 mm 與 2 mm 預設
主軸功率與扭矩安全係數 1.5:目標是短時額定的 67 % 預設
命令的降伏安全係數;熱降伏安全係數 0(刀具自己的係數 3 生效);0(不當準則) 預設
命令的每刃最小/最大進給 0/不設 自選:上限由刀具限制帶著,下限與行上限由嵌入的設定帶著
最小進給率 25 mm/min 自選:低於嵌入的最低下限(D2 的 5 %,28.8 mm/min),只當安全網;預設的 1 mm/min 會讓一個幻影讀值把一段壓到幾乎停住
最大進給率 10,000 mm/min 自選:快移 30 m/min 的通用機台,切削進給上限取保守值
最大加速度 1,000 mm/s² 自選:預設的 10 mm/s² 會把每一次變速攤到幾百毫米
快速進給率(空切進給) 10,000 mm/min,每段再由嵌入的設定改 自選(見下)
優先力(目標切削力) 不設(Infinity);由嵌入的設定設在每一條光刀行上 自選(見下)
前進、側向與深度補償;深度分割 關 自選:補償不在本研究內;深度分割關閉時,被壓在下限的步,日誌寫的就是下限
省略前導零 關 自選:代理的檢查要讀懂輸出的每一個數字

嵌在程式裡的設定。 工作流程:NC 優化說明,程式自己註解裡的腳本,可以從它所在的那一行起改一個優化設定。代理把每一次改動寫成獨立的一行、只放這個註解,插在它要套用的移動之前,而且只在設定改變的地方寫;每一行屬於哪一道工序,取自程式自己的工序註解:

(@@OptMaxFeedPerTooth_mm=0.04; OptMinFeedPerTooth_mm=0.002; OptRapidFeed_mmdmin=2400; OptPreferedForce_N=36.29;)
類別 工序 嵌入的設定 理由
粗加工 rough1、rough2 上限:不設(刀具自己的生效);下限:刀表切屑的 30 %(T1 0.024、T2 0.012 mm);空切進給依下面的殘料切屑規則;不設目標切削力 30 % 是手調規則自己的粗加工下限,所以兩支程式共用它
半精修(只有 B 與 C) semi2、semi3、semi4 整段保留在 (@@BeginPreserve();) 與 (@@^EndPreserve();) 之間 半精修決定光刀遇到的料;HiNC 的去料不含刀的彎曲,所以加快半精修,可能讓光刀吃到比 HiNC 看到的更多(為什麼是區段而不是逐行,見難題 1)
精修 fin2、fin3、fin4 沒有 Z 移動的 G01 行:上限是刀表切屑;有 Z 移動的 G01 行(下刀、斜坡):上限是這一行自己的程式切屑;下限:刀表切屑的 5 %(T2 0.002、T3 0.00125、T4 0.0006 mm);空切進給:刀表進給;目標切削力:C2 上限 ÷ 刀的柔度 5 % 是手調規則的精修下限;目標切削力在高度有變的步上不起作用,所以那些行守住自己的切屑
鑽孔 T11–T14 G83 無 刀具的優化關閉

目標切削力(推得):C2 上限 ÷ 刀的柔度。柔度取同一支程式在角落試跑一般播放中,光刀切削步(有接觸、去料超過 0.01 mm³/s、力超過 1 N)的「XY 刀尖撓曲 ÷ 最大切削力」的第 95 百分位。這裡的撓曲是 HiNC 的刀具樑模型,所以目標守的是模型裡的撓曲,不是量到的。

刀 變體 A:柔度,第 95 百分位 A 的目標切削力 變體 B:柔度 B 與 C 的目標切削力
D6,C2 25 µm 0.689 µm/N 36.29 N 0.665 µm/N 37.57 N
D4,C2 50 µm(A 是伸出 23 mm) 0.931 µm/N 53.68 N 0.526 µm/N 95.02 N
D2,C2 50 µm(A 是伸出 21 mm) 8.721 µm/N 5.73 N 4.871 µm/N 10.27 N

空切進給(推得):延伸距離內沒有任何切削的行,優化器給它空切進給,所以模型讀成空中的一層薄料,就以這個進給被切。粗加工時,代理取一層厚度等於那把刀在角落試跑一般播放中 XY 刀尖撓曲第 99 百分位的料——刀彎曲時留在機台上的料,而 HiNC 的去料忽略彎曲、看不到它——再選一個空切進給,讓切這層料的切屑不比刀表切屑在程式切寬 0.4 D 下的切屑厚:F = h ÷ sin φ × 刃數 × 轉速,h 是 0.4 D 下的切屑,φ 是那層薄料的接觸角,夾在刀表進給與 10,000 mm/min 之間。D16 算出 34,600 與 37,800 mm/min,所以兩個變體都是 10,000;D6 的殘料粗加工在 A 是 7,290 mm/min(撓曲 160.4 µm)、在 B 是 8,570 mm/min(115.0 µm)。半精修與精修用刀表進給,從不更快。

網格寬度:0.125 mm,案例驗收的網格寬度,每一次優化播放與重播都用它(讀取);半精修留 0.1 mm,比一格還薄,而代理自己的 z-map 獨立於 HiNC 的網格檢查空切進給(O6)。每支程式整支播放,所有刀具一輪;HiNC 的撓曲變換關閉,和案例相同。

不優化的部分:快移、換刀與刀長補正行、G91 G28、M 碼與 G83 循環,優化器本來就不改;B 與 C 的半精修,保留。

代理怎麼管理這件工作

  • 先寫計畫與標準。 計畫——變體、每個設定與出處、各類別的規則,以及十一條帶預測的標準——在第一次優化播放(含角落試跑)之前提交。播放改變了什麼,寫在它旁邊兩次:角落試跑之後、第一次整支播放之前(修正 1),以及和結果一起(修正 2);計畫原文與它的預測從未改寫。
  • 先小後大。 角落試跑把每支程式整支播在一個削到只剩一角的毛胚上,一次 1.3 到 4.2 分鐘,在任何整塊毛胚的播放之前回答四個問題:柔度與空切進給、嵌入的設定能不能完整通過優化後的檔、重播乾不乾淨,以及整支播放要多少成本。它們也找到了難題 1 的記憶體問題。在這一角上,每一行設定都留在優化後的檔裡、自成一行,後面沒有接來源註記;重播沒有出現一般播放沒有的訊息;逐步日誌在光刀步列出目標切削力、在守住的行列出行上限;A 的檔有 10 點偏離自己的行、最多 1.8 µm,B 沒有;代理的 z-map 沒有找到切到料的空切進給移動,完工的毛胚也相同。
  • 重的一次一個。 一份 HiNC 3.2.45 的私有副本跑在一台和線上服務及其他代理的研究共用的 32 執行緒伺服器上。每一次試跑、優化播放與重播,都排在和那些研究共用的鎖上,只在伺服器有 40 GB 記憶體可用時開始,每三分鐘唯讀巡看一次(警報、跑到的刀與行、有接觸的步的比例、負荷),並在「伺服器可用記憶體低於 6 GB 就停掉這個實例」的防護下執行。防護從沒有觸發。畫面播放在第二個實例上和它們並行(見較小難題的表)。
  • 設定都讀回。 每把刀的限制與每個選項鍵,在每次播放後讀回,和它的結果一起保存,旁邊是訊息、伺服器時間與記憶體峰值。
  • 預測照寫下的保留。 計畫預測了每個變體的時間、什麼會決定進給,以及原程式的一刀精修即使在下限也仍會超過 C2。預測沒中的地方,判定照實說(難題 2)。
  • 人在哪裡介入。 HiNC 的產品負責人要從舊案例往上加的 NC 優化實作案例;變體、設定與標準是代理的。

第一次優化播放之前寫下的標準。切削步是有接觸、去料超過 0.01 mm³/s 的步;在下限的步是在它那一段下限的 1 % 以內;目標是功率與扭矩比 0.667、應力比 0.333:

# 標準
O1 每一行都跑到、沒有新警報:每次重播執行的行數等於檔案的行數;沒有碰撞或行程警報;快移切料不多於優化播放(基準);沒有基準沒有的警告或錯誤。每次優化播放都走到「進給建好」與「檔案已優化」的訊息,沒有授權拒絕、沒有失敗的步
O2 主導負荷在目標內:每把被優化的刀,重播的切削步至少 99 % 的功率與扭矩比不超過 0.667 × 1.02、應力比不超過 0.333 × 1.02;精修至少 99 % 的力不超過目標 × 1.02。在下限的步與守住自己切屑的行(B 的半精修、精修的 Z 行)可以在目標之上,另列
O3 形狀不變:(a) 優化檔的每一個終點落在它的原程式行上,1 µm 以內,偏離的列出;(b) 代理 0.025 mm 的 z-map 在優化程式之後與原程式之後相同,至少 99.9 % 的格點在 1 µm 內;(c) HiNC 匯出的重播零件與基準的體積相差 0.1 % 以內
O4 時間,預測:A 比原程式 +40 至 +130 %,比手調版 −10 至 +75 %(粗加工 +10 至 +35 %;精修在目標切削力與下限下慢 2 到 6 倍);B 比手調版 −3 至 −15 %(粗加工 −10 至 +5 %、殘料粗加工 −5 至 −20 %、精修 −10 至 −50 %、半精修 0 至 −3 %)。實測照記;沒中就從日誌說明
O5 精修撓曲:A 每道光刀的第 99 百分位與最大值不高於原程式 × 1.02,並報它和 C2 的距離(預測:D6 與 D2 在下限仍超過 C2);B 不在下限的光刀步,最大不超過 C2 × 1.02(D6 25.5 µm、D4 與 D2 51 µm)
O6 空切進給從不落在料上:代理的 z-map(0.025 mm)依播放順序走過每支優化程式;沒有一個會切到料(超過 0.01 mm³,或每 mm 路徑超過 0.001 mm²)的移動,跑得比它那一行的上限 × 1.02 快;每一個違反都列出
O7 輸出真的被優化:每支優化檔都和原檔不同;程式寫出器沒有錯誤;優化器的訊息逐條計數;行數、F 字、來源註記與嵌入的行都計數
O8 每把刀、每道工序都還在切:z-map 說一道工序有切的地方,HiNC 都有接觸的步;每道工序在重播中的接觸路徑和基準相差 3 % 以內
O9 什麼決定了進給,取自優化器的逐步日誌:預測 A 的粗加工在上限 50–80 %、功率 20–50 %;A 的 D6 與 D2 光刀在目標切削力或下限 50 % 以上;B 的粗加工在上限 50 % 以上、功率 10–40 %;B 的 D6 光刀在直牆上頂上限、在角落由目標切削力決定
O10 2 × 2 對照,照報、不判:原程式、A、手調版與 B 的 D16 功率比、每把小刀的光刀撓曲與每道工序的時間。預測:A 讓 D16 回到 0.667 × 1.02 以內,只剩被下限撐住的步,而 D6 與 D2 的一刀精修在下限仍超過 C2;B 守住 C2 與 C5,而且比手調版快
O11 變體 C,同 O1、O2、O5、O6 與 O7;預測:光刀快 20 到 50 %,最大撓曲不超過 51 µm

難題

每一個都照它的情況、若沒發現的風險、怎麼發現、怎麼解,以及證明這個解法站得住的證據來寫。

1. 幾千行上的設定要花幾十 GB

  • 情況。 計畫原本逐行守住 B 的半精修:半精修的每一條 G01 各有自己嵌入的上限,也就是它自己的程式切屑,讓優化器只能把它變慢。這在程式裡寫了 3,936 行設定。在角落試跑上,優化播放的峰值是 28.42 GiB、重播是 38.45 GiB;同一支程式的一般播放只要 1.85 GiB。
  • 風險。 B 的整支播放——接觸步大約是角落的六倍——會讓共用伺服器的記憶體耗盡。
  • 怎麼發現。 試跑的記憶體峰值。
  • 怎麼解。 在 HiNC 裡,一次播放的記憶體會隨它執行的嵌入腳本行增加。兩支只差 200 行 (@@OptMaxFeedPerTooth_mm=…;)、放在 200 個空中移動之前的程式,在 1 mm 網格寬度下有同樣的 14,562 步與 43.0 秒模擬時間,峰值卻是 0.52 與 6.71 GiB。試跑的優化後程式帶著它的 3,936 行設定重播要 38.45 GiB;拿掉這些行是 1.68 GiB,步數同樣是 168,672,結束時間也相同。大致上是一次幾 GB,再加每執行一行設定約 9 MB。所以 B 的半精修改成三段保留的區段:每道工序前一行 (@@BeginPreserve();)、後一行 (@@^EndPreserve();),總共 156 行設定。每段的第一行都寫著自己的進給,所以被保留的行用的是它們的程式進給,而不是優化器寫在前一行的進給。代價:半精修完全照程式,所以其中高於目標的負荷也不會被放慢。
  • 證據。 B 帶保留區段的角落試跑:11.69 GiB 與 8.05 GiB;整支程式的 B 播放 47.52 GiB、它的重播 12.69 GiB(成本表)。被保留的半精修重播出來和程式逐位相同:D2 的半精修留著 36 步超過 O2 的 0.34,應力比最高 0.383,另列。
角落試跑 嵌入的設定行 步數 伺服器時間 記憶體峰值 模擬時間
原程式,一般播放 0 207,946 80 s 1.71 GiB 635.6 s
A 的優化播放/重播 122 207,946/138,287 110/80 s 11.62/7.15 GiB 635.6/371.6 s
手調版,一般播放 0 273,221 100 s 1.85 GiB 823.6 s
B,半精修逐行守住:優化播放/重播 3,936 273,221/168,672 250/210 s 28.42/38.45 GiB 823.6/462.4 s
同一支優化後程式拿掉設定行,一般播放 0 168,672 80 s 1.68 GiB 462.4 s
B,半精修保留:優化播放/重播 156 273,221/181,201 120/80 s 11.69/8.05 GiB 823.6/494.8 s
空中移動上的 200 行設定,1 mm 網格寬度:沒有/有 0/200 14,562/14,562 10/20 s 0.52/6.71 GiB 43.0/43.0 s

角落試跑的重播時間不能拿來預測整片板:角落以外,每支程式多半在空中跑,優化後的程式以空切進給穿過那些地方。

2. 比預測更有效的目標切削力

  • 情況。 計畫預測 A 的一刀精修即使在下限也仍會超過 C2:在另一個案例的精修上,HiNC 的力幾乎不隨進給變。在角落試跑上,目標切削力讓三道光刀都回到 C2 之內,整支程式也一樣:D6 193.9 → 24.1 µm、D4 79.5 → 43.3 µm、D2 359.9 → 49.9 µm。
  • 風險。 結果出來之後悄悄改寫預測;或把結果讀成工廠能跑的一刀。
  • 怎麼發現。 角落試跑,在任何整支播放之前。
  • 怎麼解。 在這把刀上,力隨進給變化:D2 的最大力從 42.0 降到 5.69 N 時,切屑從 0.012 降到約 0.001 mm(F49),幾乎成比例(約切屑的 0.8 次方)。預測照寫下的保留,判定說它錯了。代價是時間:A 的 D2 光刀花 78.6 秒而不是 30.4 秒,D6 光刀 149.1 秒而不是 119.5 秒,D6 有 3,902 個切削步在 0.002 mm 的下限。而 0.001 到 0.002 mm 的切屑,真實的刀是擠壓而不是切削;HiNC 不模擬擠壓,所以「一刀精修守住 C2」只在 HiNC 的模型裡成立。
  • 證據。 標準表的撓曲列;下面兩張軌跡圖,以及〈結果與效益〉裡 D6 的畫面。

原程式與變體 A 的 D6 光刀,整道工序每秒的最大 XY 刀尖撓曲與進給:原程式在最後 30 秒的撓曲在 30 到 194 µm 之間跳動,A 始終在 25 µm 線上或之下,進給多半在 2,500 mm/min 以下;119 對 149 秒

D6 光刀,優化前(原程式)與優化後(A),每秒一點。原程式在一刀吃掉整個 0.3 mm 留量的地方,牆上的撓曲到 194 µm;目標切削力把 A 守在 25 µm 線上,代價是 30 秒。

原程式與變體 A 的 D2 光刀,每半秒的最大 XY 刀尖撓曲與進給:原程式的 D2 彎到 360 µm,A 的步碰到但不超過 50 µm 線,進給在 100 mm/min 以下;30 對 79 秒

D2 光刀,每半秒一點;前後半秒都沒有切削的半秒畫成圓點,原程式在角落的 330 到 360 µm 就是這樣的點。A 的 D2 以約每刃 0.001 mm(F49)切削,最大讀到 49.9 µm。

3. 被拉到全切屑的斜坡

  • 情況。 計畫除了刀具自己的切屑之外,沒有給粗加工的行另設上限;它給精修的 Z 行以自己的切屑為上限,粗加工卻沒有。兩支程式都以 F1800——半個切屑——讓 D16 以斜坡進入每一層,斜坡總長約 3,000 mm。在重播裡,95.8 %(A)與 95.7 %(B)的斜坡路徑寫在 3,500 mm/min 以上。
  • 風險。 B 省下的時間大半來自一個工廠不會接受的改變:斜坡用端刃切削,端刃的排屑與進刀角不在 HiNC 的準則裡,所以 CAM 程式設計者會為了優化器看不到的理由放慢它。讀者會把工廠會加回去的時間算成 HiNC 的功勞。
  • 怎麼發現。 拆 D16 的時間:在代理的 z-map 上,D16 的切削移動在 A 比原程式少 44 秒,在 B 比手調版少 72 秒。
  • 怎麼解。 照計畫的結果報,旁邊附一個估計,不改規則重跑。每次重播的斜坡步花 46 秒;守在 F1800 要約 101 秒(這些步在較低進給下自己的時間,不含加減速與延伸距離)。所以斜坡守住的話,A 約 715 秒,比原程式多 12.5 %;B 約 797 秒,比手調版少 3.3 %:B 的 −9.9 % 有三分之二是斜坡。程式寫 F1800 的平面行,每次重播另省約 12 秒。
  • 證據。 下面的 D16 畫面:原程式在這一層中央的螺旋進刀是綠色,半個切屑;優化後的是紅色,全切屑。進給軌跡也顯示同樣的事。
D16 粗加工,重播 斜坡路徑在 ≤ 1,850/1,850–3,500/≥ 3,500 mm/min 斜坡路徑有接觸的比例 斜坡時間 斜坡守在 F1800 的時間(估計)
變體 A 0.4/3.9/95.8 % 79.3 % 46.2 s 101.4 s
變體 B 0.4/3.9/95.7 % 79.6 % 45.9 s 100.7 s

優化前的 HiNC 模擬 X- 板:和頁首那張同一個視角,依每刃進給 0 到 0.08 mm 上色:整層是程式 0.08 mm 的紅色,中央的螺旋進刀是 0.04 mm 的綠色

原程式在 Z −4.35 那一層結束時,依每刃進給上色,0 到 0.08 mm:整層在程式的 0.08 mm,中央的螺旋進刀是它的一半,綠色。

HiNC 優化原程式之後的同一個視角:全寬弧段是每刃 0.03 到 0.04 mm 的綠到青色,其餘在 0.08 的紅色,中央的螺旋進刀是全切屑的紅色

HiNC 優化之後(A),同樣的上色:全寬弧段被主軸功率目標放慢到每刃 0.03–0.04 mm,其餘在 0.08 mm 的上限——中央的螺旋進刀也一樣。

D16 粗加工,Z -4.35 那一層每半秒的進給,兩組都畫:原程式穩定在 3,600 mm/min、斜坡 1,800;A 的進給在全寬弧段降到約 2,000;手調版與 B 都縮放在約 2,000 到 3,500

D16 在第一個全深層的進給,優化前後。尖峰是空中的移動:四支程式都有快移,兩支優化程式另有以空切進給送出的連接。

4. 有去料卻沒有力的步,被壓到下限

  • 情況。 B 的 D6 光刀比手調版慢 16.3 秒、D4 光刀慢 6.7 秒,而預測是 −10 至 −50 %。
  • 風險。 把目標切削力讀成太保守,或把 HiNC 的精修讀成不如手調規則。
  • 怎麼發現。 沿 D6 光刀的一圈看進給:第一圈花 8.97 秒,手調版 4.04 秒,其中 11.0 mm 在 F120、也就是下限,花了 5.51 秒。那一圈開頭的逐步日誌追到下刀行 G01 Z-3.333 F1200.(手調版第 23,734 行)。
  • 怎麼解。 在這些下刀步上,HiNC 讀到有去料(0.40–0.51 mm³/s),力卻是 6 × 10⁻¹⁴ 到 2 × 10⁻¹³ N,等於沒有;日誌給出的刀具應力準則答案是這一段的下限(FrtByYieldingStressRatio_mm[OverIteration]: 0.002),延伸距離再把下限帶到前後各 2 mm。D4 上的下刀 G01 Z-11. F900.(第 29,800 行)讀到 0.00016 mm³/s、9.5 × 10⁻¹⁴ N,被寫成 G01 Z-10.14 F90.,也就是 D4 的下限。讀得到力的步從來沒有得到下限答案;有去料而沒有力的步,有一部分會:A 的殘料粗加工 3,079 步中的 254 步、B 的 3,117 步中的 253 步,兩道 D6 光刀是 821 步中 11 步、533 步中 16 步。這是 HiNC 對這種步的行為,研究量測它而不繞過它(把下刀的下限提高或關掉應力準則,就不再呈現 HiNC 的預設)。重播在下限上花了 51.6 秒(A)與 59.6 秒(B);照鄰近的進給,這些段大約可少 35 與 43 秒。
  • 證據。 下面的等高線圖:第一圈的 F120 段;第十三圈沒有讀成零力的下刀,HiNC 花 20.5 秒、手調版 21.5 秒。B 的 D6 與 D4 光刀輸給手調版的每一秒,都落在這些下限段裡。
重播 在下限:殘料粗加工 D6 光刀 D4 光刀 合計 以鄰近進給可省(估計)
變體 A 79 段、32.3 s 4 段、13.0 s 2 段、6.2 s 51.6 s 約 35 s
變體 B 77 段、31.7 s 8 段、18.6 s 3 段、9.3 s 59.6 s 約 43 s
有去料而沒有力的切削步 步數 應力準則回答下限 回答高於下限 沒有回答
A,D6 殘料粗加工 3,079 254 1,522 1,303
B,D6 殘料粗加工 3,117 253 1,563 1,301
A,D6 光刀 821 11 188 622
B,D6 光刀 533 16 266 251
A 與 B,D16 粗加工 687/696 0/0 1/1 686/695

B 的 D6 光刀第一圈,手調版與 B 沿路徑的進給與刀尖撓曲:B 的進給頭 11 mm 在 120 mm/min,之後在它 2,400 mm/min 的上限,偶爾降到約 860,而手調版在 864 與 1,920 之間交替;兩者撓曲都在 15 µm 以下

D6 光刀的第一圈(原程式第 23,734–23,982 行):HiNC 的版本開頭有 11 mm 在 F120,是從下刀帶過來的下限。

B 的 D6 光刀第十三圈:B 在直牆上是它 2,400 mm/min 的上限、在角落約 560,手調版是 1,920、降到約 300;兩者撓曲都在 25 µm 以下,B 在牆上稍高

第十三圈(第 26,770–27,539 行):沒有下限段;牆上是上限,角落是目標切削力。HiNC 寫在上限以下、有接觸的 89 mm 裡,42 mm 落在手調規則本來就放慢的轉角行上。

B 的 D6 光刀每秒的進給與撓曲,手調版對 B:B 的進給在幾小段掉到接近零,手調版在那裡保持 1,500 到 2,000,而 B 的撓曲較高,最後 15 秒到 25 µm 線;65 對 81 秒

整道 D6 光刀,每秒一點:掉到下限的地方就是下刀段。

5. 任何進給都壓不下來、超過額定的一步

  • 情況。 在手調版、A 與 B 裡,D16 粗加工都有一步讀到超過 1 的主軸功率比:同一步,在一個斜坡折返上,也是原程式那 5,844 步之一。
  • 風險。 把優化器讀成忽略自己的目標,或為了一步放慢整層。
  • 怎麼發現。 O2 對「在下限仍高於目標的步」的清單。
  • 怎麼解。 它就是案例頁列為幾何解釋不了的讀值之一的那個斜坡折返:HiNC 在那裡讀到的去除率是鄰近步的好幾倍。在粗加工的下限、也就是切屑的 30 %,它仍讀到 1.576,程式進給下是 2.632;延伸距離在它周圍約半秒寫成下限。照 O2 的規定另列。
  • 證據。 手調版與兩次重播都只有一步超過 1,而第 99 百分位是 0.663。

6. 偏離原程式行的點

  • 情況。 O3 (a) 把優化檔的每一個終點對回它的原程式行:A 有 172 點偏離超過 1 µm,最多 16.6 µm;B 44 點,最多 11.5 µm;C 沒有。
  • 風險。 機台要跑的檔案裡,有一段和程式不同的路徑。
  • 怎麼發現。 O3 (a)。
  • 怎麼解。 全都在 D16 粗加工。優化器切開一行時,在一個片段裡幾乎不動的軸沿用原程式行的終點值,所以這個片段偏離原線,最多就是那一行自己在那個軸上的小變化。照 O3 (a) 的要求逐點列出。
  • 證據。 代理的 z-map 讀到,優化程式之後完工毛胚的每一個格點都和原程式之後相同(形狀表)。

7. z-map 看不到、以空切進給的擦邊

  • 情況。 O6 在代理的 z-map 上走過每支優化程式:沒有一個切到料的移動快過它那一行的上限。但 HiNC 自己的重播步顯示有以空切進給的接觸:A 59 步(D16 在 F10000 的 53 步、D6 在 F7290 的 6 步),B 52 步,C 沒有。
  • 風險。 一刀 10,000 mm/min 的切削沒被報出來。
  • 怎麼發現。 計畫的 z-map 檢查之後,另加的一次 HiNC 重播步檢查。
  • 怎麼解。 它們是擦邊,比一格還窄:A 合計 0.051 mm³、B 0.219 mm³,最大 6.9 N、最寬 0.112 mm;z-map 0.01 mm³ 的門檻看不到。O6 照寫下的用 z-map 判,HiNC 這一側另列(空切進給表)。
  • 證據。 〈結果與效益〉裡的空切進給表。

8. 用在很短刀路上的 3 % 規則

  • 情況。 O8 要求每道工序的接觸路徑和基準相差 3 % 以內。A 的 D2 光刀(34 mm)是 −13.0 %,B 的 D4 光刀(19 mm)是 −42.9 %。
  • 風險。 讀成漏切,而其實沒有;或乾脆把這條標準揮掉。
  • 怎麼發現。 O8。
  • 怎麼解。 照文字判不過。在代理的 z-map 上,這兩道工序的切削移動與去料前後相同(29.7 mm 與 5.21 mm³;3.1 mm 與 3.56 mm³):差別是比 0.125 mm 網格還細的擦邊接觸(B 的 D4 吃的是 0.1 mm 留量),重新插值後的進給在別的地方取樣到它。
  • 證據。 〈結果與效益〉裡的接觸表。

9. 依步數還是依路徑的第 99 百分位

  • 情況。 O5 要求 A 每道光刀撓曲的第 99 百分位不高於原程式 × 1.02。在 D4 上,依步數是 15.2 → 20.1 µm,依路徑加權是 15.2 → 10.5 µm;計畫沒有說用哪一種。
  • 風險。 挑會過的那一種讀法。
  • 怎麼發現。 判 O5 的時候。
  • 怎麼解。 兩種都報;判定照較嚴的依步數:D4 不過。每一道光刀的最大撓曲都下降。
  • 證據。 標準表。

10. 比案例標準更緊的應力目標

  • 情況。 案例的 C1 允許 D6 的應力比到 0.8;HiNC 預設的降伏安全係數 3 以 0.333 為目標。兩支程式的殘料粗加工讀到 0.70–0.76。
  • 風險。 殘料粗加工比案例要求的慢,卻算成優化器的謹慎;或在結果之後放寬目標。
  • 怎麼發現。 角落試跑:殘料粗加工的切削步有 35–36 % 由應力決定。
  • 怎麼解。 照計畫保留預設,照實報結果:殘料粗加工的中位切屑從 0.04 降到 0.0247 mm(F1481),應力比從 0.758 與 0.703 降到 0.332,這道工序卻仍短了 6 與 9 %,因為它的空中移動用空切進給。
  • 證據。 〈結果與效益〉的逐工序表。

11. 較小的幾件

發生了什麼 風險 怎麼出現 怎麼解 站得住的證據
兩次畫面播放在第二個實例上、在共用鎖之外跑了 10 與 14 分鐘,用到 3.51 與 4.18 GiB,和鎖裡的重播放同時;看著它們的是每 10 秒一次的記憶體取樣,而不是每 3 分鐘的巡看 搶走其他研究播放的記憶體 結算執行成本時 伺服器始終保有至少 83 GB 可用;記成對規則的偏離,下一次這種畫面排鎖播 成本表
研究的結果有 11.7 MB,畫面程式與 C 的前段程式另有 3.7 MB 案例的 repo 被衍生檔撐大 提交的大小 超過 100 kB 的 JSON 改寫成緊湊格式(6.3 MB,每個檔讀回內容相同);畫面程式與 C 的前段程式不進 repo,由研究的工具逐位元組重建 五支程式重建後比對相同
O7 的計數漏了自帶括號的腳本行 (@@BeginPreserve();),報成 156 中 150、126 中 124 把一行嵌入的設定讀成丟了 計數對照程式 重新計數:156 中 156、126 中 126 優化檔表
C 從 Y+ OP1 前面六段之後開始 C 的前後讀自不同的毛胚 計畫 一次一般播放跑第 1–50,211 行,寫出一份工件紀錄,C 與它的重播都讀同一份;z-map 也先走同樣的行 C 兩次播放的毛胚相同
從另一個研究複製來的播放腳本帶著 Windows 的換行字元 一次拿到鎖之後就失敗的播放 第一次角落試跑一拿到鎖就失敗 每支腳本去掉 CR,重新排隊 代價:一個鎖的時段
優化器把每支程式的逐步日誌(17–40 MB)寫在優化後的檔旁邊 案例資料夾裡的大檔 資料夾的大小 日誌移到伺服器的資料資料夾,播放紀錄改指新位置 播放紀錄
B 保留的 D2 半精修彎到 101.6 µm,有 36 步超過 O2 的應力目標,最高 0.383 把優化後的程式讀成處處在目標內 O2 以保留的行另列;半精修不以 C2 判,C2 只管光刀 O2 表

結果與效益

在 HiNC 3.2.45、0.125 mm 網格寬度上量得:X- OP1 整支、每支程式一輪,原程式與手調版各自優化並重播;變體 C 是 Y+ OP1 的 D2 段,從記錄的工件開始。時間是 HiNC 的理想進給估計;見加工時間估算。

標準,每個變體:

# A(原程式) B(手調版) C(Y+ OP1 的 D2 段)
O1 過:38,270 行中 38,270 行;沒有碰撞、行程或快移切料訊息,沒有新的警告或錯誤;優化播放報出進給建好、檔案已優化,只有四支鑽頭的「優化關閉」警告 過:38,419 行 過:6,424 行
O2 過:除了 D6 光刀的 99.933 %(21 步超過它的 36.29 N),每道工序的自由切削步 100 % 在目標內;另列:1 步在下限仍高於目標(難題 5),24 步在守住的 Z 行上高於目標 過:每道工序 100 %;另列:同一個下限步,保留的 D2 半精修有 36 步超過應力目標,最高 0.383 過:100 %
O3 (a) 172 點,最多 16.6 µm,已列出;(b) 過:1,720 萬個格點 100 % 在 1 µm 內;(c) 過:−3.7 × 10⁻⁶ (a) 44 點,最多 11.5 µm;(b) 過:100 %;(c) 過:+9 × 10⁻⁷ (a) 無;(b) 過:1,500 萬個格點 100 %;(c) 過:0
O4 沒中:比原程式 +3.8 %(預測 +40 至 +130 %),比手調版 −19.9 %(−10 至 +75 %);粗加工 −13.4 %,精修 × 1.44 總時間中:−9.9 %(−3 至 −15 %);粗加工(−23.3 %)與精修(+4.8 %)在預測之外,殘料粗加工(−9.4 %)與半精修(0 %)在內(難題 3、4) 沒中:光刀 −17.3 %(−20 至 −50 %)
O5 最大值:三道都過(24.1、43.3、49.9 µm,全都更低);第 99 百分位:D6 74.0 → 22.1 與 D2 359.9 → 49.9 µm 過,D4 依步數 15.2 → 20.1 不過(依路徑 10.5,難題 9);「D6 與 D2 仍超過 C2」的預測錯了 過:25.0、46.2、49.1 µm(≤ 25.5/51/51);半精修照程式 過:50.04 µm(≤ 51)
O6 過:沒有切削移動超過它的上限,沒有快移切料;HiNC 這一側 59 個擦邊步,已列出 過;HiNC 這一側 52 過;HiNC 這一側 0
O7 過:檔案不同;122 行嵌入的設定,122 行都在自己的行上;寫出器沒有錯誤 過:156 中 156 過:126 中 126
O8 z-map 有切的每道工序都有接觸;接觸路徑除了 D2 光刀的 −13.0 % 都在 3 % 以內——照文字不過(難題 8) D4 光刀 −42.9 %——照文字不過 過:−0.3 %
O9 粗加工在上限 80.7 %、功率 19.2 %(預測 50–80/20–50:差一點);D6 光刀在目標切削力 27.0 %(≥ 50 %:沒中);D2 在目標切削力 60.2 %(中) 粗加工 72.0/27.9 %(中);D6 光刀在上限 87.4 %、目標切削力 8.0 %(大致中) 上限 77.3 %、目標切削力 21.4 %
O10 見 2 × 2 表:A 讓 D16 回到 0.667 × 1.02 以內,只剩下限的那一步(預測中);D6 與 D2 的一刀精修在 C2 內(預測超過:錯) B 守住 C2 與 C5,而且比手調版快(預測中) —

2 × 2 對照,X- OP1:兩條刀路,各在自己的進給與 HiNC 的進給下:

原刀路(一刀精修) 兩刀刀路(手調版)
程式自己的進給 原程式 635.6 s;D16 功率比超過 1 的 5,844 步,第 99 百分位 1.615,最大 2.632;D6 殘料粗加工應力比 0.758;光刀撓曲 D6 193.9、D4 79.5、D2 359.9 µm 手調版 823.6 s;功率比超過 1 的 1 步,第 99 百分位 0.666,最大 2.632;應力比 0.703;撓曲 21.8、11.7、32.7 µm
HiNC 的進給 變體 A 659.7 s(+3.8 %);功率比超過 1 的 1 步,第 99 百分位 0.663,最大 1.576;應力比 0.332;撓曲 24.1、43.3、49.9 µm 變體 B 741.8 s(−9.9 %);1 步、0.663、1.576;0.332;25.0、46.2、49.1 µm

HiNC 決定進給之後,兩條刀路在模型裡都守住 C5 與 C2。A 比手調版快 19.9 %;B 比 A 慢 12.5 %(82.2 秒)。光是它的半精修——照程式保留的 189.8 秒——就比這個差距還多:兩刀刀路把這段時間花在讓光刀遇到 0.1 mm、而不是 0.3 mm 的料。

四支程式 X- OP1 的模擬時間,總計與逐工序:原程式 10.6 分、A 11.0、手調版 13.7、B 12.4;兩支優化程式的 D16 粗加工都較短,A 的 D6 光刀較長,A 的 D2 光刀從 30 秒到 79 秒

X- OP1 逐工序。手調版與 B 的 D4 與 D2 長條包含它們的半精修。

工序 刀 原程式 A 手調版 B
rough1 T1 D16 308.2 s 258.6 s 335.8 s 257.6 s
rough2 T2 D6 108.9 s 102.7 s 113.9 s 103.2 s
semi2 T2 D6 — — 96.7 s 96.7 s(保留)
fin2 T2 D6 119.5 s 149.1 s 65.1 s 81.5 s
semi3 T3 D4 — — 27.0 s 27.0 s(保留)
fin3 T3 D4 32.7 s 34.6 s 6.2 s 13.0 s
semi4 T4 D2 — — 66.2 s 66.2 s(保留)
fin4 T4 D2 30.4 s 78.6 s 75.9 s 60.0 s
鑽孔 T11–T14 35.9 s 35.9 s 36.8 s 36.8 s
合計 635.6 s 659.7 s 823.6 s 741.8 s

HiNC 把四支程式的時間分成:有接觸 6.0、7.1、7.7 與 7.5 分鐘,空中 4.6、3.9、6.0 與 4.9 分鐘

HiNC 把每支程式的時間分成和毛胚接觸的步與在空中的步(進給移動與快移):A 切得比原程式久、空中的時間較少;B 兩邊都省。

時間從哪裡來。 優化器對每支程式時間做了什麼,依大小排列:

來源 變體 A 變體 B
D16 的斜坡從 F1800 拉到全切屑(難題 3) 約 −55 s 約 −55 s
空中的進給移動用空切進給(D16 10,000;D6 7,290/8,570 mm/min);HiNC 在粗加工的空中時間 77.7 → 33.8 s(D16)、67.7 → 46.0 s(D6) 76.7 → 33.1 s、71.5 → 45.9 s
D16 全寬切削上的主軸功率目標(它 19.2/27.9 % 的切削步) 原程式的全寬弧段從 F3600 放慢到約 F2000–3000 手調規則本來就已放慢
D6 殘料粗加工的應力目標 中位切屑 0.04 → 0.0247 mm 同左
精修的目標切削力 D6 +29.6 s、D2 +48.2 s(切屑低到 0.001 mm) D2 −15.9 s(中位進給 F144 → F283);D6 +16.3 s、D4 +6.7 s,全落在下限段
讀不到力的步造成的下限段(難題 4) 51.6 s 在下限(比鄰近進給多約 35 s) 59.6 s(約 43 s)
精修的空中時間增加:延伸距離把慢的進給帶進進刀與退刀 D2 光刀空中 28.4 → 61.5 s D4 光刀空中 5.3 → 12.2 s

D16 粗加工:全寬切削的限制是主軸。 在原程式裡,D16 在全深下碰到超過約 0.6 倍直徑的料,功率比就超過 1;HiNC 把每一刀這種切削守在目標上,而手調版自己的規則本來就已把它帶到那裡。

優化前的 HiNC 模擬 X- 板,和頁首那張同一個視角,依主軸功率比 0 到 1.2 上色:這一層的全寬弧段是紅色,其餘是綠色

原程式在頁首那張畫面的同一點,依主軸功率比上色,0 到 1.2:每一道全寬弧段都是紅色,超過額定。HiNC 優化之後(頁首),同一層是綠色。

D16 粗加工,Z -4.35 那一層每半秒的主軸功率比:原程式有 20 秒在 1.6 到 1.8,A 在 0.667 的目標上;手調版與 B 都在目標上

第一個全深層上每半秒最大的主軸功率比:原程式 52 秒、最高 1.8,A 50 秒、在 0.667 的目標上;手調版 60 秒,B 50 秒,兩者都在目標上。

D16 粗加工,主軸功率比對 HiNC 讀到的切寬,全深步的中位數與最大值:原程式的中位數超過約 0.6 倍直徑就高於 1,最大值在全槽到 1.8;其他三支在 0.35 倍直徑以上都平在 0.667 的目標

主軸功率比對切寬(以 D16 直徑的比例),全深步。

粗加工切削步高於每個主導負載比的比例,主導負載比是功率 ÷ 0.667、扭矩 ÷ 0.667 與應力 ÷ 0.333 中最大的,對數刻度:D16 原程式到 3.9,18 % 的切削步超過 1;其他每條曲線都在 1 落下;兩支原程式的 D6 殘料粗加工到 2.1 到 2.3

粗加工步的主導負載比:切削步高於每個值的比例;1 就是目標。HiNC 之後,兩把刀的曲線都在 1 落下。

精修。 目標切削力讓每一道光刀在 HiNC 的模型裡都守在 C2 內:

四支程式 D6、D4 與 D2 光刀最大與第 99 百分位的 XY 刀尖撓曲,以及 C2 上限:原程式 194、80 與 360 µm,A 24、43 與 50,手調版 22、12 與 33,B 25、46 與 49

光刀最大(長條)與第 99 百分位(橫線)的 XY 刀尖撓曲,對 C2(虛線)。

優化前的 HiNC 模擬 X- 板,D6 光刀結束時:D6 端銑刀在熱縮刀把下方、在凸台旁的凹口裡;框架的牆依最大切削力 0 到 120 N 上色,有綠、黃、紅的帶

原程式在 D6 光刀結束時(原程式第 30,361 行),D6 從熱縮刀把伸出 21 mm、在凸台旁的凹口裡,依切出每個面的那一步的最大切削力上色,0 到 120 N:框架的牆在一刀吃掉整個留量的地方出現綠、黃、紅的帶。窗口的底面與側壁最後由粗加工切出,在兩張畫面裡都超出色階。

HiNC 優化原程式之後的同一個視角:框架的牆是藍色與青色

HiNC 優化之後(A),同樣的上色:牆是藍與青,在 36.29 N 的目標之下。

優化前的同一個視角,依每刃進給 0 到 0.04 mm 上色:牆是程式 0.04 mm 的紅色

優化前,依每刃進給上色,0 到 0.04 mm:牆在程式的 0.04 mm。

HiNC 優化之後依每刃進給上色的同一個視角:長牆約 0.025 mm 的黃綠色,凹口的角落接近零的藍色,部分平面與頂面仍是紅色

優化後,同樣的上色:長牆約每刃 0.025 mm,凹口的角落幾乎放慢到下限。

B 的 D2 光刀每半秒,手調版對 B:B 的撓曲在短短幾段碰到 50 µm 線,手調版在 33 µm 以下;76 對 60 秒

B 的 D2 光刀:比手調版快(60 對 76 秒),角落到 50 µm 的上限。

變體 C,Y+ OP1 的 D2 段,從記錄的工件開始:

Y+ OP1,D2 段 手調版 變體 C,重播
模擬時間,這一段 360.5 s 329.4 s(−8.6 %)
半精修(保留)/光刀 180.3/179.3 s 180.3/148.3 s(−17.3 %)
光刀:最大/第 99 百分位 XY 刀尖撓曲(C2 50 µm) 55.8/37.1 µm 50.0/47.4 µm
光刀:最大力(目標 10.27 N) 11.7 N 10.5 N
什麼決定了光刀的進給 — 上限 77.3 %、目標切削力 21.4 %、應力 1.3 %
優化後的檔 6,202 行、2,585 個 F 字 6,424 行、1,644 個 F 字,F86.4 到 F576

手調版的 D2 在直牆上本來就跑在刀表切屑(F576),所以 HiNC 只能在角落贏;光刀最大的彎曲降到上限,典型的彎曲則隨進給升高。

Y+ OP1 的 D2 段每秒,手調版對 C:前 180 秒的半精修完全相同,之後 C 的光刀較快,撓曲守在 50 µm 線附近;360 對 329 秒

變體 C:半精修照程式保留,接著是光刀。

什麼決定了進給,取自每次優化播放的優化器逐步日誌:對原程式的每一個切削步,取在這一步自己的求解中允許最低每刃進給的準則,在延伸距離與加速度上限再把部分進給壓低之前:

播放、工序 切削步 刀具的切屑上限 守住自己切屑的行 主軸功率 主軸扭矩 刀具應力 目標切削力 下限
A,D16 粗加工 62,829 50,725(80.7 %) — 12,053(19.2 %) 47 3 — 1
A,D6 殘料粗加工 16,624 12,436(74.8 %) — 17 5 3,910(23.5 %) — 256(1.5 %)
A,D6 光刀 24,662 14,939(60.6 %) 2,976(12.1 %) 5 1 64 6,666(27.0 %) 11
A,D4 光刀 4,227 3,822(90.4 %) 382(9.0 %) — — — 23 —
A,D2 光刀 638 250(39.2 %) 4 — — — 384(60.2 %) —
B,D16 粗加工 68,159 49,107(72.0 %) — 19,000(27.9 %) 48 3 — 1
B,D6 殘料粗加工 15,549 11,536(74.2 %) — 21 5 3,731(24.0 %) — 256(1.6 %)
B,D6 光刀 20,887 18,248(87.4 %) 888(4.3 %) 4 1 49 1,681(8.0 %) 16
B,D4 光刀 295 280(94.9 %) 4(1.4 %) — — 7(2.4 %) 4(1.4 %) —
B,D2 光刀 4,863 2,911(59.9 %) 4 — — 49(1.0 %) 1,899(39.0 %) —
C,D2 光刀 46,731 36,125(77.3 %) 1 — — 611(1.3 %) 9,994(21.4 %) —

每個切削步的進給由什麼決定,依變體與工序:刀具的切屑上限 39 到 95 %,粗加工有 19 與 28 % 由主軸功率決定,殘料粗加工約四分之一由刀具應力決定,目標切削力決定 A 的 D6 與 D2 光刀的 27 與 60 %、B 的 8 與 39 %

決定每個切削步進給的準則,取自優化器的逐步日誌。

D16、D6 與 D2 的切削步在每個每刃進給上花的時間,四支程式:D16 多半在 0.08,原程式與手調版在斜坡上另有 0.04;A 的 D6 分散到 0.002;A 的 D2 幾乎全在 0.001

切削時間落在哪個每刃進給上,依刀具。

逐工序,原程式與 A:

工序 程式 時間 (s) 接觸/空中 (s) 切削步 功率比,最大/p99 應力比,最大/p99 力,最大/p99 (N) XY 刀尖撓曲,最大/p99/中位數 (µm) 每刃進給,中位數 (mm) 進給,中位數 (mm/min)
D16 粗加工 原程式 308.2 230.5/77.7 62,829 2.632/1.615 0.213/0.209 1,168.6/823.1 42.7/41.7/10.7 0.08 3,600
HiNC(A) 258.6 224.8/33.8 64,386 1.576/0.663 0.206/0.182 809.5/718.3 41.0/36.4/16.4 0.08 3,600
D6 殘料粗加工 原程式 108.9 41.2/67.7 16,624 0.213/0.172 0.758/0.741 261.2/255.9 164.4/160.5/3.5 0.04 2,400
HiNC(A) 102.7 56.8/46.0 22,032 0.101/0.081 0.332/0.332 126.1/114.2 75.8/71.9/5.4 0.0247 1,481
D6 光刀 原程式 119.5 62.5/57.0 24,662 0.281/0.067 0.910/0.347 333.6/123.5 193.9/74.0/12.3 0.04 2,400
HiNC(A) 149.1 103.4/45.7 38,301 0.131/0.037 0.109/0.106 116.5/36.2 24.1/22.1/10.3 0.04 2,400
D4 光刀 原程式 32.7 10.7/22.0 4,227 0.054/0.010 0.339/0.069 98.6/18.6 79.5/15.2/10.5 0.025 1,800
HiNC(A) 34.6 9.3/25.3 3,754 0.031/0.013 0.196/0.089 53.4/24.6 43.3/20.1/10.5 0.025 1,800
D2 光刀 原程式 30.4 1.9/28.4 638 0.008/0.008 0.821/0.821 42.0/42.0 359.9/359.9/80.6 0.012 576
HiNC(A) 78.6 17.1/61.5 5,513 0.001/0.001 0.113/0.113 5.7/5.7 49.9/49.9/18.4 0.001 49

對連續額定,D16 粗加工最大的功率比(在斜坡折返那一步)從 3.509 降到 2.101。

逐工序,手調版與 B:

工序 程式 時間 (s) 接觸/空中 (s) 切削步 功率比,最大/p99 應力比,最大/p99 力,最大/p99 (N) XY 刀尖撓曲,最大/p99/中位數 (µm) 每刃進給,中位數 (mm) 進給,中位數 (mm/min)
D16 粗加工 手調版 335.8 259.1/76.7 68,159 2.632/0.666 0.209/0.182 1,168.6/718.3 41.7/36.4/11.2 0.08 3,600
HiNC(B) 257.6 224.5/33.1 62,571 1.576/0.663 0.206/0.182 809.5/718.3 41.0/36.4/16.6 0.08 3,600
D6 殘料粗加工 手調版 113.9 42.4/71.5 15,549 0.142/0.127 0.703/0.599 242.9/206.1 152.6/129.5/3.5 0.04 2,400
HiNC(B) 103.2 57.3/45.9 20,943 0.094/0.081 0.332/0.332 114.8/114.2 75.9/71.9/5.5 0.0247 1,481
D6 半精修(保留) 兩者 96.7 72.1/24.6 27,764 0.035/0.022 0.217/0.125 76.1/43.1 46.6/26.9/12.3 0.04 2,400
D6 光刀 手調版 65.1 53.7/11.5 20,887 0.016/0.009 0.099/0.060 32.8/21.3 21.8/13.3/8.3 0.032 1,920
HiNC(B) 81.5 64.2/17.3 24,298 0.021/0.013 0.113/0.092 37.9/31.5 25.0/20.1/4.0 0.0398 2,387
D4 半精修(保留) 兩者 27.0 10.3/16.6 4,141 0.004/0.003 0.048/0.048 11.3/11.3 6.8/6.8/6.8 0.025 1,800
D4 光刀 手調版 6.2 1.0/5.3 295 0.013/0.013 0.083/0.083 22.9/22.9 11.7/11.7/3.6 0.0063 450
HiNC(B) 13.0 0.7/12.2 238 0.051/0.051 0.317/0.317 92.2/92.2 46.2/46.2/1.4 0.0233 1,680
D2 半精修(保留) 兩者 66.2 0.6/65.6 260 0.003/0.003 0.383/0.383 21.5/21.5 101.6/101.6/75.2 0.012 576
D2 光刀 手調版 75.9 12.3/63.6 4,863 0.001/0.001 0.123/0.119 6.9/6.6 32.7/31.7/13.9 0.003 144
HiNC(B) 60.0 8.3/51.7 3,232 0.002/0.002 0.187/0.187 10.3/10.3 49.1/49.1/15.4 0.0059 283

D16 粗加工超過 0.667 × 1.02 的切削步從 106 步降到 1 步。B 的 D4 光刀最大讀到 92.2 N,目標是 95.02 N,中位進給 F1680,手調版是 F450。

逐工序,變體 C:

工序 程式 時間 (s) 接觸/空中 (s) 切削步 功率比,最大/p99 應力比,最大/p99 力,最大/p99 (N) XY 刀尖撓曲,最大/p99/中位數 (µm) 每刃進給,中位數 (mm) 進給,中位數 (mm/min)
D2 半精修(保留) 兩者 180.3 92.5/87.8 37,580 0.002/0.001 0.243/0.185 13.5/10.3 64.2/49.1/39.3 0.012 576
D2 光刀 手調版 179.3 115.1/64.2 46,731 0.001/0.001 0.216/0.140 11.7/7.8 55.8/37.1/21.6 0.012 576
HiNC(C) 148.3 91.6/56.7 37,496 0.003/0.002 0.191/0.184 10.5/10.1 50.0/47.4/27.3 0.012 576

這裡的功率比是對短時額定;切削步是有接觸、去料超過 0.01 mm³/s 的步;進給與每刃進給的中位數依路徑加權。重播在進給較低的地方切削步較多:較慢的進給在同一段路徑上取更多步。

負荷對目標(O2、O5),每道重播的工序。自由步是既不在下限、也不在守住自己切屑的行上的步:

重播、工序 切削步 在下限 在守住或保留的行上 自由 自由步在目標內 高於目標:在下限/守住 目標切削力 最大 XY 撓曲
A,D16 粗加工 64,386 61 0 64,325 100 % 1/0 — 41.0 µm
A,D6 殘料粗加工 22,032 7,147 0 14,885 100 % 0/0 — 75.8 µm
A,D6 光刀 38,301 3,902 3,203 31,196 99.933 % 0/24 36.29 N 24.1 µm
A,D4 光刀 3,754 0 379 3,375 100 % 0/0 53.68 N 43.3 µm
A,D2 光刀 5,513 0 3 5,510 100 % 0/0 5.73 N 49.9 µm
B,D16 粗加工 62,571 61 0 62,510 100 % 1/0 — 41.0 µm
B,D6 殘料粗加工 20,943 7,196 0 13,747 100 % 0/0 — 75.9 µm
B,D6 半精修(保留) 27,764 1,367 27,764 0 — 0/0 — 46.6 µm
B,D6 光刀 24,298 3,720 844 19,734 100 % 0/0 37.57 N 25.0 µm
B,D4 半精修(保留) 4,141 0 4,141 0 — 0/0 — 6.8 µm
B,D4 光刀 238 136 0 102 100 % 0/0 95.02 N 46.2 µm
B,D2 半精修(保留) 260 0 260 0 — 0/36 — 101.6 µm
B,D2 光刀 3,232 0 2 3,230 100 % 0/0 10.27 N 49.1 µm
C,D2 半精修(保留) 37,580 0 37,580 0 — 0/0 — 64.2 µm
C,D2 光刀 37,496 0 1 37,495 100 % 0/0 10.27 N 50.0 µm

優化後的檔(O7),逐行讀回:

程式 行數,原 → 優化 F 字,原 → 優化 寫出的進給 帶來源註記的行 嵌入的設定行留在自己的行上 空切進給的行
A 31,233 → 38,270 364 → 9,439 49–10,000 mm/min 30,318 122 中 122 F7290 129 行、F10000 123 行
B 31,817 → 38,419 10,639 → 13,668 90–10,000 mm/min 21,679 156 中 156 F8570 133 行、F10000 110 行
C 6,202 → 6,424 2,585 → 1,644 86.4–576 mm/min 2,630 126 中 126 無

原程式的計數包含嵌入的設定行;優化器照原樣抄寫每一條這樣的行,後面不接來源註記,而且每次優化播放只報出四支鑽頭的「優化關閉」警告。

形狀(O3):

檢查 變體 A 變體 B 變體 C
(a) 偏離原程式行超過 1 µm 的終點 38,033 中 172,最多 16.6 µm,全在 D16 粗加工 38,152 中 44,最多 11.5 µm,全在 D16 粗加工 6,282 中 0
(b) 代理 0.025 mm 的 z-map,優化程式之後對原程式之後 17,247,409 個格點,100 % 在 1 µm 內,最大差 0 17,247,409 個格點,100 %,0 14,966,457 個格點,100 %,0
(c) HiNC 匯出的零件,重播對基準 105,610.709 對 105,611.098 mm³(−3.7 × 10⁻⁶) 105,617.154 對 105,617.060 mm³(+9 × 10⁻⁷) 82,651.405 對 82,651.406 mm³(0)

空切進給防護(O6):在代理的 z-map 上,沒有一支優化程式有切削移動高於它那一行的上限 × 1.02,也沒有一支在快移上切料。HiNC 自己的重播步中,以空切進給碰到毛胚的:

重播 步數 其中 D16 在 F10000/D6 在它的空切進給 合計去料 最大力 最寬 來源行(例)
變體 A 59 53/6(F7290) 0.051 mm³ 6.9 N 0.112 mm 粗加工第 6,005、8,043、9,049、10,065、11,034… 行;殘料粗加工第 16,950、18,499、20,048 行
變體 B 52 44/8(F8570) 0.219 mm³ 6.9 N 0.109 mm 粗加工第 4,990、5,439、6,439… 行;殘料粗加工第 11,923、12,916、13,910、14,904 行
變體 C 0 — — — — —

接觸(O8):z-map 說有切的每道工序,在 HiNC 裡都有接觸的步。接觸路徑依 HiNC 的步紀錄加總,基準 → 重播:

工序 變體 A 變體 B
D16 粗加工 21,728 → 21,931 mm(+0.9 %) 21,725 → 21,843 mm(+0.5 %)
D6 殘料粗加工 2,559 → 2,544 mm(−0.6 %) 2,589 → 2,579 mm(−0.4 %)
D6 半精修 — 5,000 → 5,000 mm(0 %)
D6 光刀 4,539 → 4,552 mm(+0.3 %) 2,993 → 2,988 mm(−0.2 %)
D4 半精修 — 490 → 490 mm(0 %)
D4 光刀 499.4 → 487.6 mm(−2.4 %) 19.2 → 11.0 mm(−42.9 %)
D2 半精修 — 11.0 → 11.0 mm(0 %)
D2 光刀 34.1 → 29.7 mm(−13.0 %) 76.7 → 74.8 mm(−2.5 %)
鑽頭 不變 不變

變體 C:半精修 1,286.7 mm 不變,光刀 1,450.0 → 1,446.3 mm(−0.3 %)。

執行成本,在共用的 32 執行緒伺服器上:

播放 步數 模擬時間 伺服器時間 記憶體峰值
角落試跑,九次播放(難題 1 的表) 每次 138,287–273,221 — 每次 80–250 s,合計 18.5 min 1.68–38.45 GiB
A:優化播放/重播 207,946/227,096 635.6/659.7 s 641/771 s 40.57/9.86 GiB
B:優化播放/重播 273,221/255,403 823.6/741.8 s 861/861 s 47.52/12.69 GiB
Y+ OP1 第 1–50,211 行,一般播放,寫出 C 的工件紀錄 389,490 1,089.8 s 821 s 4.15 GiB
C:優化播放/重播 146,979/134,925 360.5/329.4 s 100/80 s 7.02/7.02 GiB
記憶體重現(難題 1),兩次播放 每次 14,562 每次 43.0 s 10/20 s 0.52/6.71 GiB
第二個實例上的五次畫面播放 22,579–172,125 — 70–841 s,合計 32 min 1.39–4.18 GiB

重的播放一個接一個拿共用鎖:依伺服器的時鐘,角落試跑從 03:52 到 04:35,整支程式與 C 從 04:35 到 05:46,每一次開始時伺服器有 65 到 96 GB 記憶體可用;伺服器的可用記憶體從沒低於 48 GB。一次優化播放大約要它重播的四倍記憶體(40.6/9.9 與 47.5/12.7 GiB)。

對加工工程師。 在一片原程式讓主軸過載、讓小刀彎得遠超過上限的板上,HiNC 的進給優化一次播放就做到代理手調好幾輪才做到的事:在 HiNC 的模型裡,每一刀全寬切削都守在主軸的目標上、每一道光刀都在它的撓曲上限內,時間只比原程式多 3.8 %、比手調版少 19.9 %。這支程式上機之前,有兩件事要工廠看一眼:它的精修切屑低到 0.001 mm,真實的刀會擠壓;它以全切屑走斜坡,工廠可能不接受。對手調版,優化器在同樣的上限內少了 9.9 %,三分之二來自斜坡;斜坡照程式的話約 3 %,所以手調規則已經很接近優化器會做的。一步讀到有料卻沒有力,HiNC 就把它周圍那一段放慢到下限;在這片板上,每支程式要多約 35 到 45 秒。

對老師或學生。 一片板就說明了進給優化器能取代什麼、不能取代什麼:由撓曲上限與刀的柔度推得的目標切削力,能在一刀精修上取代手寫的進給規則,只要模型的力會隨進給變;半精修與刀路仍是程式設計者的;優化器贏到的時間,要先追到它從哪裡來——這裡是斜坡與空中的移動——再算成它的功勞。

對評估這種做法的人。 從兩支現成的程式,到兩支都優化好、再加第三個變體,在共用伺服器上花了一個約兩小時的工作時段:1.5 小時的播放,重的一次一個、最多 47.5 GiB,旁邊再半小時的畫面播放。代理先寫下標準與預測,每一條規則都先在修剪過的一角上試過才上整片板,找到並繞過嵌入設定的記憶體成本,照實報出沒中的預測,並以自己的模型檢查每一個寫出的點、每一個空切進給的移動與最後的毛胚。

誠實的限制

  • 時間是理想進給的估計,不含控制器的加減速與前瞻:程式之間的比例可信,絕對時間不是現場時間——見加工時間估算。
  • 撓曲只在 HiNC 的模型裡成立。 它們是 HiNC 刀具樑的讀值,可能把刃部的柔度高估三到五倍;A 的精修靠 0.001–0.002 mm 的切屑才到上限,真實的刀在那裡會擠壓,而 HiNC 不模擬擠壓。HiNC 的撓曲變換關閉,所以形狀檢查讀的是程式路徑。
  • 優化器沒有內建的撓曲準則。 C2 由每把刀的柔度推得的目標切削力承載;目標切削力不作用在高度有變的步上,所以那些行守住自己的切屑。
  • 斜坡被拉高是計畫的規則,不是工廠的。 斜坡的排屑與進刀角不在 HiNC 的準則裡;斜坡守在程式進給的話,A 與 B 各要多約 55 秒。
  • 有去料卻讀不到力的步,可能把一段拉到下限:刀具應力準則在其中一些步上回答下限,延伸距離再把它帶到前後各 2 mm(這裡是 51.6 與 59.6 秒)。
  • 斜坡折返讀到的去除率是鄰近步的好幾倍,所以 D16 有一步在下限仍超過額定。
  • 切開的行可能偏離原程式行,最多是那一行自己在某軸上的小變化(這裡 16.6 µm,在粗加工)。
  • 嵌入的設定要花記憶體:一次播放每執行一行設定約 9 MB,所以幾千行上的設定要幾十 GB。
  • 主軸功率讀得偏高:HiNC 的 AA7075 資料與 0.4 的主軸效率,讓功率比約是一般工廠估算的五倍(見案例頁),所以粗加工以功率為限的進給偏保守。
  • 只優化了 X- OP1 與一段 D2。 通用的機台與主軸、代理的刀具與刀把、虎鉗都是案例的;顫振、排屑、刀具磨耗、表面粗糙度與板自己的剛性都沒有模擬,也沒有在機台上量過任何東西。

讀者可以帶到自己案例的

  • 把原程式交給優化器,不只是調好的那支。 這裡它從 CAM 第一次的輸出就達到手調修改的上限,而且比修改後的快。
  • 把撓曲上限換成刀的柔度推得的目標切削力,並檢查切屑壓到多低:幾微米以下的切屑守住的是模型的上限,不是刀的。
  • 給斜坡與下刀自己的上限。 只看功率、應力與力的優化器,會把斜坡拉到全切屑。
  • 把省下的時間依來源拆開——斜坡、空中移動、切削——再算成優化器的功勞。
  • 保留區段,不要逐行:設定行依執行的行數吃記憶體。
  • 在重播裡找停在下限的段,並讀它們開頭的逐步日誌:一個讀不到力的下刀可能拖慢鄰近的步。
  • 在播放之前寫下預測並保留;照實報出沒中的。
  • 拿毛胚的精確模型檢查重播,找出會切到料的空切進給移動,以及離開自己行的點。

來源與授權

  • 來源: Tim Munhowen(TU Wien Space Team,維也納),SpaceTeamSat1 Mechanical Design,Zenodo,版本 1.0,2025-05-21 發佈,doi:10.5281/zenodo.15482346。本案例使用檔案 Sts1MechanicalDesign_1.0.zip(2,533,985 bytes):組立 CS_STS1.STEP、六片板的 STEP 檔,以及 13 張的圖面 CS_STS1.pdf。連結失效時可搜尋:SpaceTeamSat1 Mechanical Design、zenodo 15482346、CS_Xminus.STEP。
  • 授權: CC BY 4.0,依 Zenodo 紀錄所載(2026-09-30 讀取)。授權依原樣提供素材,不附任何保證。圖面帶有「SOLIDWORKS Educational Product. For Instructional Use Only.」(SOLIDWORKS 教育版產品,僅供教學使用)的浮水印,這關係到作者的軟體授權,而不是資料的授權;本頁只放 HiNC 的畫布與代理的圖表。
  • 姓名標示: 「SpaceTeamSat1 mechanical design by Tim Munhowen, TU Wien Space Team (Zenodo, doi:10.5281/zenodo.15482346), CC BY 4.0. Machining set-up by Tech Coordinate's agent.」(SpaceTeamSat1 機構設計:Tim Munhowen,TU Wien Space Team,Zenodo,doi:10.5281/zenodo.15482346,CC BY 4.0;加工設定由 Tech Coordinate 的代理完成。)
  • 與原作的差異: 零件幾何原樣使用;毛胚、裝夾、夾具、刀具與刀把、程式、程式的優化與機台都是代理的。畫面是 HiNC 對代理設置的模擬,圖表畫的是 HiNC 的逐步結果、優化器的逐步日誌與代理自己的 z-map。
  • 備份: 公司網站保留一份原始檔的備份。

另見