カスタムメイドのCNCマシンのパスを生成するためのアプリケーションに取り組んでいます。これは G コードをサポートしない PLC コントローラに基づいているため、パス全体をコマンドのリストとして定義する必要があります。
ポケット加工のツールパスの定義に問題があります。入力として、さまざまな種類の形状を含む DXF ファイルを使用します。各形状は異なるレイヤーにあり、LINE、ARC などの単純な要素で構成されています。必要なのは、これらの単純な要素を閉じた輪郭として分析し、この輪郭内の材料全体をフライス加工するためのツールパスを生成することです。形状を定義できるライブラリまたは単純なアルゴリズム (この場合は DXF データに基づく) を知っていますか? lib/アルゴリズムはツールの直径を考慮してツールパス全体を生成しますか?
円や長方形などの単純な形状の場合、そのようなツールパスを手動で生成できますが、形状がより複雑な場合 (たとえば、以下のように)、その方法のアイデアが不足しています。
ネット上にはフリーウェアのCAMソフトがたくさんあり、どれもGコード形式でツールパスを生成するので、そのようなアルゴリズムが何らかの形で実装されていると思います。そんなCAMソフトを使おうと思ったのですが、Gコード出力が使えない上に、GUIも必要ありません。それらのほとんどは高水準言語でも書かれていますが、私は node.js で実行される JavaScript でアプリを書いています。