”CNC2PUW” CNCソフトを作り始めました。ブログに途中経過を書いているのですがエディターが使い難い為こちらへもアップしました。
先は長いのですがフリーベースの国産のCNCソフトやハードが無い為、小さな試金石です。パソコン側はファイル読込み表示、シュミレート、手動操作など
接続は RS232C, USB, Bluetooth を使用するシリアル接続です。基板側はAVR, PIC、ARMを使用してC言語を使用予定です。Arduino基板も使える様にしたいです。  壮大な目標に比べて 還暦杉の体力と頭脳なのでどこまで出来るか ・・・??? (^^);

 まず、パソコン側のソフトです。使用しているソフトはHSP3です。作者の”おにたま”さんのコンセプトが素晴らしい。スクリプト言語です。
今時の言語はやたら長い関数名や変数名を使うので非ブラインドタッチ派はつらいです。プログラミングが面白く有りません。
HSP3は解説やサンプルプログラムも多く、webの情報も多いので困った時はすぐに頼ってしまいます。プログラムに興味の有る方ぜひ、お勧めです。


プログラムの説明 左側はNCVCに有るDXFやJW-CADから変換された加工用のGコードです。勝手に借りて来ました。
1行毎に読み出してX,Y,Z軸の位置データに変換してそのデータを元に3D画面に加工軌跡を表示しています。


赤い矢印は3DスクリーンのX軸とY軸の方向を指しています。近くにある数値はそれぞれのデータです。Z軸も有りますが俯瞰で見ている為見えません。
コード表示の下のウインドウはINDEXで取出した1行データです。今はTRACEボタンで無条件で1000行解析してしまうのでこんな表示に成っています。
その下のウインドウは先頭からGコードorMコード表示、X軸データ、Y軸データ、Z軸データの順番です。まだ、Gコード、Mコードの解析部分は有りません。
一番下はコマンドボタンが並んでいます。
[LOAD]はファイル読込み、
[SAVE]はファイルの保存です。コードの表示部分はそのままテキストエディターに成っているので自由に編集可能です。
[END]はプログラム終了
[TOP]は1行読込み位置を指示するINDEXポインターを先頭にする
[LINE]は1行毎の解析して3D画面に表示
[TRACE]は1000行まとめて解析して3D画面に表示
[CLR]は画面消去です。


この画像は3D画面をカメラの視点をキーボードの矢印キーとページアップ、ページダウンで操作したものです。
工具が上空に移動してから次の位置に移動しているのが良く判ります。 色が見難いですが上空部分は青色です。


プログラムの先頭部分です。スクリプト言語なので構文がシンプルです。
水色の部分はHSP3のコマンドなので[F1]キー一つでコマンドの解説や、使用するサンプルプログラムが有ります。すぐに別ウインドウで動作確認が出来ます。
HSP3.3 の紹介サイト http://hsp.tv/make/hsp3.html


この部分は少し苦労した所です。1行読込んだ文字列をX軸、Y軸、Z軸ごとに数字の位置データを取り込んでいます。
データが可変長で少数点や前のデータが同じ時は省略されているので、その補完をしています。


XYX軸の位置データを7segLED風に表示。少数点がいまいちです。
「START」ボタンでゆっくり工具の軌跡を表示します。「STOP」で表示をその場停止。工具軌跡のシュミレーションです。
表示画面には無いのですが、キーボードの矢印キーとPgUp,PgDnキーを操作してX,Y,Z軸の3Dの表示のカメラ視点変更がリアルタイムで可能です。
 また、「スペース」を押した時に3D表示操作とJOG操作の切替が可能です。
JOG操作はキーボードの矢印キーとPgUp,PgDnキーを操作してX,Y,Z軸の軌跡を描く事も出来ます。
(将来に基板側が出来た時のJOG操作対応)


7segLED風表示部分のHSP3の追加部分です。HSP3のサンプルプログラムのおかげで思ったより簡単に表示出来ました。作者に感謝です。
工具の軌跡はHSP3のd3linetoと言う命令を使用しています。その為Gコードの色々な命令は無視しています。
全て工具軌跡は G01直線補間命令(3軸対応)相当に成ります。

もう少し造り込めば取り合えずプロトタイプは取り合えず完成です。
不具合も多いと思いますがテストの為にHSP3の実行ファイルの提供を出来る様にしたいと思っています。
いろいろなファイルで描画して見たいし、ハングアップ、操作の不備などを発見して改良したい為です。
このホームページでは実行ファイルはアップ出来ませんので興味の有る方は掲示版かメールで連絡下さい。
メール添付で送ります。

お願いです。くれぐれもPUW2のモチベーションが下がる様な発言は厳禁でお願いします。

途中経過の備忘碌
思った以上にプログラムのパソコン側の作成は進んでいます。ラッキー!!


 プログラム作成中の備忘碌


NCコードを探している時にGsimpleに辿り着きサンプルを読み込んで見ました。
舞鶴高専のデータよりXYの座標グリッドを大きくしたのですがまだ、はみ出ています。
カメラの視点移動、JOGの移動速度、自動で描画速度をボタンで変更出来る様に追加
ラインナンバーの追加有りなしチェックボックス追加
GSINPLEは円弧補間命令を使用しているので枠の円弧部分が描けていません。

書きかけ中(^^);