作成されたデータは、部品実装面から見たデータです。これを、削りだすに は反転の必要があり、さらに他にも細かい調整が必要です。CAMソフトがあれば 簡単にできるのですが、わたしはCAMソフトをもっていません。 そこで、Perlをつかって、G-CODEの反転、原点の変更、単位の変換、送り速 度、切り込み深さなどの変換しています。 >ULPを修正すればいいのですが、元のulpの著作権がどうなっているかわから ないため、別プログラムにしました。それと、いろんな変換(ツールパスのソー ティングなど)をしたいと思っていますが、ulpで書くよりperlで書いた方 が早いので。
このPerlスクリプトを公開しようと思っていますが、現在大幅に改造中で、 いつになったら公開できるかわからない状況です。そこで、perlを使ってお手軽 に変換できる簡易機能版perlスクリプトを公開します。
この、簡易版perlスクリプトは、以下を行います。
半田面(基盤の裏側)から見たデータに変更します。
ulpが出力するG-CODEは、インチ単位系で出力されています。mach1で は問題ないのですが、NCVCが対応していないので、ミリ単位系に変換しま す。
ulpは、送り速度さを変更することができません。任意の値に変更でき るようにしています。
スクリプトは、たいしたことをしていない、非常に簡単なスクリプトです。 このスクリプトは、eagleから出力されたG-CODEのみで確認しています。汎用に は使えないと思います。
perlのスクリプトファイルを作るのではなく、Windowsのバッチファイルとして perlを(-p -eオプションで)直接呼び出すようにしています。 以下の"@"から始まる一行を、コピー&ペーストし、二つのバッチファイルを作ってください。
ncdmirror.bat (ドリルデータの変換用バッチファイル)
@perl -p -e "s/X([\-\+\.\d]+)/sprintf(\"X%%4.4f\",(%1+($1)))/ge;s/Y([\-\+\.\d]+)/sprintf(\"Y%%4.4f\",(%2-$1))/ge;s/Z([\-\+\.\d]+)/sprintf(\"Z%% 4.4f\",($1+0.0))/ge;"
inch2mm.bat (アウトライン切削データの変換用バッチファイル)
@perl -p -e "s/X([\-\+\.\d]+)/sprintf(\"X%%4.4f\",(%1+($1)*25.4))/ge;s/Y([\-\+\.\d]+)/sprintf(\"Y%%4.4f\",(%2-$1*25.4))/ge;s/Z([\-\+\.\d]+)/sprintf(\"Z%%4.4f\",($1+0.0)*25.4)/ge;s/F1\s*$/F%3\n/;s/F10\s*$/F%4\n/;s/G20//;"
メモ帳を開き、上記の"@"から始まる一行を、コピー&ペーストします。次にこ れを、それぞれ"ncdmirror.bat"、"inch2mm.bat"という名前でPATHの通ったディ レクトリに保存します。このとき、「ファイルの種類」を「すべてのファイル」 にしてください。
注:PATHの通ったディレクトリとは、環境変数「PATH」に列挙されているディ レクトリのことです。Windows TIPS -- HINT: 環境変数を変更するを参照し、バッチファイルの保存先にPATHに、バッチファ イルの保存先を追加してください。例えば、PATHの変数値が 「C:\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;」となっていて、保存先が 「C:\CNC」の場合、 「C:\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;c:\CNC」としてくだ さい。
コマンドプロンプトを開き、ドリルデータを出力したディレクトリ(通常は Eagleのプロジェクトディレクトリ)に移動し、以下のように入力します。
ncdmirror.bat 0.5 70.0 <dcsupply-1.ncd >bot1.ncd
各々の意味は、以下のとおりです。
パラメータをいろいろ変更してみて、NCVCで参照すると、何が起こっているか わかると思います。
以下のように入力します。
inch2mm.bat 0.5 70.0 25 250 <dcsupply-1_bot.ncd >bot2.ncd
各々の意味は、以下のとおりです。
ここでは、プリント基板を、目的の大きさに切り出すためのG-CODEを生成する Perlスクリプトを紹介します。
ここからダウンロードし、 「boardOutline.pl」という名前で、パスの通ったディレクトリに保存してく ださい。 使い方は、以下の通りです
boardOutline.pl --xstart=0 --ystart=0 --xend=80 --yend=70 --depth=1.60 --diag=1.0 >bot3.ncd
そのほかのパラメータもあります。詳しくは、ソースを見てください。
set FILEHEAD=Controller
call ncdmirror.bat 0.0 65 <%FILEHEAD%.ncd >bot1.ncd
call inch2mm.bat 0.0 65 25 250 <%FILEHEAD%_bot.ncd >bot2.ncd
boardOutline.pl --xstart=0 --ystart=0 --xend=80 --yend=65 >bot3.ncd