跳轉到

NIST 五軸試件:依一篇論文的圖面做出的圓錐台與方錐

一篇 NIST 論文評估了兩個用來測試五軸工具機的零件——一個圓錐台和一個截頂方錐,最早由一份國際標準的早期草案提出——論文給了它們的圖面與切削條件,但沒有模型、沒有刀具路徑,也沒有機台。開源的 CAM 也沒有一套能算五軸同動的刀具路徑。

一個 AI 代理 (agent) 拿到這篇論文,畫出兩個零件,並用一支簡短的 Python 腳本自己寫出刀位;接著透過 HiNC 的 Web API,讓 HiNC 解出一台五軸機的各軸、檢查碰撞、寫出 Fanuc 五軸程式,再重播那支程式,直到它與產生它的刀具路徑一致。途中遇到十四個難題。本頁是這段過程的紀錄,小問題也包括在內。

HiNC 仿真:Ø12.7 mm 端銑刀裝在熱縮刀把上,正在精修圓錐台的邊緣;圓錐台放在楔形夾具上,位於旋轉台上、搖籃兩側的側壁與軸承座之間

案例

這篇論文由 Moylan 與來自 NIST 和 Pennsylvania College of Technology 的共同作者撰寫,發表於 2011 年的 ASPE 年會。它評估的兩個試件由一份國際標準的早期草案提出,都以刀具側刃在五軸同時移動下精加工,因為零件是傾斜放在機台旋轉台上的。論文寫明了:

  • 兩張工程圖,只有數字:長度與角度,但沒說每個數字是哪一個尺寸。
  • 切削條件:一把 12.7 mm、加工鋁用的碳化鎢端銑刀,300 m/min,每刃 0.05 mm,精加工徑向切深 0.1 mm。
  • 裝夾:圓錐台繞 Y 傾斜 10° 或 15°,原點距旋轉台軸心 50 mm;方錐傾斜 20°,原點在該軸上;加工方錐時,刀具中心線必須始終通過方錐的軸線,所以即使在平面上,旋轉軸也會動。
  • 製程:毛胚約大 5 mm,先粗加工,再精加工。

論文的圖 1,兩張原樣的圖面:(a) 圓錐台的上視圖與側視圖,只標著 30、180、200、25.4 與 38.1;(b) 截頂方錐的側視圖標著 30、20 與 15,上視圖的 62.5 與 50 從中心線起算。圖:S. Moylan 等人,NIST,ASPE 2011,在美國不受著作權保護;從論文裁切,未含圖說

它沒有給模型、毛胚、夾具、刀具路徑、程式、刀把、刃數與刃長、合金,也沒有給機台——作者用的是一台傾斜軸不正交、與 Y 軸夾 45° 的機台,沒有可用的模型。

代理建了什麼

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

項目 圓錐台 截頂方錐
目標模型 底部 Ø200 mm、側面與軸線夾 15°、高 25.4 mm,坐在 Ø180 × 12.7 mm 的台座上——由圖面推得 底部 125 × 125 mm、各面與垂直夾 15°、高 20 mm,坐在 100 × 100 × 15 mm 的台座上——推得(見第一個難題)
毛胚 罩住圓錐台的 Ø210 mm 圓柱,台座已完成——自選,以得到論文的 5 mm 135 × 135 mm 方塊,台座已完成——同樣自選
夾具 Ø190 mm、傾斜 10° 的楔形圓盤,低邊厚 15 mm——傾角讀取,形狀自選 114 mm 見方、傾斜 20° 的方形楔塊,低邊厚 15 mm——傾角讀取,形狀自選
程式原點 在零件軸線上、底面所在的平面內,距旋轉台軸心 50 mm——讀取;座標軸與工作台平行——自選 在旋轉台軸心上——讀取;座標軸與工作台平行——自選
刀具路徑 沿圓錐的母線側銑,每一道轉一圈,各道距表面 10、8、6、4、2.1、0.1 與 0 mm——最後一刀讀取,其餘自選 每一面的刀軸都通過方錐軸線——讀取;各道從 8 到 0 mm——自選
機台 以簡單方塊與圓柱組成的通用 B/C 雙轉台機:B 繞 Y 傾斜,C 在台上旋轉——自選 同左
控制器 Fanuc 方言;行程 X ±400、Y ±300、Z −250 至 650 mm、B ±110°——自選 同左
材料 鋁——讀取;6061-T6——自選 同左
刀具與刀把 Ø12.7 mm、加工鋁用的碳化鎢刀——讀取;平底、3 刃、螺旋角 45°、徑向前角 12°、徑向後角 10°、刃長 32 mm(圓錐台的接觸線長 29.4 mm)、全長 76.2 mm,刃部以上是 Ø12.7 mm 的光面刀柄;熱縮刀把,從鼻端起的剖面 (Z, R) 為 (0, 13.5)、(55, 18)、(55, 22)、(63, 22)、(63, 31.75)、(80, 31.75) mm——鼻端 Ø27 mm、本體 Ø44 mm、凸緣 Ø63.5 mm,量規長 80 mm;伸出量 40 mm,刀長 120 mm——自選 同左
主軸 通用電主軸,連續 7.5 kW、最高 24,000 rpm——自選;論文沒提主軸 同左
轉速與進給 7,519 rpm 與 1,127.9 mm/min——由 300 m/min、每刃 0.05 mm 與 3 刃推得 同左
任務 三次播放:在 HiNC 與機台無關的刀位裝置上播刀具路徑;在機台上播刀具路徑,寫出 Fanuc G43.4 程式;在機台上重播那支程式——自選 同左

代理怎麼讀兩張圖面上的每一個數字,以及為什麼這樣讀(方錐的半寬是下面的第一個難題):

圖面 數字 讀成 依據
圓錐台 30 圓錐的頂角,所以每一側與軸線夾 15° 角度弧的延伸線延續兩條斜邊
圓錐台 200 圓錐台的底部直徑 它的延伸線從最寬的兩個角起
圓錐台 180 圓錐台下方台座的直徑 它的延伸線從台座的垂直側面拉下
圓錐台 25.4 圓錐台的高度 從頂面量到與台座相接的台階;如此頂緣在圖上量得 186 mm,計算值 200 − 2 × 25.4 × tan 15° = 186.39 mm
圓錐台 38.1 總高,所以台座高 12.7 mm 從頂面量到台座底面
方錐 30 相對兩面之間的夾角,所以每一面與垂直夾 15° 同圓錐台
方錐 62.5 方錐底部寬度的一半,從中心線量:底部 125 × 125 mm 兩個 62.5 的尺寸都從中心線起算
方錐 50 台座寬度的一半:台座 100 × 100 mm 兩個 50 的尺寸都從中心線起算;台座是虛線畫的方形
方錐 20 方錐的高度 垂直尺寸鏈的第一段
方錐 15 台座的高度 尺寸鏈的第二段
兩者 中心線上的兩個孔,在原點兩側約 25 mm 固定用的孔,方錐上的有沉頭,模型沒有畫 沒有標尺寸;側銑的道次碰不到它們

HiNC 沒有 CAM,但它讀得懂刀位 (CL) 檔——帶刀軸向量的刀尖點,也就是 CAM 系統交給後處理器的輸出——並把它們轉成機台的運動。所以代理自己用一支簡短的 Python 腳本,從解析曲面寫出 CL:沿圓錐時,刀軸與母線平行、沿表面法向往外偏一個刀具半徑,讓刀具側刃沿整條母線貼著圓錐;在方錐上,刀軸在每一面上呈扇形展開。在圓錐台上,四分之一圓的進刀與退刀讓刀具沿切線切入表面,以避免論文提到的進刀痕;方錐的每一道都從毛胚的角落之外開始、在角落之外結束。

兩條刀具路徑與兩種裝夾的數字,取自代理的腳本與它的建案指示:

圓錐台 截頂方錐
CL 檔中的刀位數 5,320 4,176
一道之中的步距 繞圓錐每步 0.5°,每一道轉一圈再多 3°,進刀與退刀是半徑 6 mm 的四分之一圓弧 橫越一個面每步 1 mm,每個面走 170 mm,所以刀具從毛胚的角落之外開始、在之外結束
進給路徑 / 快移路徑 5,074.5 / 652.3 mm 4,128.0 / 2,223.0 mm
以 1,127.9 mm/min 計算的時間 4.5 min 3.66 min
目標模型、毛胚與楔形夾具的三角形數 2,880、2,880 與 720 32、32 與 16
目標模型在程式座標中的範圍 (−98.4808, −100, −28.1354) 到 (98.4808, 100, 41.1971) mm (−58.7308, −62.5, −31.1964) 到 (60.5354, 62.5, 38.3372) mm
毛胚在程式座標中的範圍 (−103.4048, −105, −28.1354) 到 (107.8155, 105, 43.2472) mm (−63.4293, −67.5, −31.1964) 到 (70.2697, 67.5, 41.8802) mm
程式原點在工作台座標中的位置,從 C 軸與台面的交點起算 (50, 0, 44.258) mm (0, 0, 49.842) mm
零件底面的中心,也就是零件坐在楔形夾具上的點:工作台座標(夾具的 WorkpieceMount 平移)/ 程式座標(零件的 FixtureMount 平移) (47.7947, 0, 31.7511) / (−2.2053, 0, −12.5071) mm (−5.1303, 0, 35.7463) / (−5.1303, 0, −14.0954) mm
reset 之後讀到的工件座標偏移 G54 (50, 0, −55.742) mm (0, 0, −50.158) mm

代理怎麼管理這件工作

  • 先定通過標準,再開始跑。 每一次播放都要核對:步數、確實切到材料、每一行都執行了、切深峰值、仿真時間、幾何差異已建出,以及訊息清單裡只有預期中的項目。一次跑完的執行,還不是一次通過的執行(透過 HTTP API 進行重播驗收)。
  • 在腳本裡做的檢查。 在每一個刀位上:刀具絕不進入成品,刀把與未切的毛胚至少保持 5 mm,光面刀柄從不碰到毛胚。
  • 先粗後細。 每一次播放都先用 1 mm 解析度檢查基準;機台播放與程式重播接著再用 0.25 mm 跑一次做驗收。
  • 兩條獨立的路徑。 同一條刀具路徑在與機台無關的裝置上和在機台上,必須給出相同的切深峰值;機台播放與 HiNC 所寫程式的重播也必須一致。
  • 平行的輔助代理。 代理畫零件的同時,四個閱讀代理整理出 HiNC 文件中的 Web API 做法,一個評論代理再檢查它們合併後的做法有沒有漏洞。
  • 盲建。 另一個代理只拿到共用的建案指南與案例資料夾的副本——來源與圖面的判讀、書面指示,以及代理的模型、刀具路徑和機台——自己建出方錐的兩個專案,並在 1 mm 下與指示給出的每個數字都相符;它回報的四個缺口都補進了指示。
  • 對抗式審查。 三個審查代理拿本頁對照執行紀錄、本區的規則與引擎原始碼,提出 46 項發現。一個懷疑者代理在其餘發現修正之前先查核了其中 19 項,全部屬實。修正包括一個錯誤的技術解釋——早先讀到的工件座標偏移為什麼是錯的——以及好幾處誇大了盲建所證明的東西。
  • 與其他代理共用伺服器和機台。 好幾個代理在同一台 HiNC 伺服器上工作,每個實例一個專案,各自經 Web API 建立的物件(幾何、平移、刀把)都用自己的鍵前綴,沒有任何一個曾停掉別人的執行。這台五軸機由一個做另一個案例的代理依本案例的需求建成;本案例發現它太窄時,也由它加寬。擁有者在工作途中重新部署 HiNC 時,代理等待、確認新版本、重新載入,然後繼續。
  • 人在哪裡介入。 擁有者提供伺服器與帳號;規定每個案例的專案放在自己的資料夾、在每台機器上都用相同的結構,而團隊自己做的設定檔要和來源的檔案分開——代理據此重建了四個專案並搬移檔案;最後把這個案例從訓練教材改成這份紀錄。

難題

除非難題中註明其他版本,數字都是在 HiNC 3.2.39 上量得。

半寬還是全寬?

  • 情況。 方錐的圖面上標著 62.5 和 50,卻沒說是哪一個尺寸。
  • 風險。 讀成全寬的話,之後的每一步都會做出一半大小的零件。
  • 怎麼發現。 放大八倍量測,高度(20 與 15)與這兩個數字共用同一個比例,3.5 px/mm——而且它們的尺寸線都從中心線起算。
  • 解法。 是中心到邊的半寬:方錐底部 125 × 125 mm。
  • 證據。 另外兩項獨立檢查也一致:頂面方形在圖上量得 113.6 mm,計算值 114.28 mm;論文自己的量測圖沿一個面延伸 110 mm,而 62.5 mm 的方錐不可能有這麼長。

沒有五軸 CAM

  • 情況。 沒有任何開源程式能算五軸同動的刀具路徑。
  • 風險。 沒有刀具路徑就沒有案例;手寫五軸程式,等於要在 HiNC 之外解機台的運動學。
  • 怎麼發現。 為這些案例做的開源 CAM 工具調查:都只有三軸和四軸。
  • 解法。 代理只寫 CAM 的部分——從解析曲面算出刀位——凡是和機台有關的都交給 HiNC(刀位 (CL) 播放)。
  • 證據。 HiNC 在機台上解出每一個點,沒有到不了的點,而它寫出的程式重播時,切深峰值與刀具路徑相同。

傾斜 10° 還是 15°?

  • 情況。 論文兩種傾角都拿圓錐台測過。
  • 風險。 在正交的 B/C 轉台上,15° 的傾斜加上圓錐 15° 的半錐角,會讓刀軸在進刀點剛好垂直;在那裡 C 軸沒有定義,可能甩半圈。
  • 怎麼發現。 寫 CL 之前,先算出刀軸在工作台座標中的方向。
  • 解法。 取 10°:刀軸保持偏離垂直 5° 到 25°,C 每一道平順地轉一圈。
  • 證據。 HiNC 寫出的程式讓 B 保持在 −25° 與 −5° 之間,C 穩定地繞轉,沒有任何地方甩半圈。

從工作台上方看圓錐台的一道之中刀軸往哪裡傾斜:離中心的距離是刀軸偏離垂直的角度(−B),方向是它傾斜的方位(C)。10° 裝夾取自 HiNC 寫出的程式的精加工道次,在 5° 到 25° 之間繞著中心,所以 C 平順地轉一圈;15° 裝夾以同一個圓錐算出、沒有建,在進刀點通過中心,此時刀軸垂直、C 沒有定義

程式原點放在哪裡

  • 情況。 零件是傾斜放的;程式原點可以跟著傾斜。
  • 風險。 HiNC 的機台播放使用程式原點的完整位置與方向,而重播 NC 程式只用工件座標偏移的平移。傾斜的程式原點會讓兩者切在不同的地方,而且沒有任何訊息。
  • 怎麼發現。 建專案之前,先讀 HiNC 怎麼把 CL 對應到機台上。
  • 解法。 傾斜做進網格與刀具路徑裡;程式原點保持與工作台平行,專案只需要平移。
  • 證據。 機台播放與程式重播的切深峰值一致到 0.00001 mm。

刀把與伸出量

  • 情況。 論文兩者都沒給。
  • 風險。 太長不切實際;太短則刀把會撞上毛胚。
  • 怎麼發現。 刀具是傾斜的,所以慣用的「最深切削加上伸出量要高出毛胚」檢查不適用。
  • 解法。 鼻端 Ø27 mm 的熱縮刀把,伸出量 40 mm——刃長加 5 mm 再進位——並在腳本中對每一個刀位做間隙檢查(刀具幾何)。
  • 證據。 刀把與未切毛胚的距離,在圓錐台上保持 9.9 mm,在方錐上 11.7 mm;光面刀柄從未碰到毛胚。

圓錐台與刀具在第一道時的剖面,照比例:Ø12.7 mm 端銑刀離完成的圓錐 10 mm,只切到未切毛胚頂面的外角;熱縮刀把從刀具 40 mm 處開始,Ø27 mm 的鼻端在未切毛胚頂面上方 9.9 mm,光面刀柄在它上方 4.0 mm,都是代理的腳本在任何刀位上找到的最小間隙

用哪一台五軸機?

  • 情況。 本案需要一台 B/C 五軸機。HiNC 資源庫裡的通用機構鏈是三軸的;本案也不用庫裡的五軸機型:這裡的切削取決於運動學,不取決於哪一台機台的外觀。
  • 風險。 兩個代理各建一台自己的通用機台,工作重複,結果也會分歧。
  • 怎麼發現。 另一個代理在做同樣需要 B/C 機台的案例,問有沒有人在建。
  • 解法。 一台以簡單方塊與圓柱組成的通用 B/C 機台,由那個代理依本案例的需求建成:傾斜範圍超過 ±60°、C 軸無限旋轉、台面超過 300 mm、真實的運動學(建立虛擬工具機)。
  • 證據。 兩個案例都在它上面跑過;它的角色綁定了每一軸,沒有任何警告。

搖籃與主軸頭之間的 3,436 次碰撞

  • 情況。 在機台上的第一次播放,回報主軸頭撞到傾斜的搖籃。
  • 風險。 它看起來像刀具路徑的問題;改刀具路徑會是錯的修法。
  • 怎麼發現。 代理用自己的運動學模型算出每個刀位上機台的姿態:它預測的碰撞涵蓋的刀具路徑範圍與 HiNC 的相同——第 96 行到第 3713 行,對上 HiNC 的第 96 到第 3714 行,引擎把移往下一點的那一段也算進去。零件偏離旋轉台軸心 50 mm 又傾斜,切削點沿 Y 向外甩出 126 mm;主軸鼻端再多伸 80 mm,進到位於 200 mm 處的搖籃側壁。
  • 解法。 機台的建造者把側壁外移到 260 mm。
  • 證據。 代理的模型預測兩個零件都沒有干涉,之後的每一次重播也都沒有回報碰撞。

起始點在零件裡面

  • 情況。 機台的起始點讓主軸只在工作台上方 100 mm,而 HiNC 寫出的程式一開頭就是回起始點。
  • 風險。 刀長 120 mm 時,回起始點會讓刀尖落到台面下 20 mm。
  • 怎麼發現。 第一次重播寫出的程式之前,拿機台的起始位置對照刀長。
  • 解法。 起始點與換刀高度都設為 600 mm。
  • 證據。 重播唯一多出的動作就是那段爬升與換刀,沒有碰撞。

工件座標偏移讀得太早

  • 情況。 載入機台後立刻設定工件座標偏移,得到一個不合理的值。
  • 風險。 重播切錯地方,或根本沒切到。
  • 怎麼發現。 這個值和由裝夾算出的值差得很遠。
  • 解法。 在 reset 之前、上一次播放的 session 還在時量測,這個端點看到的仍是載入機台之前的設定:執行用的那份設備副本要到 reset 時才更新。量測本身會把每一軸歸零,所以原因不是上一次執行留下的角度。工件座標偏移改在每次 reset 之後、start 之前設定。
  • 證據。 之後每一次讀取都得到計算值,圓錐台是 (50, 0, −55.742)。

一個資料夾裡所有專案共用一個毛胚快取

  • 情況。 HiNC 可以把網格化的毛胚快取成檔案,而預設檔名由同一資料夾中的每個專案共用——這裡是四個專案、兩個零件。
  • 風險。 方錐的專案從圓錐台的毛胚開始。
  • 怎麼發現。 在同一資料夾規劃第二個專案時,在它執行之前。
  • 解法。 每種裝夾一個快取檔。
  • 證據。 每種裝夾的兩個專案都指名並讀取該裝夾自己的檔案;兩個零件都從未讀到對方的毛胚。

重建之後,粗解析度的數字變了

  • 情況。 重建之後,1 mm 的切深峰值變了——圓錐台從 27.319 變成 27.227 mm,方錐從 23.140 變成 23.239 mm——而 0.25 mm 的值在發佈的位數內都沒變。
  • 風險。 發佈一個任何全新建置都重現不了的數字。
  • 怎麼發現。 只有粗解析度的數字動了,而且播放回報它讀取了快取的網格,而不是寫出一份。
  • 解法。 快取比專案活得久,而且被以錯的解析度讀取;在重建或改變解析度之前先刪掉它。
  • 證據。 用全新的毛胚網格,數值回來了:方錐的在盲建中;圓錐台的 27.319 mm,是在 HiNC 3.2.40 上於與機台無關的裝置上播放它的刀具路徑時得到的。

刀具路徑播放與寫出的程式不同——這是錯誤嗎?

  • 情況。 步數與時間不同:圓錐台的程式多 39 步、多 0.36 s,方錐的程式少 144 步、少 0.95 s。
  • 風險。 把快移的差異誤認為後處理錯誤,或者反過來。
  • 怎麼發現。 把兩次播放並排比較。
  • 解法。 刀具路徑播放以自己的 20,000 mm/min 計算快移時間,程式的 G00 則用控制器各軸的快移速率;程式還會爬升到起始點並走過一次換刀,而刀具路徑播放是直接裝上刀具。
  • 證據。 切深峰值一致到 0.00001 mm,而把方錐的刀具路徑再轉換一次,產生的程式逐位元組相同。

這份指示夠別人用嗎?

  • 情況。 建案過程被記錄成一份指示。
  • 風險。 一份只有作者自己照著做得出來的指示。
  • 怎麼發現。 實際測試:另一個代理只拿到共用的建案指南與案例資料夾的副本。
  • 解法。 它建出方錐的專案,與指示中每一個 1 mm 的數字都相符;它回報的四個不清楚之處都修正了。
  • 證據。 它那次建置裡 HiNC 寫出的程式,與代理那次 HiNC 寫出的逐位元組相同。

拍圖時伺服器當掉了

  • 情況。 第一次為拍圖打開 3D 檢視,伺服器程序就停了;它自己重新啟動、專案是關閉的,圖是空的。
  • 風險。 讓其他代理共用的伺服器當掉,並發佈一張空白的圖。
  • 怎麼發現。 圖上只有空白背景和一條 0.3 mm 的比例尺,伺服器回報沒有開啟的專案;它的日誌顯示兩個檢視同時啟動、圖形配置連續失敗四次,然後就當掉了。
  • 解法。 代理記錄下完成的零件,只重播一支重走精加工道次的短姿態程式,讓刀具停在切削中,並只打開一個 3D 檢視。
  • 證據。 伺服器沒有再重新啟動,本頁的兩張 HiNC 畫面都來自那一次。第一次當掉的原因沒有查明。

結果與效益

這裡的一切都是仿真,沒有在真實機台上切過任何東西。在 HiNC 3.2.39 上量得。

量測 圓錐台 方錐
步數,刀具路徑在機台上 / 寫出的程式 36,981 / 37,020 29,786 / 29,642
切深峰值,1 mm / 0.25 mm 27.319 / 26.936 mm 23.140 / 22.892 mm
仿真週期時間,刀具路徑 / 程式 271.90 / 272.27 s 226.26 / 225.31 s
寫出的程式中的旋轉軸 B −25° 至 −5°,C 繞七圈,到 −2,538° B +5° 至 +40.45°,C 約在 ±83° 之間(−83.19° 至 +83.19°)
執行的行數,刀具路徑 / 寫出的程式——每個檔案的每一行 5,352 / 5,333 4,259 / 4,189
刀把與未切毛胚的間隙——由代理的腳本推得,不是 HiNC 量測的 9.9 mm 11.7 mm
光面刀柄與未切毛胚的間隙——同樣推得 4.0 mm 7.3 mm
刀具最低點對楔形夾具的頂面,零件座標——同樣推得 Z −1.5 對 Z −12.7 mm Z −2.34 對 Z −15 mm
刀具與完成面最近的距離——同樣推得 0 mm:貼著,從不切入 0 mm

機台上的每一次驗收播放都切到了毛胚、建出了幾何差異,並在沒有任何警告或錯誤下結束;每條刀具路徑在機台上的播放都寫出一支程式。在與機台無關的裝置上,HiNC 3.2.40 以 1 mm 播放兩條刀具路徑,都沒有警告,切深峰值也與機台播放相同:圓錐台 27.31894 對 27.31896 mm,方錐 23.140 mm。切深峰值是沿刀軸方向接觸的側刃長度——從刀具底部(在零件邊緣下方 1.5 mm)到毛胚頂面——不是徑向切深;較細的解析度更貼近毛胚的邊緣,所以峰值較低。

HiNC 寫出的兩支程式中的旋轉軸,對依程式進給計算的時間:圓錐台的 B 每一道在 −25° 與 −5° 之間擺動一次,C 穩定地往下轉,七道後到 −2,538°;方錐的 B 保持在 +5° 與 +40.45° 之間,C 在 −83.19° 與 +83.19° 之間,四個面各有不同的掃動,重複六道

在 32 執行緒的伺服器上,播放花了多少:

圓錐台 方錐
一次 1 mm 播放 20 到 35 s 5 到 25 s
一次 0.25 mm 播放,刀具路徑 / 程式 約 290 / 260 s 約 140 / 150 s
0.25 mm 下記錄的毛胚網格 177 MB 8.5 MB
伺服器程序的常駐記憶體,在 HiNC 3.2.41 上以 0.25 mm 重播程式 增加約 1.7 GiB,從 4.9 到 6.6 GiB,歷時 216 s;播放結束後的半分鐘內最高 6.8 GiB 沒有記錄

整台仿真機台:立柱、滑枕和主軸頭位於傾斜的搖籃上方,刀具裝在刀把上,停在旋轉台上的圓錐台上方

  • 給加工工程師。 解析曲面的五軸側銑不需要五軸 CAM 也做得到:代理寫刀位,HiNC 把它們轉成 G43.4 程式,在刀軸改變的每一處帶上 B 和 C。在切任何金屬之前,仿真就抓出了容不下主軸頭的窄搖籃;HiNC 讀回的工件座標偏移與由裝夾算出的值對不上,讓代理找出它必須在 reset 之後讀取;代理拿機台的起始位置對照刀長,抓出會把刀具開進零件的起始點;刀把的間隙則由代理自己的腳本檢查。
  • 給老師或學生。 讀一張只有數字的圖面;一個真實的運動學奇異點,以及傾角的選擇如何避開它;為什麼 HiNC 從刀具路徑寫 NC 時,程式原點應保持與工作台平行;以及一份乾淨的訊息清單不是證明——兩條獨立的路徑才是。
  • 給評估這種做法值不值得的人。 在 32 執行緒的伺服器上,每次 1 mm 播放花 5 到 35 s,每次 0.25 mm 播放花 140 到 290 s;最重的一次——在 3.2.41 上以 0.25 mm 跑圓錐台的程式——讓伺服器程序的常駐記憶體增加約 1.7 GiB。刀具路徑腳本約 500 行 Python,只用一個數值函式庫。大部分的功夫花在上面那些難題上,而不是刀具路徑。

誠實的限制

  • 假設的,不是量測的。 刃數與刃長、刀把、合金,以及毛胚與夾具的形狀,都是代理的選擇。機台是行程也取通用值的通用方塊模型,不是論文的機台:它回答幾何問題——搆不搆得到、旋轉範圍、干涉——不回答動態問題。
  • 示範用的刀具路徑。 刀具路徑來自一支簡短的腳本,不是商用 CAM;它不最佳化切削接觸,除了曲面本身給出的以外,也不再平滑刀軸。
  • 刀把間隙是代理自己的檢查。 刀把與未切毛胚的 9.9 / 11.7 mm、光面刀柄的 4.0 / 7.3 mm,來自腳本在每個刀位上的檢查;它們的證據是這項檢查,不是播放的碰撞清單。HiNC 的碰撞檢查回報有沒有干涉,不量還剩多少間隙,所以 5 mm 的餘隙只有腳本在查。
  • 引擎不查的。 從刀位播放寫 NC 時,傾斜的程式原點會讓寫出的程式切在與機台播放不同的地方,HiNC 不發任何訊息(見難題〈程式原點放在哪裡〉)。
  • 拍圖時的當機。 為拍圖同時啟動兩個 3D 檢視時,伺服器程序停過一次,原因沒有查明;之後只開一個 3D 檢視,就沒有再發生(見難題〈拍圖時伺服器當掉了〉)。
  • 沒有建的。 15° 的圓錐台裝夾。

讀者可以帶到自己案例的

  • 在執行之前寫下一次通過的執行必須呈現什麼,並讀訊息清單,而不只看狀態。
  • 用兩種獨立的方式播放同一支程式並比較;一致就是證據。
  • 出現碰撞時,先自己建機台的模型,再去改刀具路徑。
  • 拿 HiNC 回報的東西對照自己算的:工件座標偏移對照由裝夾算出的值,碰撞範圍對照自己的運動學模型。
  • 要讓 HiNC 從刀位檔寫 NC 時,讓程式原點保持與工作台平行:機台播放使用程式原點的完整方向,重播的 NC 只用工件座標偏移的平移。
  • 只有粗解析度的數字動了時,懷疑某個快取的輸入。

來源與授權

  • 來源。 S. Moylan, D. Blumenfeld, M. McGlauflin, R. Fesperman, M. A. Donmez, Evaluation of Proposed Test Artifacts for Five-Axis Machine Tools, Proceedings of the ASPE 2011 Annual Meeting, vol. 52, pp. 520–523——https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=909384。連結若搬移,可搜尋 Moylan "Evaluation of proposed test artifacts for five-axis machine tools" 或 NIST cone frustum truncated square pyramid five-axis。本案例用的那份檔案於 2026-09-27 從該連結下載、2026-09-29 核對仍相同,SHA-256 為 a184d1c8a538318b418c6564e3a525dc433f3c42eed38bbf0a29b9ace0c4b266。
  • 授權。 美國國家標準與技術研究院 (NIST) 的官方著作,在美國不受著作權保護——這是論文自己的註腳;見 NIST 的著作權聲明。
  • 出處標示。 Artifact dimensions and cutting conditions after Moylan et al., National Institute of Standards and Technology (NIST), ASPE 2011. NIST does not endorse this case, HiNC or any product used here; the material is provided as is, without warranty.
  • 修改之處。 本頁只重製了論文的圖 1——兩張圖面——從 PDF 裁切、未含圖說;其餘取自論文的都是數字。模型、毛胚、夾具與刀具路徑是依論文的圖面與條件為本案例製作的;機台與刀把是論文沒有描述的通用設備。圖表與剖面圖依 HiNC 寫出的程式與代理的腳本繪製。讀者請到 NIST 取得論文。

另見