DXF IN/OUTの限界
DXFはもともとDREAMには備わっていませんでした
著者のお客から DXFを読めるようにならないかと
言われたのがそもそもの発端です
しかし本屋に行っても DXFそのものの構造について
記された本もなく DXFデータを見ても
何やらちんぷんかんぷんで しばらく放っておいていました
その後も同じお客から催促され 逆にどうすればいいのか
問いたら 自分で解析しろと言われる始末でした
それでも気を取り直し フリーで手に入る JW_CADを
使い 1本線を引いて DXFファイルをつくり
そのファイルを調べ 2本ひいたらどうなるか
丸を描いたらどうなるか という具合に調べて
大体の雰囲気を掴みました
これに要した時間は なから2日ぐらい
HPGLデータからDXFに変換するソフトの
プロトタイプまでは約30分ぐらいですか
円弧の変換は一番時間を使いまして 2〜3日かかりました
そうして EVから出力したHPGLをDXFに変換したものを
お客にメールで送り、検図の配達の手間を省きました
結構喜んでもらえました
この業界ではわりと早いほうではないかと自負しています
DREAMに変わり当初はEVへデータを変換して
HPGL−>DXFの手段を講じていましたが
何せ時間がかかるので(配達よりは相当速いが!)
DREAM(W98)から出せるHPGL/2を変換する事を
考えました
しかしHPGL/2はかなりの曲者でして
例を言うと HPGLでは円弧を描くのに
半径を個々に指定しますが
HPGL/2では半径はすべて1になっています
半径の違いはどう表現するかというと
円を書く時点で全体のスケールをいちいち変えるという
手段を使っています
有る程度まで対応しましたが 面倒でDREAMに
直接コマンドとして取り入れる様に強く進言して
このコマンドができました
結局のところ自分のソフトをまるまるコピーして
実現しているようです
とは言え DREAMは C 自分は AWKなので
若干の違いはありますが 簡単に移植できる範囲でした
その後作者による 追加機能もあります
それゆえ DXFに関する制限があります
著者もDXFの構造を前述の理由ですべて承知している訳では
ないので 勘違いもあるかも知れませんが
おおよそ次のとうりです
限界には多分に著者の努力不足もありますが
自分のニーズを満足すればオールOKな性格なので
気にしないでください
まずDXF INについて言えば
文字、ドット、BLOCKDEFは読みません
文字はDXFデータを見ると 文字列を宣言する命令に
続き文字コードがあります
DOS、WINでは 文字コードをひろい漢字らしき絵に
変換して画面に出しますが
DREAMでこれを実現するには 総ての漢字コードに
あてはまるDXFー>CAD図形データを用意しなければ
なりません
もっと楽な方法もあるかもしれませんが
苦労ばかり続きそうなので止めました
もっともDXFは他のパソコンに移すと 文字化け、位置ずれは
起きるようで 当初からINの対象外です
ドットは割と楽に再現できますが余り使わなそうなのでパスしました
BLOCKDEFは部品のような概念ですが
いくらでもネスト可能で 追いかけていくと切りがないので
これもパスです
本当は3次元まで追いかけるように作ってみましたが
(自作ソフトで)うまく動かず面倒で止めました
ソフト開発で飯を食っている訳ではないというのが
自分に対する言い訳です
1本の線をBLOCKDEFにして このBLOCKの組み合わせで
面をつくり それをDEFしてさらに立体表現できます
でもこの業界ではまず使われないコマンドです
この業界で DXFはお客が手持ちの機械CADで
基板図面を作り 管理し また支給する程度のものです
ほとんどが 1次元のデータの集まりですから
まず差し支えないと思います
DXF OUTはCADデータをDXFで出力するものですが
すべては 直線と円弧で表現されています
文字も文字コードなるものはありません
拠って DXFデータそのものが基板データになると
考えて差し支えありません
以前 文字をパソコンのフォントでという問い合わせを
受けましたが 固くお断りしました
文字は化ける元ですし フォントを使うと
基板の仕上がりイメージが異なるので
止めるべきだと進言しました
結果として問題はありませんでした
シルク文字も直線と円弧で表現されるので
基板データそのものです
最初に戻る