2010年9月13日月曜日

HO_CAD と AutoCAD での図面変換

不思議なことに、沖縄ではHO_CADをメインとして使うのが常識らしく、沖縄の仕事を受ける上でHOCAD⇔AutoCADの図面変換が必須になってきました。
ネットで出てくる情報からすると、HO_CADユーザーはAutoCADのDWGを鬼門扱いしてるくらいしかわからなかったので、自分で色々と試してみた結果をメモしておきます。

結論からすると以下の変換方法を使うと元図面に近い状態でやり取りできます。

HO_CAD → AutoCAD :SXF(SFC、P21)
AutoCAD→HO_CAD :SXF、Jww(できればJww)

※ 使用したソフト: AutoCAD 2008、HO_CAD Pao、JacConvert
※この変換方法ではハッチオブジェクトの再現性は問題にしていません。

  • HO_CAD→AutoCAD
HO_CADのSXF変換については簡単なので(保存形式を変えるだけ)なので割愛しますが、AutoCADでSXFファイルを読み込ませるためにはSXFデータトランスレータ(LTならばSXF Converter for LT)が必要になります。
AutoCADからSXFデータトランスレータを使ってHO_CADから書き出したSXFをモデル空間に読み込んでしまえば完了です。

※2010対応版でSXFデータトランスレータ、SXF Converter for LTの開発は終了しました。2011以降はAutoCADならばサブスクリプションを結ぶと無料で送付してもらえるCals Toolを使って直接Jwwに変換することができます。LTでは事実上SXFに変換できず、LTとCals Toolのセット販売であるCivil Suiteを購入する必要があります。

  • AutoCAD→HO_CAD (SXF編)
こちら側の変換では、HO_CADの制約をどう回避するかが問題になります。制約はSXFを読み込むときの空間があらかた決められてしまっていること。詳しくは調べてませんが、SXFを読み込むときに図面の左下の座標がX=20, Y=20に決められているようです。この座標から用紙サイズ(基本的にA1)までの空間が表示されます。その空間(+ゆとり分)からはみ出たものは基本的には表示されません。

1、AutoCAD上でこのように図面枠の左下(赤●)座標が X=20, Y=20から大きく離れてSXFに書き出すと

HO_CADで読み込むと図面印刷範囲から外れてしまいます。


2、AutoCADで図面枠の左下をX=20, Y=20に合わせてSXFに書き出した図面
HO_CADではきちんと印刷範囲に収まってくれます(尺度が半端なのでぴったりしてませんが)


※「基本的には」というのは、はみ出た部分へは、その空間から続くオブジェクトがあれば見ることができるので、たとえば線分をひたすらその図面のある場所まで続けて書いていくと図面が出てきます。が、余計な手間以外の何ものでもないですね。

この図面としてのオブジェクトは存在してるのに表示されない現象、国交省のCALS/ECサイトやJACICのサイトで配布してるSXFブラウザでも起きます。ということで、これはSXFの制約というか規則なのかもしれませんね。
なので、AutoCADユーザーがSXFでHO_CADとやり取りする際にはこの点に注意しないといけません。


今のところ思いつくAutoCADユーザーの注意点
  1.  AutoCADのモデル空間をSXFに書き出すときにはモデル空間でA1に縮尺を合わせた後、図面枠の左下をX=20, Y=20に合わせた上でSXFに変換する。
  2. ペーパー空間をSXFに書き出すときは基本的にX=20, Y=20の座標に合ってくれるが、ずれる時がある(どういうときにズレるかは不明)ので、書き出したSXFをAutoCAD上に読み込んで、座標を確認する必要がある。
  3. AutoCADで平面図を作図する時には座標を記したグリッドを作っておく必要がある。(国産CADは基本的に絶対座標で作図できないから)
他にももっとあると思いますが、それは運用していく上で書き足していきます。

  • AutoCAD → HO_CAD(Jww編)
AutoCADで作図したものをHO_CADに渡すのに、一番合理的な方法はJwwにすることです。先述したHO_CAD側の制約はSXFとして読み込むときの制約であって、Jwwを使うとその制約がありません。なので、例えばAutoCADで絶対座標を使って作図したものもJww経由だと表示できるのです。

実際の図面に記されている2つの座標(-121200,-44000)と(-120200,-44400)を使って絶対座標に合わせた図面 (絶対座標に合わせたのは、このテストのためです。通常は合わせないまま変換して大丈夫。)

この図面をJacConvertでJwwに変換すると、HO_CADでは下のように印刷領域に合わせて開くことができます。


※ただしHO_CADユーザーが印刷するときには、きちんと図面の向きを設定しなおす必要が出てきます。なので、この方法はAutoCADユーザーの負担をできるだけ少なくする場合として考えます。




現状、DWGをJwwに変換するのに最適なものはJacConvertだと思います。JwCadを使ってDXF経由でJwwにする方法もありますが、属性文字が消えてしまうという問題があります。
JacConvertでは属性文字も文字として変換してくれるのが助かりますし、だからこそJacConvertを使うわけです。

※HO_CAD PaoならばJwwを読み書きできますが、旧来のHO_CADでは読み書きできませんので注意。

0 件のコメント: