工程面向著色 (Engineering View Coloring)¶
HiNC 自己定義的步著色:兩棵內建的著色樹。加工狀態把每一步分成碰撞、快移切料、切削的負載狀態、空切或快移;加工狀態(不含物理)以同樣的方式分,只是不判負載,只憑播放本身。
視覺指標時序圖的屬性選擇器把步屬性分成兩組列出。工程面向放的是著色樹,每一棵都是對一步的整合判讀:一步沿著樹的條件清單往下走,收下它的是第一片條件成立的葉(步著色;著色樹(英文,未鏡像))。科學面向放的是其他所有屬性,一列一個量。工程面向最上面是 HiNC 隨附的兩棵樹:
- 加工狀態,鍵
MachiningState,十三片葉。切削依它的負載判讀——刀具的應力比,主軸的扭矩、功率與溫度比,刀刃上的熱應力比——所以這棵樹要讀物理,沒有物理時,切削都算負載未評估。 - 加工狀態(不含物理),鍵
MachiningStateGeometry,五片葉。它只讀播放本身產生的東西——一步有沒有碰撞、快移有沒有切到料、刀具有沒有碰到工件、這一步是不是快移——所以不需要物理、也不需要物理授權,就能替一次執行著色。
兩棵樹共有的葉在兩棵裡編號與色相相同:碰撞 (1)、快移切料 (2)、空切 (10) 與快移 (11) 條件也相同;第 8 葉在不含物理的樹裡收下每一個碰到工件的步,在完整的樹裡只收負載讀不到值的切削。只要開著專案,兩棵樹就都在;它們不隨專案存檔,跟著 HiNC 的版本走,要修改其中一棵,就把它複製成專案的樹。
它們在哪裡¶
- 視覺指標時序圖的屬性選擇器(觀看執行):先是工程面向,HiNC 的內建樹排在最上面——加工狀態,接著是加工狀態(不含物理)——各帶著副標內建,接著是專案的樹與腳本註冊的樹,依名稱排列;下面是科學面向,其他每一個屬性,名稱下方附著它的單位。篩選字同時篩這兩組,篩完什麼都不剩的組不顯示;在篩選框按 Enter,選到的是畫面上的第一列。挑了一棵樹,它就成為視覺指標:圖表每片葉畫一道,3D 畫布依它的葉替刀具路徑與切削面著色。加工狀態要讀物理,所以物理選項隱藏時不列出它(物理選項隱藏時)。
- 控制樹 › 步著色(步著色):根節點的面板把內建樹列在最前面的內建之下,附著提示說明它們由 HiNC 定義、唯讀,不隨專案存檔,跟著 HiNC 版本更新,要修改就複製成專案的樹。樹那一列寫著它的名稱、鍵與葉的數目,以及前十三片葉的顏色。展開之後,它列出每片葉的顏色、名稱與寫成一行的條件——快移 = 否——群組自成一列、帶著它的條件,它的葉往內縮一層;並帶著設為視覺指標(視覺指標讀這棵樹時,改為檢視中徽章)與複製成專案的樹…。內建樹只是那個面板上的一列:它在控制樹裡沒有節點。
- 步顯示偏好設定對話框在開著專案時,把兩棵樹都列在 Engineering View 之下,那是每一棵著色樹的分類(檢視一個步)。

/execution 上的選擇器,篩選框是空的,加工狀態已設為視覺指標:工程面向把 HiNC 的兩棵樹列在最前面,下面是專案的樹 Load check,以及任務腳本註冊的樹 Motion kind。圖上是十二道;圖表還畫第十三道熱應力超限,在負載未評估與正常切削之間(葉表)。
加工狀態的十三片葉¶
一步從清單頂端往下走,收下它的是第一片條件成立的葉。群組切削收下每一個碰到工件的步,只拿自己的九片葉去試它,所以切削的步到不了空切或快移。圖表的道上印的是縮寫;圖例、著色與這張表印的是葉的名稱:
| 葉 | 縮寫 | 收下一步的條件 | 色相 | 道內數值 |
|---|---|---|---|---|
| 碰撞 (1) | 碰撞 | 這一步有碰撞文字——CollisionText 有值 |
0° | — |
| 快移切料 (2) | 快移切料 | 這一步是切到料的快移——IsRapidCut 為是;只擦到撓曲切削留下那一層的快移算切削(怎麼讀「快移切料」) |
0° | — |
| 切削(群組 12) | — | 刀具碰到了工件——IsTouched 為是 |
— | — |
| 應力超限 (4) | 應力超限 | 應力比達 100 % 以上——StressRatio ≥ 1 |
28° | 應力比 |
| 主軸扭矩持續超載 (5) | 扭矩持續 | 這一步在一段超過主軸扭矩極限、超過 2 轉的連續步裡——SpindleTorqueOverloadRevolutions > 2 |
28° | 這一段的轉數 |
| 主軸功率持續超載 (13) | 功率持續 | 這一步在一段超過主軸功率極限、超過 2 轉的連續步裡——SpindlePowerOverloadRevolutions > 2 |
28° | 這一段的轉數 |
| 主軸扭矩短暫超載 (6) | 扭矩短暫 | 主軸最大扭矩比超過 100 %——MaxSpindleTorqueRatio > 1 |
50° | 主軸最大扭矩比 |
| 主軸功率短暫超載 (14) | 功率短暫 | 主軸最大功率比超過 100 %——MaxSpindlePowerRatio > 1 |
50° | 主軸最大功率比 |
| 主軸過熱 (7) | 主軸過熱 | 主軸工作溫度比達 100 % 以上,而且主軸最大功率比有值——SpindleWorkingTemperatureRatio ≥ 1、MaxSpindlePowerRatio 有值 |
50° | 主軸工作溫度比 |
| 負載未評估 (8) | 負載未評估 | 應力比、主軸最大扭矩比或主軸最大功率比沒有值 | 210° | — |
| 熱應力超限 (15) | 熱應力超限 | 熱應力比達 100 % 以上——ThermalStressRatio ≥ 1 |
80° | 熱應力比 |
| 正常切削 (9) | 正常切削 | 其他:其餘每一刀 | 120° | — |
| 空切 (10) | 空切 | 這一步不是快移——IsRapid 為否 |
180° | — |
| 快移 (11) | 快移 | 其他:什麼都沒碰到的快移 | 280° | — |
順序就是嚴重程度,所以一段落到的最上面那一道,就是它最糟的狀態:碰撞又切到料的快移算碰撞,切到料的快移先算快移切料,才輪得到切削,什麼都沒碰到的進給移動算空切。兩種危險都是純紅色,那是 HiNC 留給危險的顏色。碰撞要開著碰撞偵測——任務的碰撞偵測設定,或腳本裡的 EnableCollisionDetection——快移切料則是播放的快移切料檢查,也就是它以 Play-RapidCut--Detected 報出的那些行(怎麼讀「快移切料」)。門檻固定在內建樹上;要改其中一條,就把這棵樹複製成專案的樹(複製成專案的樹)。步屬性連同名稱印出葉的編號,4 · 應力超限,步檔案記的也是這個編號;沒有任何一片葉的編號是 3。編號、條件與色相在每種語言都一樣;名稱跟著應用程式的語言。
怎麼讀負載的葉¶
- 應力超限看刀具,接下來四片葉看主軸。應力比拿刀具臨界截面上的應力和材料的應力線相比(評估製程可加工性):未滿 100 % 依 HiNC 的判讀是安全的,達 100 % 以上就是不良加工。應力比達 100 % 以上的步,當下就是應力超限,不論多短,它那一道裡的數值就是這個比值。主軸超過扭矩或功率極限時,在機台上會轉慢,之後每一轉都吃更厚的切屑;HiNC 不模擬主軸轉慢——主軸照程式的轉速轉——所以用這段超載的長度代表它:超過扭矩極限的一段長過 2 轉算主軸扭矩持續超載,超過功率極限的算主軸功率持續超載,較短的段算主軸扭矩短暫超載或主軸功率短暫超載。
- 兩片持續超載算的是轉數,不是持續額定。它們讀的是
SpindleTorqueOverloadRevolutions與SpindlePowerOverloadRevolutions,也就是一段超過主軸扭矩極限、與一段超過主軸功率極限的連續步的轉數,和持續(S1 額定)的扭矩比與功率比——持續主軸扭矩比率ContinueSpindleTorqueRatio與持續主軸功率比率ContinueSpindlePowerRatio——無關,沒有任何一片葉讀它們。 - 主軸的葉說出成因。扭矩比拿一轉的峰值扭矩和主軸在這一步轉速下的扭矩極限相比,功率比拿這一轉的功率和那裡的功率極限相比。每一對葉讀它自己的比值與自己的段,每一片短暫超載顯示它自己的比值,所以一步落在哪一道,就說出它超過的是哪一個極限。順序是持續在短暫之前,同一類裡扭矩在功率之前:同時在兩種段裡、或同時超過兩個極限的步,落在第一片成立的葉,它的另一個比值與段仍可在步屬性裡讀到。應力比達 100 % 以上的步,早已是應力超限。
- 應力比讀哪一個強度。它拿刀具臨界截面上的應力,和材料檔給的一條線——應力線——相比:材料給了
YieldStrength_MPa就用它,那是兩個強度裡較保守的一個——像AlloySteel42CrMo這樣的延性鋼,也就是刀片式刀具的刀身(除非刀具另外指定材料),在 930 MPa 降伏——否則用TensileStrength_MPa。碳化鎢、陶瓷、CBN 與鍍層沒有降伏點,材料檔以<YieldStrength_MPa>NotDuctile</YieldStrength_MPa>註明,每一種出貨的刀具材料都這樣寫,淬硬的高速鋼也在內:它的線就是抗拉強度。只是不知道降伏強度的材料沒有這個元素,讀到的同樣是抗拉強度。FractureStrength_MPa,碳化鎢的橫向斷裂強度,不是任何比值的線:沒有一片葉讀它。 - 主軸的轉數是整段的。
SpindleTorqueOverloadRevolutions算的是一整段超過主軸扭矩極限的連續步,SpindlePowerOverloadRevolutions算一整段超過功率極限的,兩種段各算各的;一步在它的段結束後讀到整段的轉數——結束在一步回到那個極限或以下、或比值未知時,在快移時,或在播放結束時——還沒結束時讀到目前為止的轉數;停在步進點上的停止會讓最後一段一直開著,直到下一次播放開始或重置,停在單節之間的停止則當場收段(步階欄位參考)。所以一段長扭矩超載的頭幾步,在播放進行中是主軸扭矩短暫超載,這段結束時才變成主軸扭矩持續超載,圖表與 3D 畫布都一樣;功率超載的步也同樣在功率的兩片葉之間移動。 - 主軸過熱需要物理。物理關著時主軸溫度照樣演進,所以這片葉另外要求功率比有值,而功率比只在物理有算、而且有主軸能力時才有值:沒有它,主軸過熱的那一刀算負載未評估。
- 負載未評估絕不當成安全。三個比值中有一個沒有值,這一刀就落在這裡:物理沒開或在這一步沒跑、沒有載入主軸能力,或刀具的應力比無法評估。有值而且超過自己那條線的比值仍然先決定:應力比 1 以上是應力超限,主軸比值超過 1 是主軸的四片葉之一——熱應力比不然:熱應力超限排在負載未評估之後,所以這樣的切削顯示為負載未評估,它的熱應力比仍可在步屬性裡讀到。是三個原因中的哪一個,註記會說出來(怎麼讀註記)。
- 熱應力超限是扣分加工:損失的是刀具壽命,不是斷刀風險。熱應力比拿刀刃上的熱應力和刃部材料的應力線相比(刀刃熱塑性變形):達 100 % 以上,刀刃會產生塑性變形、磨耗加快,但不會當下斷掉——這是長期的判讀,和應力比不同。維持在 100 % 以下,刀具壽命明顯較長。這片葉排在其他負載的葉之後,所以同時超過某個極限、或負載沒有值的切削,顯示的是那片葉。許多一般的切削都會落進這片葉,這是它平常的樣子。進刀或出刀的切削,小厚度的切屑往往把熱量留在刀刃上,通常比較難降下來,不過一個案例看得出多少,要看熱模型算出的刃溫;在它們以外,這樣的切削可以優化,一般是手動改變轉速;HiNC 的 NC 優化只有在 NC 優化設定命令的力與安全節點上設了熱降伏安全係數時才壓這個比值(優化器,作為一個環節),而且是以每刃進給、在程式的轉速下壓(刀刃熱塑性變形)。物理沒有評估熱應力的地方——這一步物理沒開、刀具不是銑刀、銑刀的刃包絡形自相矛盾、刀具沒有刃部材料——熱應力比讀成 0,這片葉不收任何步。沒有刃部材料的一體式刀具連應力比也沒有,它的切削算負載未評估;沒有刃部材料的刀片式刀具只由其他葉判讀(已知限制)。
- 正常切削收下其餘每一刀,薄切屑與擦碰也算在內,除非它的熱應力比讓它成為熱應力超限:偶爾切得很少的一刀是正常的,沒有任何一片葉因為它切得少而示警。
加工狀態(不含物理)的五片葉¶
不含物理的這棵樹保留完整的樹的碰撞 (1)、快移切料 (2)、空切 (10) 與快移 (11),順序相同,縮寫也相同;群組切削的位置換成單獨一片葉切削(負載未評估) (8),210°,收下每一個碰到工件的步——IsTouched 為是——它在圖表上那一道標的是縮寫切削。它的名稱說出了它沒做的事:沒有物理,這棵樹就不判負載,所以超限的切削在這裡也只是切削。每一步的 IsRapid 不是是就是否,所以在兩棵樹裡,快移都收下上面各葉剩下的每一步;只有讀值失敗的步不落在任何葉(見已知限制)。
怎麼讀「快移切料」¶
專案的快移切料門檻是 0(預設值,RapidCutVolumeThreshold_mm3;幾何驗證)時,碰到素材的快移在兩棵樹裡都算快移切料。碰到料卻不算快移切料的快移算切削:在不含物理的樹裡是切削(負載未評估),在完整的樹裡是群組切削的一片葉,依它的負載判讀。例外如下:
- 它那一行報出之前。檢查把同一行 NC 上的快移步歸在一起,在後面接著進給步或另一行、或播放結束時報出那一行。在那之前,那一行上有接觸的快移步算切削,那一行報出後才改落快移切料。
- 門檻大於 0 時,快移步的去料量不到門檻的行不會報出,那一行上有接觸的快移步一直算切削:也就是警告不提的那幾行。
- 沿刀軸筆直往上的擦碰。在每轉進給或每刃進給運動解析度下,APT 刀具沿自己的刀軸筆直往上退時,只有伸進素材超過 0.001 mm 才算接觸:沿這種退刀路徑更淺的擦碰——程式的小數位數在刀具自己切出的壁上留下的那一點——快移時算快移,進給時算空切。這 0.001 mm 是引擎固定的深度,不是專案的門檻:
RapidCutVolumeThreshold_mm3設成多少,這樣的擦碰都不會變成快移切料。側向或往下的擦碰,以及固定運動解析度下的任何擦碰,都算接觸:快移時是快移切料(下一條的擦牆除外),進給時是切削。 - 快移擦過撓曲切削剛留下的牆。撓曲變換開著(
EnableDeflectionTransformation)時,一刀切出的牆會離程式上的牆一個刀具撓曲;負載一消失,後面的快移步就站回程式位置、伸進那一層,就像真的刀具彈回、擦過自己剛切的牆。在每轉進給或每刃進給運動解析度下、用 APT 刀具時,緊接在這種切削之後的快移步,若接觸不深於前一步被移動的刀尖撓曲再加 0.001 mm,會把那一層切掉,也算接觸(IsTouched為是),但快移切料檢查不算它:它不加進任何Play-RapidCut--Detected的行;那一行若沒有別的接觸,就不發警告、IsRapidCut為否,這一步算切削——在完整的樹裡是群組切削的一片葉(例如正常切削),在不含物理的樹裡是切削(負載未評估)。伸得更深、真的撞進素材的快移照樣是快移切料。換刀後的第一步沒有這個容許量,固定運動解析度與沒有解析式外形的刀具也沒有這個例外。 - 主軸還沒轉過之前的快移插料。還沒有任何一步帶著主軸轉速跑過之前,快移插進素材的那一步,在碰撞偵測開著時歸碰撞偵測管:算碰撞,不在任何快移切料的行裡。碰撞偵測關著時,快移切料檢查會把它算進去,它就算快移切料。碰撞偵測開著、卻沒有碰撞偵測的授權時,它兩者都不是:偵測什麼都找不到,快移切料檢查又把這一步留給偵測,所以它算切削;主軸沒在轉,物理也不判它——在兩棵樹裡都是葉 8。
怎麼讀註記¶
圖表畫著內建樹時,它的著色下拉選單會在顯示範圍內之下,說明這些葉表達不出來、關於它所著色的步的事——每則一行,前面一個資訊圖示,依下列順序。兩棵樹都有前三則:
- 碰撞偵測沒開——每一步都沒開、它點名的那些步沒開(
0–1203,最多列出前八段,再說另外還有幾段),或碰撞偵測切換超過 4,096 次時其中有些步沒開:在那些步上,不論有沒有撞,碰撞都是空的。 - 開著碰撞偵測,但沒有碰撞偵測的授權——每一步、它點名的那些步,或碰撞偵測在有結果與沒有結果之間切換超過 4,096 次時其中的一部分:那些步上什麼都沒偵測到,不論有沒有撞,碰撞都是空的。沒有可供偵測的加工鏈的播放也一樣,這一則會說明。
- 這些步來自 CSV 程式——全部、它點名的那些步,或程式種類切換超過 4,096 次時其中的一部分。CSV 程式沒有快移:它的步不會是快移或快移切料,沒碰到料的移動算空切,碰到料的算切削。碰撞那兩則對 CSV 程式與 NC 程式一樣成立。
加工狀態另外有三則,關於負載:
- 沒開物理模擬——每一步、它點名的那些步,或物理模擬切換超過 4,096 次時其中的一部分:那些步上不判負載,切削算負載未評估。
- 主軸能力:主軸扭矩/功率比與主軸溫度所依據的主軸能力,寫出名稱與來源——取自檔案(寫出檔名),或內嵌在專案裡——並提醒對照實機的特性曲線確認。物理開過、而且有一刀得到物理結果之後,這一則就會出現。沒有載入主軸能力時——專案指定的主軸能力檔讀不到——這一則改為說明這件事:主軸扭矩/功率比與主軸溫度都不評估,切削算負載未評估,除非它的應力比先讓它成為應力超限。
- 在任何接觸步上都無法評估應力比的刀具,依刀號列出——
T3、T7——原因是刀具不是銑刀、樑材料沒有設定或強度未知,或樑幾何在刀尖區之外沒有截面:它們的切削算負載未評估,除非先被主軸的葉收下。它們就是播放的Play-StressRatio--None警告點名的那些刀。
回顧時(記錄播放並回顧它),每棵樹只有一則,沒有其他註記——正在回顧錄下的播放,依樹而有不同的寫法:
- 在加工狀態(不含物理)裡:沒有記下當時碰撞偵測開沒開,也不判快移切料,所以碰到料的快移算切削(負載未評估)。
- 在加工狀態裡:同樣如此,碰到料的快移當成切削,依錄下的負載分類,是群組切削的一片葉;而且錄下的主軸扭矩與主軸功率超載段沒有重新摺疊,所以它們的轉數讀成 0,主軸扭矩持續超載與主軸功率持續超載一律不判。應力超限與熱應力超限直接讀錄下的應力比與熱應力比,照常判。
兩棵樹裡,記錄留下的碰撞都落在碰撞。
註記涵蓋的是上次重置以來的步,不是一次播放。開始不會重置(停止之後再開始),所以一次執行停止、切換、再開始之後,兩者都在同一條步序列上:沒開碰撞偵測播了一段、停止、打開碰撞偵測、再開始,那一則就會點名切換之前播過的步。重置把紀錄連同步一起清掉。同一支程式再播一次,或任務的下一支程式,都接著記在同一份紀錄裡;在最後一步之後才切換,則什麼都不會多記,因為沒有任何一步是在新的設定下建成的。物理那一則同樣跟著任務的物理模擬命令或腳本裡的 EnablePhysics 走。
在程式裡切換,從它之後建成的下一步起算:像 G01 X25. F800 (@@EnableCollisionDetection=false;) 這樣的 NC 內嵌命令,@@ 在這個單節的運動之前執行,涵蓋這個單節的步以及之後的步(腳本命令)。把它放在要改變的那一行運動上;放在程式最後一個運動之後,就什麼都不會改變。

/execution 上的圖表,播放時物理開著,任務的碰撞偵測命令把啟用碰撞偵測取消勾選,那一列讀作 碰撞偵測 [關]:下拉選單說明碰撞偵測沒開,碰撞那一道也是空的;第二則註記寫出主軸各比值與主軸溫度所對照的主軸能力,也就是內嵌在專案裡的那一份。若只是取消勾選那一列命令,只會跳過這個命令:碰撞偵測維持專案的設定,在這個專案裡是開著的,也就不會出現第一則註記。圖上是十二道,下拉選單的表格也是十二列;圖表與下拉選單還有第十三片葉熱應力超限,在負載未評估與正常切削之間(葉表)。
物理選項隱藏時¶
偏好設定 › 顯示物理選項關著,或沒有物理授權時,介面會隱藏物理,加工狀態也跟著隱藏:
- 屬性選擇器與步顯示偏好設定對話框不列出它,加工狀態(不含物理)是它們唯一的內建樹。步著色根節點仍列出兩棵,設為視覺指標對任一棵都有效;完整的樹在物理上的條件項,在那裡標著物理已隱藏,和專案的樹一樣,複製出來的副本在編輯器裡也是這樣。
- 視覺指標是加工狀態時,視覺指標時序圖改畫加工狀態(不含物理)——它的五道,顏色是完整的樹給同一片葉的顏色——選擇器也把那棵樹顯示為目前選取的屬性。視覺指標本身仍是加工狀態,物理選項重新顯示後,圖表就畫回它。
- 3D 畫布繼續依加工狀態著色。有物理授權、只是把物理選項隱藏時,物理照樣在跑,圖表上顯示為切削(負載未評估)的一刀,在畫布上可能是應力超限;沒有授權時物理不跑,兩邊一致。
- 著色下拉選單顯示加工狀態,也就是 3D 畫布所依的樹:它的十三片葉、它們的顏色與它的註記,每次打開下拉選單時重新讀取。它的步數與時間占比是圖表的,逐葉對應:每一刀都算在負載未評估之下,不含物理的樹沒有的八片葉顯示 0。
複製成專案的樹¶
複製成專案的樹…——在步著色根節點面板上一棵樹的那一列,或在圖表的著色下拉選單裡——會打開複製成專案的樹對話框。它的鍵一開始是這棵樹的鍵加上 Copy,也就是 MachiningStateCopy 或 MachiningStateGeometryCopy,被占用時改成 …Copy2,依此類推,檢查方式和新增一棵樹的鍵一樣(新增一棵樹);名稱一開始是內建樹的名稱加上(副本),用應用程式的語言。按複製,副本就加在專案的樹的最後,並打開它的面板。
副本是專案自己的樹,對話框也這樣說明:隨專案存檔、可以修改——一條門檻、那兩轉、一片你自己的葉——HiNC 之後的版本不會改它。它保留內建樹的節點編號(群組的也在內)、條件與色相;它的名稱是對話框裡的名稱,各葉的名稱與縮寫是應用程式當時的語言,從此都是你自己的文字。副本沒有註記:註記是內建樹的,專案的樹沒有註記。加工狀態的副本本身不是物理屬性:物理選項隱藏時,選擇器照樣列出它、圖表照樣畫它,它在物理上的條件項標著物理已隱藏,照樣讀值(寫條件)。複製不會動到視覺指標;要依副本替執行著色,就在它的面板上把它設為視覺指標。

/execution?tree=execution/step-colors 上的分支,加工狀態已設為視覺指標並展開,專案就是上面選擇器那張圖的專案;圖的下緣之外,面板還接著「播放中註冊」組。圖上是十二片葉與十二個色塊;面板上還有第十三片葉熱應力超限,在群組切削裡排在負載未評估與正常切削之間,它的色塊是那一列的第十個,黃綠色(葉表)。
透過 HTTP API 與腳本¶
這兩棵樹和其他步屬性一樣,在它們的鍵 MachiningState 與 MachiningStateGeometry 之下:視覺指標時序圖、3D 顏色、步屬性與步檔案讀它們的方式,和讀專案的樹一樣。
- 路由。
GET api/execution/step-color-trees把兩棵都列在builtInTrees之下,MachiningState在前,帶著origin: "builtIn"與readOnly: true;在任一個鍵下PUT或DELETE,回應409StepColorTreeBuiltIn;POST api/execution/step-color-trees/{key}/copy複製其中一棵,本體{ "newKey", "name" }可省;以任一個鍵試算,和任何已註冊的樹一樣。時序圖的colorTree與色彩指引的tree以{ code, message, args }帶著註記;不含物理的樹代替完整的樹回答時,圖表的colorTree.standsInFor是MachiningState。形狀見透過 HTTP 操作著色樹(英文,未鏡像)。 - 這兩個鍵是保留的。
MachiningState與MachiningStateGeometry和內建步屬性的鍵一樣被占用:步變數、著色樹、腳本的RegisterStepVariable或RegisterStepColorTree,以及 CSV 或映射的欄,用了其中之一都會被拒絕或略過。手改的專案檔若在其中之一下放了一棵樹或一個步變數,會照原樣讀進來、照原樣存回去,列為內建屬性的鍵,永遠不會註冊;這樣的樹可以改名搬走或刪除,但不能在原鍵下取代。 - 開著專案播放時,步檔案每棵樹各有一欄:
MachiningState記著每一步的葉編號 1、2、4、5、6、7、8、9、10、11、13、14 或 15,MachiningStateGeometry記 1、2、8、10 或 11,每種語言都一樣(步階欄位參考)。引擎的訊息以鍵稱呼一棵樹,[MachiningState];3D 畫布只顯示各葉的顏色:不畫色階尺,也沒有圖例。
已知限制¶
-
引擎已知的讀值缺陷,照它讀到的值替一步著色。負載的葉照單全收力與比值。案例裡看到過這些:
- 殘料刀迎面切進角落——槽的盡頭、內角——或整段刃長貼著薄層走時,力與去料量讀成實際的 2 到 7 倍:角落或薄壁那裡的應力超限或主軸超載值得懷疑。
- 繞對角線轉 120° 擺放的零件——立在虎鉗上的側板,刀軸沿零件的 X——鑽孔與圓弧銑讀不到任何力:那些切削不論多吃力都算綠色的正常切削,找不到接觸的那一刀算空切。
- 這棵樹不用、但副本可能用到的兩個讀值:球刀沿坡上下走時,材料移除率(
Mrr_mm3ds)讀成 8 到 19 倍;窄槽裡的切深(CuttingDepth_mm)讀成每層的兩倍;兩者的力都是對的。
-
移動很短的一步,主軸比值可能遠超過極限。一支粗加工程式裡,之字形斜坡折返後的第一步只移動 0.011 mm,功率比讀到 2.67,扭矩比 0.97:正常切削之間孤零零的一步主軸功率短暫超載。先看那一步的移動距離、嚙合與前後的步,再判斷是不是超載;HiNC 不會把這種步濾掉。
- 開關開著、物理卻沒有算的切削沒有比值,所以算負載未評估,而且沒有任何註記說明原因——物理那一則只看開關,刀具那一則只點名物理有跑過的刀具。沒有物理授權、用的是物理不會跑的刀具(例如不是銑刀的刀具),以及主軸停著時,都是這樣。播放中沒有任何一刀得到物理結果時,
Play-Physics--None會發出警告,例如主軸從沒轉過。 - 物理沒有評估的熱應力讀成 0,而且沒有任何註記說明:這一步播放時物理關著、刀具不是銑刀、銑刀的刃包絡形自相矛盾、刀具沒有刃部材料,以及換刀後熱模型一直跑不起來(輸入缺漏或模型無法使用)的步,熱應力比都是 0。這樣的切削絕不會落進熱應力超限,只由其他葉判讀。沒有刃部材料的一體式刀具連應力比也沒有,算負載未評估;沒有刃部材料的刀片式刀具,應力比是從刀身讀的——除非刀具另外指定材料,刀身是
AlloySteel42CrMo——所以不論刀刃受了多少熱,它的切削都可能是正常切削。請在刀具的材料節點上設定刃部材料(銑刀)。 - 占位的主軸。從沒設定過主軸能力的專案,帶的是 HiNC 的預設,名稱
TMV-720A-STD-8000RPM,存在專案本身;主軸那一則把它寫成專案自己的,沒有任何東西能把它和刻意選的區分開。請設定你機台的主軸能力(主軸能力)。 - 舊的刀具材料副本。專案為它載入的每一種刀具材料各保留一份副本;之後的 HiNC 出貨的材料若換了強度值,副本仍留著舊值,應力比也照舊值算。在刀具的材料節點上重新載入出貨的材料,就能取得目前的值(銑刀),之後要重新計算或重播:在那之前,步留著播放時的應力比,就地修改材料也一樣。
- 換刀自己建一步,在它是步序列的第一步時:這一步的長度是換刀時間,讀當時的模態快移狀態,落在空切或快移;刀具碰到料時算切削。沒有任何欄位能把它和前後的移動分開。程式中途的
M06不自成一步,撓曲變換開著(EnableDeflectionTransformation,預設關)時也一樣:撓曲變換把每一步的掃掠移過上一步最大的力讓刀具彎出的刀尖撓曲,所以工件與幾何差異都帶著讓刀,刀具路徑、這一步的進給與每刃進給仍是程式值。換成另一把刀之後的第一步,掃掠不移動:新刀一開始沒有撓曲,不帶前一把刀的撓曲。 - CSV 程式沒有快移,所以它的步只有空切或切削;回顧錄下的播放既不判快移切料,也不判主軸扭矩與主軸功率的持續超載:它們的註記會說明,也只說到這裡。
- 打開了碰撞偵測、卻沒有碰撞偵測的授權時,什麼都偵測不到,開著碰撞偵測,但沒有碰撞偵測的授權那一則註記會說明——沒有可供偵測的加工鏈的播放也落在同一則。這時主軸還沒轉過之前的快移插料算切削,既不是碰撞,也不是快移切料(怎麼讀「快移切料」)。
- 讀值失敗的步不落在任何葉,工作階段為這棵樹提示一次(
StepColorTree-Evaluate--Faulted)。 - 較早版本的 HiNC 打開以內建樹為視覺指標存檔的專案時,不認得這個鍵:它的播放結束時會出
Play-InspectingKey--Unresolved警告。 - 科學面向裡的三個超限轉數屬性——主軸扭矩連續超載轉數、主軸功率連續超載轉數與應力連續超限轉數——色彩範圍一開始是 0 到 10 轉,其他數值一開始是 0 到 1;專案已經替其中之一存過範圍的,就照存的用,0 到 1 也一樣:請在著色裡設定。
延伸閱讀¶
- 步著色 — 著色樹、把內建樹列在最前面的步著色根節點,以及副本打開的面板
- 觀看執行 — 視覺指標時序圖、它的兩組屬性與它的著色下拉選單
- 透過 HTTP 操作著色樹(英文,未鏡像) — 透過 HTTP API 操作內建樹:清單、複製、唯讀的回應、物理隱藏時的代替與註記
- 步著色分支(英文,未鏡像) — 根節點的面板怎麼列出內建樹、怎麼複製一棵
- 伺服器怎麼回答內建樹、它們的註記從哪裡來,見 HiAPI 文件網站英文版的 Anatomy › Execution Page › Step Colors REST