ミッツの回路基板拙作機を、なんとかして使う方法

ミッツの回路基板拙作機 FP-7A は、 機械はこの分野においては入手しやすいものの (値段は120万円もするけれど)、 専用CAD FLASH for WIN の設計製図関連の出来栄えが悪く アップデートやバグ修正やサポートが有料 (1回あたり4万7千円もしくは9万8千円)です。

しかも、専用CAD には、 1ライセンス料金につきハードウェアキー1個が付属していますが、 専用CAD での設計と、基板切削の実行とで、排他使用になる為、 誰かが設計中は切削ができないし、誰かが切削中は設計ができません。 それでいて、 バグだらけだの、よくクラッシュしてデータが消えるだの、 操作性悪いだの、機能が不完全だの、 ミッツの専用CAD で設計なんぞ、とてもできたものではありませんし、 敢えてやると、時間を食うので、順番待ちの人にひんしゅくをかいます。

順当に考えると、他の出来の良い基板CAD を使って設計して ガーバデータで出力し、 ミッツの専用CAD で読み込んでやろう、と考えるのですが……、 ミッツの専用CAD は RS-274X ガーバ 非対応で、 RS-274D ガーバ の読み込みもかなり怪しい動作をします。

そこで、 なんとかしてミッツの専用CAD に 他の CAD で作成したガーバを読み込ませてやろう、 と言うおはなしです。

回路図CAD QtBSch , 回路基板CAD pcb.sourceforge.net 関連の拙作ツールや拙作ライブラリはこちら

参考:

PCB : Printed Circuit Board Editor

「PCBE Ver.0.48」から「ミッツ FP-7A」への転送方法

http://www.nagano-it.go.jp/jyouhou/kaisetsu/gbf_s.pdf ガーバーフォーマット [解説] (数ヶ所、微妙に間違っているので注意)

http://www.nagano-it.go.jp/jyouhou/kaisetsu/ext_gerber.pdf 拡張ガーバーフォーマット解説 (数ヶ所、微妙に間違っているので注意)

gerbv - A Free Gerber Viewer (ver.1系はミリ系が扱えないバグがあるので注意。ver.2系で治っている)

基板切削機の所要時間のメモ。

大きさ:A6両面

ドリル(表):35〜45分
ライン取り(表):20〜25分
ミリング(表):25〜30分
裏面の原点出し:15分
ライン取り(裏)+ミリング(裏):35〜45分
外形:20分

合計で2時間半くらい。

大きさ:A5両面、片面の処理に合計4時間ちょっと。両面合わせて9時間くらい。




RS-274D/RS-274X ガーバを、ミッツ FP-7A で読み込める形式に半自動で変換するプログラム

次章(次のH2タグ)で述べている、 pcb.sourceforge.net で設計したデータをミッツ専用CAD に読み込ませる方法を、 半自動化するプログラムです。

突貫工事で作ったので、 他の CAD で作った RS-274D/RS-274X を変換できるかどうかは不明です。 切削データ抽出と外形加工データ抽出は独自仕様ですが、 それ以外は汎用に処理してはいますが、未確認です。

ミッツ専用CAD は、 RS-274D/RS-274X の領域塗り潰し(いわゆるベタパターン)の 読み込みができません。 本ソフトで途中まで自動変換した後、 手動で塗り潰しの編集作業をしなければなりません。 ……結論から言うと、 ミッツ専用CAD でベタパターンを扱うのは諦めた方が楽だと思う。

本変換プログラムの独自拡張で、 線幅 0.01mil(0.0005mm)以下の線は、切削データとして出力します。 ベタパターンを使いたい時に、 他CAD での設計時点で(手動でとはいえ)ベタパターンを作れる様に、 そう言う仕様にしました。

RS-274D/RS-274X では、基板の外形データに関する、 共通の方法がありません(fab はどうだろう?)。 本変換プログラムでは、 pcb.sourceforge.net 独自仕様で記録されている外形寸法(長方形のみ対応)を 抽出して使用しています。

ライセンス: 実行プログラムは BSDライセンス、 ソースコードは GPL(LGPLでは無い方。ソース公開義務が無期限に波及する方)。 但し付加条項として、 明示的に許可した場合を除き、 本ソフト自体もしくは本ソフトの生成物、 ないしは本ソフトのソースもしくは生成物を利用して製作した物を用いて、 金銭ないしは有価証券もしくはそれらに準ずる物を得る事を禁止する。 当サイト fenix.ne.jp の維持運営に関して、 金銭的ないし物品面もしくは実働面で貢献ないし負担している人は、 その本人に限り許可する。

gerb2mits.lzh(Tue,08 May,2007)(49KB)

準備

使い方





pcb から「ミッツ FP-7A」へのデータ転送方法

pcb.sourceforge.net で設計したデータを、 ミッツ専用CAD に読み込ませる方法の話。 前章(前のH2タグ)の半自動化プログラムを作成する以前、 全て手動でやっていた時の話です。

Last modified on Sat,18 Mar,2006.

本記事は、私が同僚に渡した文書を、 体裁を調整の上、そのまま転載したものです。

概要

(1)
基板CAD のデータ形式と言ったら、フツー、ガーバー形式なわけですけど。
ひとことでガーバーと言っても、 最初にリリースされ、初期に使われていた RS-274D と、 それを改善拡張した RS-274X とあります。

RS-274D では、データファイルにはアートワーク? (パターンとか穴あけとかの、NC を動かす為のデータ)のみが含まれ、 アパーチャ(線幅、ランド形状、ランド大きさ、など)、 ツール(ドリル径など)は、 CAD 依存、となっています。 また、塗り潰し(ハッチング)が含まれていませんでした。

RS-274X では、アートワーク?とアパーチャもしくはツールが、 1つのデータファイルにまとまりました。 但し、1つのファイル中にアパーチャとツールを同時に含める事はできないっぽい。 手書きで両方入れたら構文エラーが出た。 アートワーク?とアパーチャを持つレイヤーと、 アートワーク?とツールを持つレイヤーに、 分ける事になります。 まぁフツー、パターン面とドリル面はレイヤーを分けますけれど。 それはともかく。
アパーチャとしては、 丸ランド、 長方形ランド(正方形ランド)、 角の丸い長方形ランド(角の丸い正方形ランド)、 多角形ランド、 同心円、 サーマルパッド、 を扱う事が出来ます。 線は、各ランドの連続体として処理されます (ガーバーは、感光基板に対して、様々な形状のライトを、 NC で動かしながら、点灯や消灯の制御をしている、事に由来する。 ガーバー業界としては、エンドミルで削る方がマイナーなのだよ、 量産できないし消耗が激しいし)。 ツールとしては、丸ドリル、正方形ドリル、が扱えるみたいです。
また、塗り潰し(ハッチング)の規格が追加されました。
その他、コメント機能とか、単位系とか座標系とかの設定など、 追加されています。
RS-274X でようやく、 それなりに汎用的にデータを持ちまわせる規格になっています。


ところが。
ミッツの専用基板CAD の、2003年以前のバージョンでは、 独自専用データ形式と、RS-274D の下位互換を独自拡張した形式のみ対応、 となっています。 最新の2004年バージョンでは、RS-274X 対応を唱ってはいますが、 実際どうだかは知りません。
まぁとにかく、RS-274X に対応していないので、 アパーチャとツールは、別途、設定しなければなりません。
この辺が、くだんの「PCBE からミッツに〜」のドキュメントで 書かれている作業が必要となる由縁と、作業の中身です。

さらに。
RS-274D では塗り潰し(ハッチング)の規格が定められていません。 ミッツの専用CAD では、その辺を、RS-274D を独自拡張する事で、 塗り潰し(ハッチング)を使っているみたいです。 RS-274X の塗り潰し(ハッチング)とは互換性が無いらしく、 ミッツの専用CAD から RS-274D で出力したデータを、 RS-274X 対応ガーバービューワーで閲覧したところ、 塗り潰し箇所が、すっぽり空白になり、構文エラーが出ました。

ついでに。
ミッツの専用CAD では、ランドは、 丸ランド、 長方形ランド(正方形ランド)、 角の丸い長方形ランド(角の丸い正方形ランド)、 の3種類しか扱えません。 多角形ランドとかサーマルパッドはありません。


概要は、そんなところ。
まぁ、配線パターンとドリルのデータを 別の CAD から突っ込めるから、いいんでない?。

ちなみに、バージョンアップは、 4万7千円コースと9万8千円コースの2つ。 後述のバグもあるくせに、金取るのかよ。

インチ系とMKS系

(2)
作業時に、数値を表示する単位系を、 ミリメーター系とインチ系の、2種類を選択できます。

でだ。
アパーチャやツールなどのデータを保存する時は、 現在のモード指定に応じて、 ミリメーター系のモードならミリメーター単位で、 インチ系のモードならインチ単位で、 データが保存されます。

ところが。
アパーチャやツールなどのデータを読み込む時は、 現在のモード指定に関わらず、強制的に、 ミリメーター系と見なして、データが読み込まれます。

即ち。
インチ系のモードでアパーチャやツールのデータを保存すると、 悲惨な事になります。


データを保存する時は、ミリ系モードに設定してから、保存しましょう。


なお、アートワーク?や、変換条件データでは、このバグはありませんでした。
アートワーク?の読込時は、 現在設定したモードと変換条件に応じた単位系で読み込まれています。
変換条件データは、読み込み、保存、どちらも、 強制的にミリメーター単位系になりました。

他の CAD のガーバーのインポート機能

(3)
オープンソース方面かつフリーで、 UNIX系や cygwin で汎用に使える回路基板 CAD として、 PCB と言うものがあります。
また、同じくガーバービューワーで gerbv があります。

http://pcb.sourceforge.net/
http://gerbv.sourceforge.net/
どちらも、ガーバー系式は RS-274X のみです。
このガーバーも、 アパーチャとツールと変換条件を、手書きで追加してやる事で、 ミッツの専用CADに読み込ませる事が出来ました。
逆はつらいです。 ミッツの専用CAD から PCB へ持っていくのは無理なんでは。 gerbv で閲覧するのは、不可能ではありませんが、 塗り潰し(ハッチング)が、全滅しました。
# gEDA 計画の回路基板プロジェクトは、 結局ポシャって PCB に吸い込まれた?。 そもそも、gEDA プロジェクト自体がポシャっている気もするが……。

それ以外にも、 GNU/Linux系と MS-Windows系の商用かつバイナリ配布で、 A6サイズ未満?に限り無料で試用が許可されている、 Eagle と言う CAD でも、ミッツの専用CAD にデータをとばせるらしいです。 (web の誰かのブログによると)



手順。


●ミッツ専用CAD、Flash for Windows を起動する。


●アプリケーション(A) → CONVERTER
まずは、ガーバーの読み込み/保存を行うモードに切替えます。


●条件(C) → 条件読込み(L)
アパーチャ(線幅、ランド形状とランド大きさ)とツール(ドリル径)の データを読み込みます。
ミリ系とインチ系に注意。読み込みは、強制的にミリ系になります。

データは、エディタで手書きするなり、ミッツ専用CAD 上から設定するなり、 します。

ライン:アパーチャ C, ミッツ専用CAD上 L, エディタで手書き 0。
丸ランド:アパーチャ C, ミッツ専用CAD上 F, エディタで手書き 1。
角ランド:アパーチャ R, ミッツ専用CAD上 R, エディタで手書き 2。
長丸ランド:アパーチャ O, ミッツ専用CAD上 O, エディタで手書き 3。
多角形ランド:アパーチャ P, ミッツ非対応。
同心円:アパーチャマクロプリミティブ 6、ミッツ非対応。
サーマルパッド:アパーチャマクロプリミティブ 7、ミッツ非対応。

RS-274X では、線と丸ランドの区別がありませんが、 ミッツ専用CAD では、区別されています。
ミッツ専用CAD のアパーチャのデータファイルは、ミリ系で記述されています。 換算や桁繰を間違えると、 1ミクロンの配線とか1メーターのランドとか、できます。


●変換条件(M) → 条件読込み(L)
ガーバーの単位系や座標系を指定します。
フォト変換条件、穴変換条件、の2ヶ所にわかれていますが、 両方とも同じ設定をします。

座標系:ガーバーで %FSLA 指定ならアブソリュート、%FSLI 指定ならリラティブ。
ターミネータ:*
単位系:ガーバーで %MOIN*% 指定なら 0.0254[mm]、%MOMM*% 指定なら 1.0[mm] かなぁ?。
X反転、Y反転、後0サプレス、は、適宜適当に。

ミッツ専用CAD の変換条件のデータファイルは、ミリ系で記述されています。 換算や桁繰を間違えると、 数百ミクロン角の 14pin DIP とか、 5メーター角のチップコンデンサとか、 できます。


●ファイル(F) → 新規作成(N)
基板サイズを選択します。
ここ以外で、基板サイズを設定したり変更したりする方法がわかりません。


●上側ステータスバーのミリ系/インチ系の指定でガーバーの単位系に合わせる。
ガーバーで %MOIN*% 指定ならインチ系、%MOMM*% 指定ならミリ系、を選択する。
上側ステータスバー以外に、単位系の操作をできるメニューはありません。


●アイコンの GBR IN で、ガーバーを読み込む。
RS-274X をいきなり読み込めばOKです。
上側アイコンバー以外に、ガーバー読み込み操作をできるメニューはありません。 アイコンバーを非表示にしていると、作業できなくなります。


●上側ステータスバーのミリ系/インチ系を、ミリ系に戻しておく。
インチ系のままだと、アパーチャ保存時にデータが死ねます。


●順番を間違えると、めちゃくちゃなデータになります。

■RS-274X でのパターンレイヤー


例1:データ例(抜粋)
G04 Format: Gerber/RS-274X *
%FSLAX23Y23*%
%MOIN*%
%LNGROUP_0*%
G04 contains layers solder (0) GND (2) power (3) *
%IPPOS*%
%LPD*%
%ADD11C,0.020*%
%ADD12C,0.050*%
%ADD13R,0.060X0.060*%
%ADD14R,0.090X0.090*%
%ADD15C,0.060*%
%ADD16C,0.090*%
%ADD17C,0.015*%
%ADD18C,0.010*%
%ADD19C,0.008*%
%ADD20R,0.050X0.050*%
%ADD21R,0.080X0.080*%
%ADD22C,0.080*%
G01X0Y0D02*
(以下略)

G04 はコメント。
%FSLA は、座標系アブソリュート指定。
%MOIN*% は、単位系インチ指定。
%LNGROUP_0*% は、レイヤー名「GROUP_0」。
%IPPOS*% は、座標系の反転無し。
%LPD*% は、レイヤー極性。
%AD が、くだんのアパーチャデータ。
G01 以降は、アートワークなデータ。

●アパーチャの読み方

例2:%ADD11C,0.020*%

%AD が、アパーチャデータの開始を表す。
D11 が、アパーチャデータの番号11番。
C, が、丸ランドもしくは線。
0.020 が、直径、この場合は 0.020[inch] = 20[mil] = 0.508[mm] になります。

例3:%ADD13R,0.060X0.060*%

%AD が、アパーチャデータの開始を表す。
D13 が、アパーチャの番号13番。
R, が、長方形ランド(正方形ランド)。
0.060x0.060 が、大きさ、この場合は横 0.060[inch] = 60[mil] = 1.524[mm]、縦も同じ、になります。


RS-274X では、線と丸ランドの区別がありませんが、 ミッツの専用CAD では、区別しなければなりません。
この例では、11, 17, 18, 19 が線なのですが、 ランドの大きさからカンで当てるか、 ガーバーのアートワーク?を読むしかないのではないかと。

G54 がアパーチャの選択で、 D03 がフラッシュ(指定場所で点灯して消灯)、 D01 が点灯して移動、 D02 が消灯して移動、 です。


例4:G54D11*X700Y2400D02*Y2300D01*

アパーチャ D11 を選択して、 消灯して指定座標に移動してから、 点灯して指定座標に移動しています。
なので、D11 は線描画用のアパーチャです。


例5:G54D15*Y2200D03*

アパーチャ D15 を選択して、 指定座標でフラッシュしています。
なので、D15 はランド用のアパーチャです。

■RS-274X でのツール


例6:データ例(抜粋)
M48
INCH,TZ
T01F00S00C0.020
T02F00S00C0.028
T03F00S00C0.030
%
T01
X700Y2600
(以下略)
M48 はヘッダ(仮称、正式名称不明)開始の指定で、% まで続く。
INCH,TZ は単位系の指定かなぁ?。
T01F00S00C0.020 はツールの指定。

●ツールの読み方

例7:T01F00S00C0.020

T01 がツールの番号 01。
F00 は忘れた。
S00 も忘れた。
C が、形状指定。C が丸だけれど、どうせミッツの NC は丸穴しかあけられない。
0.020 が、穴径指定、この場合は、0.020[inch] = 20[mil] = 0.508[mm] になります。

■ミッツ専用CAD でのアパーチャ、ツールの書き方


例8:データ例(抜粋):RS-274X の例1と例6を、 ミッツの専用形式に変換すると、こうなる。
[ArtWork]
ArtworkNo011Division=0
ArtworkNo012Division=1
ArtworkNo013Division=2
ArtworkNo014Division=2
ArtworkNo015Division=1
ArtworkNo016Division=1
ArtworkNo017Division=0
ArtworkNo018Division=0
ArtworkNo019Division=0
ArtworkNo020Division=3
ArtworkNo021Division=3
ArtworkNo022Division=1
ArtworkNo011Code=0.508000;0.000000
ArtworkNo012Code=1.269999;0.000000
ArtworkNo013Code=1.523999;1.523999
ArtworkNo014Code=2.285999;2.285999
ArtworkNo015Code=1.523999;0.000000
ArtworkNo016Code=2.285999;0.000000
ArtworkNo017Code=0.381000;0.000000
ArtworkNo018Code=0.254000;0.000000
ArtworkNo019Code=0.203200;0.000000
ArtworkNo020Code=1.269999;1.269999
ArtworkNo021Code=2.031999;2.031999
ArtworkNo022Code=2.031999;0.000000
[Hole]
HoleNo001=0.508000
HoleNo002=0.711200
HoleNo003=0.762000

例9:ArtworkNo013Division=2

アパーチャ番号 013、形状が2番(前述の(3)参照、2番は角ランド)。


例10:ArtworkNo013Code=1.523999;1.523999

アパーチャ番号 013、大きさ指定 1.524[mm] × 1.524[mm]。
RS-274X のアパーチャでは、指定の単位系、 前述の例だとインチ系で書かれていたが、ミッツの専用形式だと、ミリ系で書く。
ミッツの専用CAD の内部では、float型か double型で処理しているらしく、 浮動小数の符号化誤差が出ている。


例11:HoleNo001=0.508000

ツール番号 001、穴径 0.508[mm]。
RS-274X のツールでは、指定の単位系、 前述の例だとインチ系で書かれていたが、ミッツの専用形式だと、ミリ系で書く。

Last modified on Tue,08 May,2007.
This contents was founded in Wed,15 Mar,2006.
FENIX HomePage
G-HAL HomePage
ハードヱアに関するウダウダ
Mail to, メールはこちらへ
Suggestion Box, 投書箱
BBS, 掲示板 UserName:BBS、Password:BBS
(C) 2006 G-HAL