工作流程:幾何驗證¶
本工作流程說明仿真後的加工幾何驗證工具,包含碰撞檢測、幾何差異比對、缺陷掃描與離料移除。
flowchart TD
Simulate["執行仿真"]
Collision["碰撞檢測"]
Diff["幾何差異比對"]
Defect["幾何缺陷掃描"]
FlyPiece["離料移除"]
Simulate --> Collision
Simulate --> Diff
Simulate --> Defect
Simulate --> FlyPiece
1. 碰撞檢測¶
碰撞檢測在仿真期間監測刀具、刀把或主軸是否與工件、夾具或工具機相撞。需在執行仿真之前啟用。
腳本命令¶
| 屬性 | 說明 |
|---|---|
EnableCollisionDetection |
啟用仿真期間的碰撞檢查 |
EnablePauseOnCollision |
發生碰撞時暫停執行 |
與失敗暫停結合¶
EnablePauseOnFailure 提供更廣泛的失敗暫停機制:
GUI 操作¶
於主選項面板中,仿真前啟用碰撞檢測。
Tip
碰撞檢測會增加運算負擔。探索性仿真重視速度時可停用,最終驗證時再啟用。
2. 幾何差異比對¶
Diff 命令將仿真後的工件形狀與目標(設計)形狀比對,找出過切與欠切區域。
腳本命令¶
檢測半徑 為目標形狀的表面延伸距離。超過此距離的偏差不予計算。值越大耗時越久。
結果判讀¶
比對完成後,工件表面以顏色標示:
- 綠色:在公差範圍內
- 紅色(正向):超過門檻的過切
- 藍色(正向):超過門檻的欠切
Note
執行 Diff 後,工件表面的路徑索引會 失效。若需檢視個別步路徑,請先做完路徑檢視再呼叫 Diff。
案例:往復斜面干涉¶
CAM 產生的 NC 碼可能含有非經幾何比對難以察覺的細微錯誤。透過 Diff 常見發現:
| 議題 | 說明 |
|---|---|
| 直角壁面欠切 | 目標幾何有銳角時,壁面附近欠切 |
| Z 軸下刀不一致 | 往復下刀區段 Z 值不一致造成過切 |
| 半徑空間不足 | 往復邊緣刀具未退出半徑距離造成欠切 |
| 條紋狀欠切 | 往復路徑間距過大造成的條紋狀欠切 |
Tip
沒有軟體比對的話,這些問題往往要實際加工後才能發現,對精密製造影響甚大。
3. 幾何缺陷掃描¶
幾何缺陷掃描有助於除錯異常的工件或刀具幾何。通常只在懷疑幾何建構有問題時使用。
ScanRuntimeGeomInfDefect¶
ScanRuntimeGeomInfDefect 在運行時幾何中掃描無限邊切削缺陷。掃描後缺陷區會以彩色標記呈現。
回傳值:
true— 偵測到缺陷false— 無缺陷null— 無法執行(如工件不存在)
流程:仿真前掃描¶
ScanRuntimeGeomInfDefect();
Pause(); // 視覺檢視缺陷
ClearDefectDisplayee(); // 清除標記
PlayNcFile("NC/file1.nc");
ClearDefectDisplayee¶
ClearDefectDisplayee 移除工件上的缺陷標記:
Note
工件重新載入或運行時幾何重置時,缺陷標記會自動清除。工件初始化時若偵測到建構缺陷,標記會自動顯示。
4. 離料移除¶
五軸切削中,可能會出現未連接的小塊殘料(「離料」)。使用 RemoveFlyPiece 清除。
腳本命令¶
Tip
在仿真後、幾何輸出(WriteRuntimeGeomToStl)之前執行 RemoveFlyPiece,可產生乾淨的輸出。
綜合驗證腳本範例¶
// 啟用碰撞檢測並執行仿真
EnableCollisionDetection = true;
EnablePauseOnCollision = false;
EnablePhysics = true;
MachiningResolution_mm = 0.125;
PlayNcFile("NC/file1.nc");
// 移除離料
RemoveFlyPiece();
// 與目標幾何比對(1 mm 檢測半徑)
Diff(1);
// 掃描幾何缺陷
var hasDefects = ScanRuntimeGeomInfDefect();
if (hasDefects == true)
{
WarningMessage("Geometry defects detected");
}
// 匯出最終幾何
WriteRuntimeGeomToStl("Output/final.stl");
WriteStepFiles("Output/[NcName].step.csv");
延伸閱讀¶
- 基礎仿真 — 基礎仿真設置