• 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データそのものが基板データになると 考えて差し支えありません 以前 文字をパソコンのフォントでという問い合わせを 受けましたが 固くお断りしました 文字は化ける元ですし フォントを使うと 基板の仕上がりイメージが異なるので 止めるべきだと進言しました 結果として問題はありませんでした シルク文字も直線と円弧で表現されるので 基板データそのものです 最初に戻る
  •