CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

Jw_cad

Jw_cadのデータ形式をひもとく

投稿日:

Jw_cadはこの業界の誰もが知っているフリーのCADソフト。その歴史は長く、MS-DOS版の初版が1991年だったというのだから、30年以上も経過しており今でも建築業界で使われている生きるレジェンドだ。1997年にWindows版が出てからでも25年も経っているわけでスゲーなぁ。

日本でCADを作ってるメーカーはJw_cadの存在を無視できないので、jwcやjwwの読み書きを可能にしている。データ形式が公開されているから、C++プログラマーならさして手間をかけずにコンバーターを作れる。以下が公開情報。
Jw_cadのデータ形式

色や線種については別記事で書いたので、ここでは図形について記す。図形タイプは以下の7種類のみ。文字で画像配置が可能なので実質8種類。
線 CDataSen、円弧 CDataEnko、点 CDataTen、文字 CDataMoji、寸法 CDataSunpou、ソリッド CDataSolid、ブロック CDataBlock
これらがどんな情報を持っているのかの詳細は上記サイトからわかるとして、以下では概要と特徴について語る。

【線 CDataSen】
始点と終点の座標があるだけ。
【円弧 CDataEnko】
円、円弧、楕円、楕円弧が表現可能。中心点、半径、開始角、終了角が円弧の基本として、そこに傾き角、扁平率、全円フラグがあるから、多様な幾何図形を表現できる。
【点 CDataTen】
点の座標は当然あるとして、仮点フラグ、点の形状、角度、倍率もあり。
【文字 CDataMoji】
サイズの縦横間隔、始点終点座標、角度、フォント、文字列など。寸法値設定フラグがビットフラグになっていて、小数点以下の桁数はφを頭につけるなんて寸法値固有の属性設定がある。Jwwに寸法という構造がないので、このフラグがどんな意味があるのかはよくわからないが、見た目を再現するためには不要な情報だろう。
文字列の先頭に「^@BM」があると画像として認識して、bmpを表現できる。
【寸法 CDataSunpou】
上で寸法の構造はないと言い切ったが、簡易的な寸法はある。線と文字と点をグループ化したもの。寸法矢印が何でサイズがいくつ。。のような寸法固有情報はない。
【ソリッド CDataSolid】
ハッチングや塗りつぶしとも言う。円や円弧や線で囲んだ領域を塗りつぶす。楕円、楕円弧も可能。でも、複数の円弧をつなげた領域は無理なので、このソリッドを複数配置して最終的な塗りつぶし形状を表現することになる。
【ブロック CDataBlock】
1定義複数配置が可能なおなじみの構造。データリストは一般図形用(m_DataList)とブロック図形用で2種類ある。C一般図形用の中にCDataBlockがあって、その参照先の定義がブロック図形用にある。jwcにはなかった構造だが、一般的なCADには必ずある。

こう見ると、シンプルで必要最小限でほどよい情報量だということがわかる。dwgだと比べようがないほどに複雑怪奇なわけで、対比するととても好ましく感じる。情報量が少ないjwwを多いdwgに変換する分には、書くべきコードは少なくて済む。逆の変換をしようとするとタイヘンだろうな。いやいや、複雑な図形タイプは分解しまくればいいのか。

-Jw_cad

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

jwwとdwgの線種対比

jwwとdwgの色番号対比の続編で、次は線種。点線とか一点鎖線とかのことで、線種は色と違って番号という考え方がdwgにはない。名前で管理されており、画層(レイヤ)やブロックでも同じことが言える。番号と …

no image

新JWWデータ形式公開

待ってました! Jw_cadの作者が公開してくれました。 http://www.jwcad.net/jwdatafmt.txt 独自にバイナリ解析するのはとても困難なので、 やだな~と気が重いところで …

no image

JWWデータ形式変更

Jw_cadがバージョンアップして、JWWのデータ形式が変更になりました。 最新バージョンは5.00eですが、データ形式が変更になったのは4.20からのようです。 変更点1:線種および線色の定義を拡大 …

no image

JWWを読む

 やっぱりJWWについても書くことにしました。JWCに触れておいてJWWを語らなければ、片手落ちなのでは、と考えたので。今では、Windows版のほうが圧倒的にユーザー数が多くて、データの流通において …

no image

Jw_cadのバージョン

Jw_cadのバージョンを調べる機会があったので、ここに記録を残しておく。 SolidWorksに続く第2弾というところか。 ただ載せてもつまらないので、表にしてみた。 AppVer. DataVer …