HeeksCNCのNCデータ変換フライス盤自作CNC化フリーのCNC用ソフトウェアHeeksCNCのNCデータを内部コードに変換するgcode2zcamプログラムを作成する2014年5月11日HeeksCNCの使い方もだいたい分かってきたので、ガレージのCNCの内部コードに変換するgcode2zcamプログラムを作成しました。変換部の処理は下記のように単純でGコードで使われるアルファベットX,Y,Z,Fなどを探して、次のアルファベットまでの間の文字を数値に変換するだけです。以前に作成したdxf2zcamの処理と同様にバックラッシュを補正して内部コードに変換し、同時にgnuplot用のプロットデータを生成します。IS_X;break;////その他、Y,Z,Fなど他のパラメータの変換//}}HeeksCNCの使い方1で作成したデータで切削してみます。HeeksCNCの使い方1で作成してた2つの球で凹んでいる直方体です。このページは図をクリックすると大きい図が表示されます。gcode2zcamでデータ変換して3mmのエンドミルで2x4材に切削したところ。これは正常に切削できました。次はHeeksCNCの使い方3で作成したWEB上のSTLデータです。HeeksCNCの使い方3の最後に作成したNCデータをよく見ると、周囲全体が-17mmまでパスが通っていないことがわかります。これは外枠の"Sketch"が小さいためです。外枠の"Sketch"をもう一回り大きく変更、また、高さ17mmのSTLデータを深さ17mmでボールエンドミルで切削しても外周がちゃんと削れません。Z"を-20に設定します。depth"も-20に設定します。このパラメータでNCデータを作成します。確認すると、STLデータを突き抜けているデータがありました。このまま切削すると、せっかく作っているものに穴が開きます。NCデータをエディタで確認します。下記の赤で囲った部分が該当するデータで、各ステップダウン毎にありました。複雑な形だと分かりにくいので、直方体に半球がついた簡単な3Dデータで確認します。赤枠の直線が3Dデータの内部まで達しています。ポケット切削のパラメータを確認します。down"のパラメータが関係していことが分かっています。space"の意味が、いまいちわかりませんが、選択すると以下のような絵がでてきます。0.18.0ではフリーハンドですが、1.0はきれいな絵になっています(笑)。ちなみに半球部の高さは10mmです。space=0の場合。半球の頂点から下に7.5mm伸びています。space=7.5の場合。半球の頂点から上に7.5mm伸びています。これは無駄なパスですが、切削自体は問題ないです。space=0の場合。半球の頂点から下に5mm伸びています。space=5の場合。半球の頂点から上に5mm伸びています。これは無駄なパスですが、切削自体は問題ないです。downまでの長さ(深さ10で2.5の時7.5、5の時5)のパスが生成されるということのようです。spaceの値を大きくして上側に延ばせばとりあえずはいいことになります。NCデータを直接エディットして削除するということもできますが〜次回はF86を切削してみたいと思います。上記で作成したF86のデータの無用データをエディタで直接削除して、スタイロフォームに切削してみました。昼間は塗装でコンプレッサを使っていたので、夕方から開始して、3時間17分かかりました(笑)。約9600本の直線に変換されていて、小さいわりに時間がかかります。<<まとめ>>・外枠のSketchエンドミル直径を考慮して、パスが下部の外周に達するような大きさで作る。SketchのZ軸の値はどんな値でも影響しない。(HeeksCNCの使い方1でZ=0にSketchを描いていますが、Z軸の値はどこでも影響しません)・切削深さボールエンドミルを使う時は下部の外周が切り込み不足にならないよう注意する。・無用データパラメータの設定の問題か?無用データが生成される。凸部を切削する時は切削物に切り込む場合がある。