LibreCADとJWCADのおぼえがき01

えっと、ついつい忘れてしますので、メモしておきます。
JWCADとLibreCADの行き来はとっても大変(^^) なので、基本的に行き来しない方向で・・・

でも一応、知っておかないと困るので、おぼえがき。 相互の行き来はDXFです。ただし、最大の注意は、JWWから直接吐き出したDXFはよくないです。(JWWから出てきたDXFには、図面内のテキストではなくて、線の定義とかに「実線」とかの日本語が入っているのでオススメできないんです。)できれば2500円だしてJacConvertを買うか、AF様にお願いして、有償のDXF変換ソフトを作ってもらいましょう。

ポイントは、
1:AutoCADできれいに読めるDXFであること。
2:DXFファイルのエンコードがUFT-8であること。
3:LibreCADに読み込ますためには、文字がkst32b.lffという特殊なものになるので、文字がkst32bという日本語線文字フォントに指定できることがポイントです。

そう、LibreCADはTTFやOTFはもちろんAutoCADのSHXも使えません。(現在のバージョンver2.13ではですけどね) なので、DXFの文字が読めなぁ~~いって叫んでも、どうしようもありません。 LibreCADのベースになっているQCADでは、すでにこれに対応しているけど、有償になっちゃったので、ちょっと・・・・ で、やりかたは・・・

JWW→LibreCADの場合

JWCADのデータをそのままでOK。 JacConvertを使う場合は、JacConvertから目的のJWWファイルを開きます。
DXFに保存。
できれば、特殊な変換は避けたいので、ブロックの解除、記号文字や特殊文字、均等割付などは右下のチェックで、マルチテキストにしておきましょう。 文字は、マルチテキストMSゴシックでいいと思います。まあ、そのまま使わないので。
で、変換保存します。
このままだと、たぶん保存されたDXFはエンコードがSHIFT-JISだと思います。なので、内容を変えずにエンコードを変えて保存できるテキストエディター(わたしの場合、「秀丸」)で、UTF-8エンコード変換をして別名保存します。 これがいちばん大事なんです。
LibreCADはUTF-8でないと、今のところ日本語をちゃんと読み込めません。

そして、LibreCADで、文字が表示されるかというと・・・
◇◇◇みたいな記号にあってしまいます・・・

でもね、この部分とプロパティーでクリックして、属性を見るとちゃんと日本語が表示されています。エンコードがShift-JISだと文字化けしています。
そう、今度は、無いフォントを指定しているので表示できていないだけなんです。 なので、元に戻って、DXFをちょっと加工。(なんでかっていうと、LibreCAD内では文字の一括フォント変換ができません。めんどくさいですよね。)
JacConvert方出てきたDXF内の[_Gothic_]ってなっている行を[kst32b]に一括変換して保存。(_Gothic_ってなっている部分は、DXFを作ったソフトによってちがうと思います。)

で、次にDXF内の文字の先頭に何かついている時があります。「\W0.697;」とか。こう言うの削除しないと、そのまま読み込まれてしまいます。JacConvertのDXF読み込みがそこまで対応できていない。(AutoCADでは必要になる部分です)
かなりめんどうなんだけど、これも一括削除です。

このDXFファイルをLibreCADで開くと、ちゃんと開きます(^^)

ポイントの整理
(下記の作業の順番が関係ないです。逆の方がいいのかも。フォントの部分の一括置換・不要部分削除を先にして、ファイル全体のエンコード変換でもOK。)

  1. DXFファイルのエンコードは「内容を変えずに」UTF-8にする
    (秀丸の場合、変換時に「内容を維持したまま適用」というチェック項目が出ますので、それに必ずチェックします)
  2. DXFファイル内のフォント情報の部分をkst32bにする
    (kst32bは有志の方が公開していただいた日本語のlff(LibreCADのフォント)をLibreCAD側が採用して既にインストーラーに入っているフォントです)
  3. JacConvertからのDXFファイルの場合、文字の前につく「\W0.697;」や「\T2.39;\W0.697;」とかっていうものなんかを削除しないといけないので、少しめんどうです。AutoCADで読む時はこれが必要です。JWWでの文字のイメージと合わせるためのものですので、削除するのはあくまでLibreCAD用です。
    文字の変換部分をスタンダードのextfont.shxでDXF出力するとJWWの特殊な文字の描き方以外は文字の先頭に何も付かないような気がします・・・違ったらごめんなさい。
    縦書きはうまく変換できませんでした。LibreCADが縦書きのフォントを持たないためかなって勝手に思っています。
    JacConvertの「文字スタイル名の変更」をという部分でkst32bを指定しておくこともできます。でも、文字の先頭につくものやいろいろあるので、結局はDXFそのものでの作業が出ます。

LibreCAD→JWWの場合

こちらは簡単というか、逆にLibreCADから出されるDXFがUTF-8なのでJWWでは文字が読めません。なので、テキストエディターでエンコードを「内容を変えずに」Shift-JISにして保存します。 (LibreCADは保存形式がDXFです。)

これで、JWWで読み込みができるDXFになります。スケールが1/1になっちゃうと思うので、とんでもない大きさの図面になるけど、まあ、これはJacCnvertで調整するか、JWW側で調整すれば済むことだと思います。
フォント情報も、JWW側でフォントの該当なしの場合、MSゴシックになると思うので、きっと大丈夫・・・(^^)


DXFファイルはテキスト形式なので、テキストを扱うソフトで開くことができますよね。 ファイルの内容を維持したまま、エンコードの変換ができるソフトを持っていない場合は・・・

さっきやってみたら、Winodws7の付属のノートパッドでも置換やエンコード変換は簡単にできましたので、どなたでもできると思います。置換の場合は「何」をkst32bに変えるのかは、必ず確認しましょうね。_Gothic_とは限りません。フリーウェアのNotepad++(BOM無しのUTF-8保存がいいのかな・・・)などもいいと思います。

どちらのCADも、単体で使う分にはこういった煩わしい作業は関係ありません。JWCADの方が圧倒的に生産性があり、日本のWindowsユーザーなら、間違いなくJWCADがいいと思います。
(もちろん高価なCADはいいに決まっていますよね。当たり前(^^))

今回の記事は、だいぶ前に書いた気がするけど、すぐに忘れちゃうから・・・ホントに歳とりたくないよぉ~~っていう歳になってきた・・・
(T_T)