AJ_DXFについて
AJ_DXF(1998年公開)はJacConvertの前身です。MS-DOSという古い環境下で動作するCADデータ交換支援ソフトウエアです。
本文はAJ_DXFに添付されていたテキストタイプのドキュメントをHTMLに書き換えしています。
CADデータ交換テクニックについての記述が注目されこのドキュメントが欲しくてAJ_DXFを入手する方や出版社から書籍出版の打診もありました。(当時はインターネットが一般化されておらず情報入手手段は書籍でした)
作者自身が業務で必要になり作成したソフトウエアですが"NIFTY-Serve建築フォーラム"という会議室上で設計プロの方々の協力をいただき一気に実用性のあるソフトウエアとなり、入手した情報をテキスト化したのがこのドキュメントです。
AJ_DXFのおいたち
AJ_DXFの開発履歴
以下は1998年から2001年の期間に
書き綴ったドキュメントの転載です。
AutoCAD<==>JW_CADデータ交換
AJ_DXF for MS-DOS Version 1.5A
01.
02.利用効果が期待できるケース
03.はじめての方へ
04.AJ_DXFの動作環境
05.起動方法
06.操作方法のルール
07.AJ_DXFでDXF変換の基本操作
08.複数のファイルを選択することができます
09.動作設定の変更は「TAB」キーを押す
10.AJ_DXFが作成するファイルとディレクトリ
11.バージョンアップ時のご注意
12.変換時に生成されるDXFファイル名について
13.DXFファイルを圧縮(LZHファイル)するには
14.JW_CAD以外のCADソフトでの利用について
15.DXF=>DXF変換時に新規作成するレイヤーについて
16.AJ_DXFでのDWG読込みについて
17.AutoCADが生成したDXFとの変換相性(DXF=>DXF変換)
18.ブロック分解について
19.寸法線の読み込みについて
20.寸法線端部の円を点に変換について
21.小さな円データを点に変換する
22.DXF=>DXF変換時の問題点とその対策
23.DXF=>DXF変換時の内部処理内容
24.
25.AutoCAD2000(LT2000)モードで変換した時の問題
26.AutoCAD2000(LT2000)への対応状況
27.AutoCAD2000(LT2000)利用時の問題について
28.ポリライン変換について
29.ByLayerについて
30.JW_CADの線の太さをAutoCADに引き渡す
31.イラストレーター(AdobeIllustrator)での読み込み
32.JW_CAD独自の文字表現の対応(JWC・JWK=>DXF変換時)
33.JWC・JWK=>DXF変換時の文字に関する問題
34.JWK=>DXFコンバーターAJ_JWKについて
35.<外部変形>AJ_DCV(DWGファイル読込み)について
36.AJ_DXFGについて
37.AJ_DXFGとAJ_DCVでの文字サイズの扱いについて
38.AJ_DXFGとAJ_DCVでのペーパー空間の扱いについて
39.Jw_winでのAJ_DXFGとAJ_DCVの利用について
40.外部変形がうまく動かない時にお読みください
41.AJ_DXFGの内部処理について
42.AutoCADを利用されていないJW_CADユーザの方へ
43.レイヤーの表示属性変換
44.JW_CADが出力したDXFファイルでの問題
45.AutoCADでのレイヤー名の制限
46.AutoCADでの文字制限
47.JacEditとJacViewについて
48.MacintoshとUNIXのDXFファイルについて
49.その他(著作権等)
は・じ・め・に
バージョンアップに伴う変更内容についてはVER_UP.TXTを参照ください。
このドキュメントは思いつくまま、追加記述しています。プログラムスペック変更にリンクした内容の修正が行われておらず、実際の動作内容と不一致な部分が散在しています。ご容赦ください。
01.
AutoCAD<==>JW_CAD間のデータ交換用ユーティティーです。
AutoCADR12〜2000のDXFファイルを扱うことができます。
異種CAD間のデータ交換に最も多く使用されているDXFファイルの変換を主としているため、他のCADでも効果が出る可能性があります。
Windowsからパソコンを始めた方が多数の中でAJ_DXFはMS-DOSという古い環境下で動作するプログラムです。利用に当たってはいくつかの使用条件(詳細は後述の「AJ_DXFの動作環境」を参照)があります。
変換機能は多くないのですが、多数・多業種CADユーザの方々の協力をいただき実務で必要な機能は実用レベルで装備できたと思っております。
このドキュメント(AJ_DXF.DOC)には、今まで私が取得したデータ交換に関わる情報を自分の備忘録代わりに記述しています。思いつくまま、散文的な記述をしているため読みづらいですが、参考になる情報があるかもしれません。
02.利用効果が期待できるケース
AutoCAD=>JW_CAD(DXF読込み)
・寸法データが読めない。
・線の一部が欠落する。
・曲線が直線になってしまう。
・不要な点が表示される。
・文字が表示されない。
・文字化けする。
・線色が白になってしまう。
・塗潰しを再現できない。
・図面枠が左下に小さく表示されてしまう。
・「ネストが深すぎます」と表示され読み込みできない。
JW_CAD=>AutoCAD(DXF読込み)
・読込みを停止してしまう。
・線種が実線だけになる。
・JW_CADの線記号変形で作成した円弧が表示できない。
・JW_CADのレイヤー属性(表示/非表示等)が読取れない。
・JW_CADの実点が再現できない。
・文字化けする。
・上付き・下付き・均等割付文字が変換できない。
便利な機能・文字サイズが変化してしまう。
DCONVERTを併用してDWGファイルをJW_CADで読込む。
JW_CADの外部変形を利用して、JW_CAD上で直接DXF・DWGを読込む。
1つのディレクトリに収納された複数のJWKファイル(図形ファイル)を一覧表形式の図形データにまとめる(DXF形式)。個々の図形データはブロック図形として作成する。
MacintoshのMinCAD等からのDXFファイルをJW_CADで読込み。(マックバイナリのカットも行います)
03.はじめての方へ
無計画なプログラム拡張を続けてしまった結果、同梱されるプログラムが全部で6つになってしまいました。初めての方はまず、AJ_DXF.EXEというアプリケーションファイルを実行してください。このプログラムを実行することにより全体の動作環境を自動構築します。
04.AJ_DXFの動作環境
動作するマシン(コプロセッサー実装が必須条件です)
DOS/VマシンとNEC9821&9801
(MS-DOSベースのプログラムですが両マシン汎用です。)
動作にはコプロセッサー(小数点の含まれたデータを計算するための専用チップ)が必要です。
「ペンティアム」以降のCPUには標準で装備されていますが古いマシンではコプロセッサーが実装されていないものがあります。動作しないCPUはおおむね次のとおりです。【インテル286/386/486SX】(Windows95/98が動いていればまず心配無用です)
動作するOS486DXは標準装備されています。古いCPUでも、オプションで装備している場合があります。この場合はAJ_DXF使用可能です。
本体はMS-DOSモードで動作しますが、併用するアプリケーションにはWin32アプリケーションが含まれます。従って全機能を利用される場合はWindows95以降での環境下で利用されることが前提となります。
WindowsNTや2000でも動作しますが、一部の機能に不都合が出るかもしれません。(ファイル選択でドライブ変更ができない等)
併用するWin32アプリケーションは次の通りです。DOS環境で使用された場合は機能しません。
AJ_JWK. EXEAJ_DXFに同梱(JWK=>DXFコンバーター)
JacEdit.exe AJ_DXFに同梱(DXFエディター)
JacView.exe AJ_DXFに同梱(JWCDXFDWGビュアー)
Windows環境下でのインストール注意点DCONVERT.EXE 別途入手(DWG<==>DXFコンバーター)
DOS環境下での処理スピード低下について起動ショートカットのプロパティ内<プログラム詳細設定>=>
AJ_DXFはディスクをメモリ代りに使用して、頻雑にディスク読込みを行います。従ってこれが要因となって動作速度低下が発生します(Windowsのスワップと同じです)
この動作速度低下を防ぐにはキャッシュと呼ばれる機能が有効ですAJ_DXFはこのキャッシュ機能を組み込んだマシンであることを前提としたプログラムです。
最近のマシン(Windows)ではこのキャッシュ機能が組み込まれていますが、古いマシン(DOS)の場合はキャッシュドライバーを別途組み込む必要があります。もしキャッシュが機能しないマシンの場合は変換時間が大幅に増大してしまいます。
同梱されているファイルまた、Windows=>MS-DOSモードに切り替えした場合にも留意する必要があるかもしれません。
01)AJ_DXF.EXE MS-DOS単独で動作AJ_DXFプログラム本体
02)AJ_DXFG.EXE MS-DOSJW_CAD内で動作JW_CAD外部変形、DXF読込みプログラム
03)AJ_DCV.EXE MS-DOSJW_CAD内で動作JW_CAD外部変形、DCONVERT用ユーティリティ
04)AJ_JWK.EXE Win32AJ_DXF内で動作JWK=>DXF変換ユーティリティ(単独動作可)
05)JacEdit.EXE Win32AJ_DXF内で動作DXFエディター(単独動作可)
06)JacView.EXE Win32AJ_DXF内で動作JWCDXFDWGビュアー(単独動作可)
07)AJ_DXF.DEF バイナリ各種初期値のデータ
08)AJ_DXF.DOC テキスト今、表示中のドキュメント
09)VER_UP.TXT テキストバージョン更新時の解説文
10)JacEdit.txt テキストJacEditの解説文
11)JacV_Hlp.DAT バイナリJacView初期画面データ
12)AJ_DXF.ICO バイナリショートカットで使用するアイコン
13)PC98.BGI バイナリNEC98用グラフィックドライバー
別途入手が必要なファイル(追加機能を使用しなければ不要です)14)DOSVGA.BGI バイナリDOS/V用グラフィックドライバー
1、DWG=>DXF変換とJW_CAD内でDWG読込み
1)DCONVERT.EXE DWG<==>DXFコンバーター(VisioCorporation)
2)ADINIT.DAT DCONVERT用初期値データ
この2つのファイルはDCONVERT.ZIPに同梱されています。
DCONVERT.ZIP はhttp://www.opendwg.org/downloads/guest.htm
から入手できます。
DCONVERT.ZIP は圧縮ファイルですのでLhasa等で解凍が必要です。
2、DXF変換時に圧縮ファイル(LZH)を自動生成
1)LHA.EXE 圧縮書庫管理プログラム(吉崎栄泰氏作)
ファイル名の制限DXF変換時に圧縮ファイル(LZH)を自動生成させるためには吉崎栄泰氏作のLHA.EXEが必要です。LHA.EXEはその収納場所(フォルダ)を指定する(パス)必要があります。パスについてはAJ_DXF.CFGに別途記述してありますので参照してください。(AJ_DXF.CFGは本プログラムを始めて起動した時に自動生成されます)
ファイル名は半角で8文字までしか扱えません(MS-DOSプログラムのため)もし、8文字以上のファイル名を扱うと次のような表示となります。
ディスク空き容量は変換対象とするDXFファイルの約3倍程度必要です。最新図面データ.DXF => 最新図~1.DXF
ディスクへの頻雑な読み書きを行いますので、容量・スピード共にフロッピーディスクは向いていないと思います。
05.起動方法
@適当なフォルダ(DXFファイルが収納されたフォルダを推奨)に解凍してAJ_DXF(AJ_DXF.EXE)を実行して下さい。
AAJ_DXFが立ち上れば、簡単な操作ガイドが表示されます。
※外部変換「AJ_DXFG」についての起動方法は後述してあります。
06.操作方法のルール
マウスは使用できません。
キーボードの操作
<=↓↑=>選択に使用します。
Enter(Return)選択を確定します。
ESC取り消し・中止します。
07.AJ_DXFでDXF変換の基本操作
AJ_DXFでの操作
@「ファイル選択」でEnter(Return)キーを押すと、ファイル一覧表が表示されます。
A変換対象のファイル(DXF・JWC・JWK)を選択します。
・JWC・JWKファイルの場合はスペースキーを押すと複数選択できます。
・もし、目的のファイルが一覧表に表示されない時は、一覧表の上部にある、「親ディレクトリ」もしくは「ドライブ変更」を選択し、目的のファイルを捜します。
・「ディレクトリ」は「フォルダ」と同意語と解釈してください。
・処理スピード不足と容量不足のためフロッピーデイディスクの指定は避
けてください。
B「ファイル選択」終了後、「変換開始」を実行してください。これで作業は終了です。
DXF=>DXF変換の場合は変換元のDXFファイルは残したままで、新たに別名のDXFファイルを作成します。「別名のDXFファイル名」は画面上に<新規生成ファイル・・・・・>という表示が現れますのでこれを参照してください。
08.複数のファイルを選択することができます
DXF・JWC・JWKファイルは複数選択してDXF変換することができます。
ファイル選択画面でスペースキーを押すと複数のファイルを選択できます。複数選択された場合は、連続してDXF変換することができます。但し、同一ファイ名への上書きチェックや、ディスク容量チェックせず変換を進めますので注意が必要です。
JWKファイルは一括選択できます。
JW_CADの図形ファイルであるJWKファイルは、「TAB」キーを押すと、表示されているディレクトリ内のJWKファイルを一括して選択できます。もう少し正確な表現をすると、JWKファイルに関して選択ファイルと非選択ファイルの属性を反転させます。例えば全部で10ケのJWKファイルがあり、その内2つが選択状態の時に「TAB」キーを押すとその2つは非選択となり、他の8つのJWKファイルが選択状態となります。
09.動作設定の変更は「TAB」キーを押す
AJ_DXFの動作内容は「AJ_DXF.CFG」の中に記述された条件で決定されます。
設定値は約60種類あり、これを書き換えることにより、AJ_DXFの動作が変化します。「AJ_DXF.CFG」はテキスト形式のためWindows標準添付の「メモ帳」等で書き換えることができます。しかしながらWindows環境に親しんだユーザには面倒くさく、解りずらい・・・・・・・・・・・
AJ_DXF実行中に「TAB」キーを押すと「AJ_DXF.CFG」の使用頻度の高い約30種の設定値を変更できますので試してみてください。(おすすめ設定モードも用意してあります)
※「AJ_DXF.CFG」はAJ_DXFが初回起動時に自動生成されるファイルです。
AJ_DXF実行中に「TAB」キーを押すと「CFGファイル直接書換」というモードがあります。これはAJ_DXFに添付されているDXFエディターJacEditを利用してAJ_DXF.CFGの書き換えを直接行うものです。利用に当たっては2つの注意事項があります。
「CFGファイル直接書換」利用上の注意点
@AJ_DXFをWindowsの全画面表示で利用されている場合は、書き換えが終了し元に戻った際、画面が乱れてしまいます。DOS窓で利用してください。詳しくは後述の「JacEditとJacViewについて」参照してください。
AAJ_DXF.CFGの直接書き換えは、システム管理データの書き換えに当たります。記述されたデータは全て正しいルールに基づいて記述されていることを前提として扱われ記述内容に問題があると動作不安定の原因になります。AJ_DXF.CFG自身の後半にはデータ単位での扱い方法が記述されていますので、必ず一読上の利用してください。万一、動作がおかしくなってしまったら、AJ_DXF.CFGを削除してAJ_DXFを再起動してください。初期設定のAJ_DXF.CFGを自動生成します。
10.AJ_DXFが作成するファイルとディレクトリ
ファイルの種類(大別すると3種類のファイルを生成します。)
@ユーザが使用するファイル
1)拡張子が「DXF」:DXFファイル変換で生成。
2)拡張子が「LZH」:DXFファイルを圧縮します。
A動作設定ファイル
1)AJ_DXF.CFG
AJ_DXFをはじめて起動した際に自動生成されます。
AJ_DXFの基本動作を設定するファイルです。
AJ_DXF起動時に読み込み、終了時に書き換えしています。
ユーザが書き換えすることもできます。
2)AJ_HED12.DATAJ_HED14.DAT
AJ_DXFでJWC=>DXF変換をはじめて使用した際に自動生成されます。AJ_HED12.DATはJWC=>DXF変換設定で出力スタイルを@AJ_DXFオリジナルとした場合出力されます。
AJ_HED14.DATはAAutoCAD2000用とした場合出力されます。このファイルはJW_CADに同梱された「DXF_HDR.DAT」に近いフォーマットです。内容を書き換えることにより主に線種についてDXF出力内容を変えることができます。
3)AJ_DXFG.CFG
AJ_DXFGをはじめて起動した際に自動生成されます。使用マシンの種別とAJ_DXF.CFGの収納ディレクトリ情報が記述されます。
4)AJ_DXFG.BATAJ_DCV.BATAJW_DXFG.BATAJW_DCV.BAT
AJ_DXFが自動生成します。
外部変形起動用バッチファイルです
AJ_*.BATはJW_CAD用
AJW_*.BATはJw_win用です。
5)JacEdit.CFG
JacEditをはじめて起動した際に自動生成されます。
JacEditの基本動作を設定するファイルです。
6)JacView.CFG
JacViewをはじめて起動した際に自動生成されます。
JacViewの基本動作を設定するファイルです。
BAJ_DXF内部で使用する各種臨時ファイル
動作がおかしくなって、設定を戻せないときは・・・・・原則的にはAJ_DXFの終了時に消去します。
AJ_DXF.CFGとAJ_HED12.DATとAJ_HED14.DATを消去した上で、
ディレクトリ(フォルダ)の扱いAJ_DXFを再起動してください。初期値のファイルを再生成します。
@ユーザが使用するファイル(DXFとTXT)の生成場所
1)初期値状態では、選択したファイルと同一のディレクトリにファイル生成します。
2)CD-ROM等、書込みのできないメディアの場合は、起動時のディレクトリ(Windows風に表現すると作業フォルダ)にファイル生成します。
3)動作環境設定ファイル(AJ_DXF.CFG)中に「MKF=ディレクトリ名」の記述があると、指定デイレクトリにファイル生成します。
A動作環境設定ファイルとBAJ_DXF内部使用ファイル生成場所1)起動時のディレクトリ(Windows風に表現すると作業フォルダ)にファイル生成します。
11.バージョンアップ時のご注意
新しいバージョンのAJ_DXFを実行される場合は、まず起動して、一度、終了させてください。AJ_DXFは終了時に最新の動作環境に合わせた設定を行っています(AJ_DXF.CFGの書き換え)
一度、終了させないで使用された場合は、新機能・バグ補正等の対応ができないケースがあります。
12.変換時に生成されるDXFファイル名について
DXF=>DXF変換の場合
変換・新規生成されるファイル名は次のとおり、自動決定されます。
対象となるDXFファイルがCD-ROM等の書込み不可メディアの場合は
起動時のドライブ・ディレクトリに生成します。
@ファイル名6文字目までは変換元のファイル名を参照。
Aファイル名が6文字以下の場合は後半を「$」で埋める。
Bファイル名7文字目が「$」。
Cファイル名8文字目が「1」から「9」の数字と「A」から「Z」の英字。
変換元変換後
例:1F.DXF =>=>=> 1F$$$$$1.DXF
1F.DXF =>=>=> 1F$$$1.DXF
建物1F_A.DXF =>=>=> 建物1F$1.DXF
建物1F_B.DXF =>=>=> 建物1F$2.DXF
建物1階.DXF =>=>=> 建物1$1.DXF
建物2階.DXF =>=>=> 建物2$1.DXF
JWC・JWK=>DXF変換の場合建物2F.DXF =>=>=> 建物2$2.DXF
拡張子(JWCorJWK)のみを「DXF」に変更します。
例:1F.JWC =>=>=> 1F.DXF
1F.JWC =>=>=> 1F.DXF
建物1F_A.JWK=>=>=> 建物1F_A.DXF
建物1F_B.JWK=>=>=> 建物1F_B.DXF
13.DXFファイルを圧縮(LZHファイル)するには
DXFファイルはテキストファイル形式のため、ファイルサイズが大きくなります。1枚のフロッピーディスクに収まらなかったり、Eメールで送るのには時間が掛かり過ぎる場合があります。(たぶん、ほとんどのケースがこれに当たると思います)
一方でDXFファイルはテキストファイル形式のため、データの圧縮を行うと劇的にファイルサイズを小さくできます。(うまくいけば1/10程度まで小さくなります)
AJ_DXFは内部でLHA(吉崎栄泰氏作、圧縮ソフトのスタンダード)を利用させていただき、生成したDXFファイルを圧縮ファイルに変換(LZHファイル)できます。
この機能は「JWC・JWK=>DXF連続変換」には対応できていません。
この機能を利用するためには、LHAがインストールされた上で、運用環境の設定が必要です。詳細についてはAJ_DXF.CFGの中に解説してありますので参照してください。
14.JW_CAD以外のCADソフトでの利用について
AJ_DXFはAutoCADとJW_CAD間でのDXFファイルを介したデータ交換ユーティティですが、他CADソフトでの利用でも活用できるかもしれません
DXF=>DXF変換
AJ_DXFはAutoCADの各種バージョンのDXFデータを可能な限りシンプルにする(原則として、直線と円弧と文字データだけに変換)DXF変換を行っています。一般にR12形式のDXFファイルはJW_CADが読めると思われがちですが、全てを読めるわけではありません。これをシンプルなデータに変換しています。
つまり、最もシンプルで無難なDXF変換を行っているわけですので、他のCADソフトでも利用できる可能性があります。但し、変換の際にJW_CADのDXF読込の特徴に合わせた変換を一部で行っているため、これを「一般的なCADソフト用DXF変換」の設定に変える事により、活用の可能性がアップします。この設定変更はAJ_DXF実行中の「DXF=>DXF変換設定」で<<おすすめ設定>>にある「A他CAD」を指定します。試してみてください。ひょっとしたら問題解決できるかもしれません。
JWC・JWK=>DXF変換
JW_CADのDXF出力より明らかに改善されるのは、「JW_CAD独自の文字表現」です。マルチテキストの各種機能をサポートしていないと、十分な機能は発揮できませんが、少なくても「文字化け」は解消できるはずです。(均等割付・日時印刷・ファイル名印刷・上付き文字等)また、JW_CAD上で非表示のデータを出力しないモードを持っている事もJW_CADでは対応していない機能です。
AJ_DXFはJW_CADのデータをできる限りAutoCAD上で再現するために、AutoCAD独自の機能を利用できるようなDXF変換を行っています。したがって、他CADソフトでの活用の可能性は「DXF=>DXF変換」より低いかもしれません。
AJ_DXF実行中の「JWC=>DXF変換設定」で、試行錯誤しながら設定を修正してみてください。ひょっとしたら、適切な設定値が発見できるかもしれません。
それから、「JWC・JWK=>DXF変換」セールスポイントはもうひとつあります。それは複数のデータファイルを一括して変換できる機能です。JW_CADの蓄積されたデータを他CADへ移植する場合、作業効率が上がるかもしれません。
15.DXF=>DXF変換時に新規作成するレイヤーについて
AJ_DXFの処理内容が「余計なお世話」だったり、「手直しが必要」だったりすると思います。
AJ_DXFは「_AJ_DATA」と「_AJ_HATC」のレイヤーを変換時に作成し、変換精度が低くて削除をしたり、修正が必要なデータをこの2つのレイヤーに集めます。
「削除」や「修正」の際、対象データが単独のレイヤーにまとまっていれば、多少は作業が楽になると思い、この機能を作りました。この2つのレイヤーに収納される変換データは次のとおりです。
1)_AJ_DATAペーパー空間
2)_AJ_HATC太線変換と塗潰し変換のハッチングデータ
但し、ブロック図形のデータはレイヤー移動ができず、中途半端な処理となってしまっています。
16.AJ_DXFでのDWG読込みについて
DWGとはAutoCADが標準出力するファイル形式を指します。ファイル名の最後に「.DWG」が付くファイルです。
AJ_DXF自身にはDWGファイルを変換する能力がありません。DWG読込みに当たっては別途VisioCorporationの「DCONVERT」を入手する必要があります。同ソフトウエアはhttp://www.opendwg.org/downloads/guest.htmから入手できます。
「DCONVERT」はWin32アプリケーションです。MS-DOSでは動作しません。
「DWG読込み」を使うための前準備
@まずは「DCONVERT」が必要です。前述のアドレスからダウンロードしてください。
ADCONVERTはZIP形式で圧縮されていますので、AJ_DXFと同一のディレクトリに解凍してください。
B正しくDCONVERTが収納されていれば、ファイル選択画面にDWGファイルが追加表示され、DXF変換ができるようになります。
「DWG読込み」の処理内容
@選択したDWGファイルをDCONVERTに引渡し、DXF変換してもらいます。
ADCONVERTの生成するDXFファイルは、AutoCADのそれぞれのバージョンに準じた形式のため、JW_CADでは全データを読込むことができません。これをAJ_DXFがDXF=>DXF変換します。
17.AutoCADが生成したDXFとの変換相性(DXF=>DXF変換)
AJ_DXFはAutoCADから出力されたDXFファイルをメインターゲットとして作成しています。AutoCADはDXFファイルの元祖(?)ですから、他のCADソフトでも効果が有る可能性があります。
AutoCADR14(LT97)から採用されたハッチング処理について対応できていません。したがってハッチングが存在するR14(LT97)のデータはR13形式で出力しないとハッチングを読み取りできません。但しこの場合、ファイルサイズが爆発的に増大する場合があります。このような時は、R14でのDXFファイルの形式が無難かもしれません。
AutoCADR13以上でR12形式のDXFファイル出力は避けた方が良いようです。(マルチテキストをテキストに変換する処理が良くない)
AutoCADのバージョンアップに伴ない、DXFファイルの形式が変化してきています。AJ_DXFが対応できる(できない)変換内容は次のとおりです。
<JW_CADで読み込みできない形式とその対応表>
◎:ほぼ変換できる。(と思っています)
○:多少の問題があるが実用レベル。
△:処理方法が荒っぽく、オリジナルデータを再現できない。
×:対応不可
V:AutoCADのバージョン
KeyWord:DXFファイルでの項目名
JW:JW_CAD
AJ:AJ_DXF
※内部処理内容については後述していますので参照ください。
V KeyWord 説 明 JW AJ
12 ARC 円弧 ◎ ◎
12 CIRCLE 円 ◎ ◎
12 LINE ライン ◎ ◎
12 POINT 点 ◎ ◎
12 POLYLINE ポリライン 〇 ◎ JW:曲線の処理が未対応(スプライン・フィット)
12 TEXT テキスト 〇 ◎ JW:位置合わせが左下に固定。
12 DIMENSION 寸法 × ◎
12 SOLID 塗り潰し × 〇 AJ:クロスした四角形の塗潰しは未対応。
12 TRACE 太線 × 〇 AJ:一定の太さの直線のみ対応。
13 ELLIPSE 円弧 × 〇 AJ:細かな直線に分解して処理。
13 LEADER 引出し線 × 〇 AJ:曲線には未対応。先端は矢印のみ。
13 MLAINE マルチライン × △ AJ:「無いよりはまし」のレベル。
13 MTEXT マルチテキスト× ◎
13 SPLINE スプライン × △ AJ:「無いよりはまし」のレベル。
13 TOLERANCE 幾何交差 × ×
13 RAY 放射線 × ×
13 XLINE 構築線 × ×
14 LWPOLYLINEライトウエイトポリライン × ◎
14 HATCH ハッチング × × AJ:対応する予定無し。(ムズカシイ)
18.ブロック分解について
DXFファイルには「ブロック」という概念のデータがあります。同一の図形が複数存在する場合、図形データは1つだけにして、プロットする位置や角度等の指定で作図する機能です。これにより、繰り返しのデータが減少しますので効率の良い(ファイルサイズ・処理スピード等)データが作成できます。この「ブロック」の概念は、一般的でありますが、複雑な計算が必要となるケースがあったり、一度プロットした後に移動したりすると、読込み側のCADソフトによっては100%ブロックデータを処理できないケースが発生します。(例えば、円弧のブロックデータを裏返しにして、回転させた上で、上下左右が異なった尺度で拡大したりすると、作者の頭の中は・・・混乱してしまいます)
JW_CADはこの「ブロック」という概念を持っていませんが、「ブロック分解」という手法で、ブロックデータを通常の作図データとして読み取りします。つまり同一データが複数存在する形となりますが、その内容は非常にシンプルな構造となります。
JW_CADの「ブロック分解」は非常に優れており、ほとんどのブロックデータを正確に再現してくれます。しかしながら2つの問題を含んでいます。
JW_CADの「ブロック分解」は・・・・
@ブロックの登録件数に上限がある。
正確には、件数ではなくブロック名のメモリ量だと思うのですがとにかく、限界があるのです。具体的にはブロックが800前後となると「ネストが深すぎます」のメッセージを表示して、読込みを中止してしまいます。
A寸法データがブロックとして扱われていると、読み取れない。
AJ_DXFはJW_CADの特徴である「ブロック分解」の精度は高いが、@ブロック件数の上限があり、A寸法図形が処理できない。という事を考慮して変換を行っています。AutoCADは寸法データを特殊なブロックデータとして処理しています。これをJW_CADは読み込んでくれません。結果として、寸法データが消失した図形となってしまいます。
具体的には・・・・
@一般的な「ブロックデータ」は分解せず、JW_CADの「高精度なブロック分解」を活用する。
Aブロック件数が多すぎる場合のみ、AJ_DXF側で「ブロック分解」する。(但し、変換精度が若干落ちる場合があります)
B寸法のブロックデータがあった場合は、JW_CADが読み取り可能な
「一般的なブロックデータ」に書き換えます。
他CADでのブロック処理の問題について
JW_CAD以外のCADソフトでDXFファイルを読み込んだ際に、建具や、各種パーツ等が、乱れた図形となってしまうケースがあります。
これは、読みこみ側のCADソフトがサポートしていないブロックデータがあった場合に起きている可能性があります。このようなトラブルの場合はAJ_DXFで「全ブロックを分解」することにより解決できるかもしれません。
AJ_DXFで「全ブロックを分解」するには、「DXF=>DXF変換設定」で<<おすすめ設定>>にある「A他CAD」を指定します。ひょっとしたら問題解決できるかもしれません。
AJ_DXFのブロック分解の弱点
現時点で、掴んでいるAJ_DXFのブロック分解処理の問題点は次のとおりです。もし、これに類する現象(図形の異常)があった時は、AJ_DXFの能力不足だと思ってください。
@AutoCAD上でブロック図形を、複数回移動した場合には、とんでもない場所にプロットされる可能性があります。(JW_CADの場合は画面の外になって表示されないかもしれません)
A円弧の図形を変形させた場合、正しい変換ができないケースが出ます。但し、作者がテスト用に作成した非常に意地悪なデータの場合に変換ミスを起こしましたが、このようなDXFファイルに作者はまだ遭遇していません。
※JW_CADは、ほぼ正しい変換してくれるのですが・・・
19.寸法線の読み込みについて
AutoCADから出力されたDXFファイル中の寸法線を、JW_CADが読み取れないケースがあります。これは、「DIMENSION」という寸法関連のデータをJW_CADが読み飛ばしてしまうために発生する現象です。
また、AutoCAD側で寸法関連のデータを分解(JW_CADで読めるようにする)しても、寸法線の端部(丸や矢印や実点)が離れてしまったり、分割されてしまうケースが多く発生します。これは、AutoCADの寸法データの扱いが、複数のデータを組合せて作成されている(例:引き出し線と端部図形の組合せ等)ために発生します。
AJ_DXFは上記2つの問題(JW_CADが読めない・端部がおかしい)に対応します。但し、AutoCAD側で寸法関連のデータの分解を行ってしまっているDXFファイルの場合は一切効力が発揮できませんのであらかじめ承知ください。
AJ_DXFが行う寸法図形の変換の内容は以下のとおりです。ご覧のとおり端部が実点の寸法線の場合が最もきれいに変換できるようにしたつもりです。
@JW_CAD側では不要な点データを無視する。
A寸法端部が「塗潰しの丸」の場合、これを実点に変換する。
B端部が実点の場合、この実点から離れないように寸法線を引く。
C端部が実点の場合、重複する寸法線をカットする。
D端部が矢印等の場合、ハッチングによる塗潰しをサポート(外変のみ)
AJ_DXF等を利用し、寸法図形をJW_CAD読込むと、線・点の重複・切断状態が、まず間違いなく発生してしまいます。(スミマセン)
読込み後[オプション]=>[C一括処理]=>[B線整理]=>[A連結・重複線整理]で処置してください。
20.寸法線端部の円を点に変換について
AutoCADは寸法データをブロックとして扱われます。
これに対しJW_CADは、ブロックデータをDXFファイルを介して読み込むことができますが、ブロックとして扱うことはできません。
この違いにより、使い勝手上での問題が生じます。寸法線データをAutoCADは1つのまとまりとして扱うため、ポイント位置についても特定の位置のみが読み取れます。
しかしながらJW_CADは線分と文字データの組み合わせをした複数データとして扱います。
AutoCAD側では寸法線の端部に円を使用しても、使い勝手上ではなんら支障がないのですが、このデータをJW_CADで扱った場合は沢山のポイント(端点や接点)が生まれ、スナップ(右クリック)がうまく使えなくなる場合があります。特に直線と小さな円が交差した場合、読み取りがむずかしくなります。
AJ_DXFはこの問題をクリアするために寸法線で使用される小さな円をチェックしこれを点に変換します。
この機能をON/OFFにするのには、DXF=>DXF変換設定で変更できます。(初期値はONになっていますので不都合な場合はOFFにしてください)但し、この機能はAutoCADの寸法スタイル設定で端部を円(白丸)にした場合について機能します。
他のCADで作成されたDXFデータの場合には機能しません。
また、AutoCAD側で分解コマンドを使用した場合にも正しい処理ができません。(結果として変換ができたり、できなかったりすると思います)もし、この機能がうまく機能せず、寸法線端部に円が残ってしまう場合は後述の「小さい円データを点に変換する」機能を利用してください。
21.小さな円データを点に変換する
JW_CADでは、小さな円を扱うとスナップ(右クリック)が扱うずらくなる場合があります。これを解消するためDXF=>DXF変換時に小さなサイズの円データを点に変換する機能があります。詳しくはAJ_DXF.CFG中の「FCF=小さな円を点に変換するかどうか」を参照してください。
22.DXF=>DXF変換時の問題点とその対策
AJ_DXFはAutoCADから出力されたDXFファイルを変換することを前提としています。DXFファイルはAutoCADから派生したフォーマットでありますが、柔軟性に富んだ処理形態のため、他各社のCADソフトから出力されるDXFファイルにはバラツキがあります。このような状況での変換上の問題については、考慮できていませんので、まずご理解ください。
別途同梱の外部変形プログラム「AJ_DXFG.EXE」を使用すると問題解決できる可能性があります。試してみてください。
パーフェクトな変換ができればよいのですが、実際には数々の問題が発生すると思います。現時点で掴んでいるその症状と、対策(or諦め)をコメントします。
先頭にある「◇△×」は問題の分類を示しています。
◇:解決方法が用意されている。
△:変換処理に手抜きがあり、正しい変換ができない。
?:変換処理が複雑で手が付けられない(作者の能力不足)
×:変換方法が見つけられず、作者自身が変換を諦めている。
◇:画面左下に極端に小さく表示される
◇:図面が拡大され画面からあふれた状態となってしまう
原因:JW_CADの縮尺もしくは用紙サイズの設定が正しくない可能性があります。
◎対策:DXF読み込みする前に縮尺と用紙サイズを修正してみてください。
「左下に小さく表示」の場合は縮尺を1/1にすると正しく読み込まれるケースが多いと思います。
◇:読み込み後の寸法がおかしい。「AJ_DXFG.EXE」を使用すると問題解決できる可能性があります。
原因:拡大・縮小されたDXFデータの可能性があります。
◎対策:まず寸法がわかっている部分をJW_CADで距離測定してみます。
例えば本来100mmの寸法が1mmと表示されたら1/100に縮小されている訳です。
未使用のレイヤーグループに正しい測定ができる縮尺を設定(例:前述の「1/100に縮小」されたデータが存在するレイヤーグループの縮尺1/1だった時は1/100にする)
◇:読み込み後、縮尺を変更したら文字のサイズがおかしくなった。このレイヤーグループにデータ全てをグループ移動します。「AJ_DXFG.EXE」を使用すると問題解決できる可能性があります。
原因:JW_CADの文字は縮尺に影響されず一定なため、発生します。
◎対策:DXF読み込みする前に縮尺を修正してみてください。
もしくは、前述の「グループ移動」で対処します。
◇:変換後のファイルサイズが大きくなる。データ数が多く、処理スピードが低下する。「AJ_DXFG.EXE」を使用すると問題解決できる可能性があります。
原因:AJ_DXFはAutoCADが行う塗りつぶし処理をハッチングのデータに置き換えます。このハッチングデータが膨大となり、ファイルサイズが増大している可能性があります。
◎対策:DXF=>DXF変換設定で「ハッチング処理をしない」にしてください。
また、ハッチングデータは「AJ_HATC」というレイヤーに収納してありますので、一括して消去することもできます。
また、DXF=>DXF変換設定でハッチング間隔を調整することにより改善できる可能性があります。
◇:塗りつぶし処理変換のハッチング間隔が不適当「AJ_DXFG.EXE」を使用すると問題解決できる可能性があります。
原因:ハッチング間隔は縮尺に合わせた間隔設定をする必要があります。
この設定値が不適当の可能性があります。
また、ハッチング間隔設定を「自動」にした場合で、変換対象のDXFファイルに縮尺データが埋め込まれていない場合にも、適切なハッチングができない可能性があります。
◎対策:DXF=>DXF変換設定でハッチング間隔を調整してください。「AJ_DXFG.EXE」を使用すると問題解決できる可能性があります。
◇:寸法誤差が大きい
原因:AutoCADが生成するDXFファイルはデータ自身を縮小して作成されるケースが多くあります。(例:1000mm=>10mm)このような場合はDXF変換時の小数点桁数を大きくしておかないと誤差が発生する可能性があります。(このような場合は距離測定もしくは寸法コマンドを使用しても正しい数値が出せません)
◎対策:DXF=>DXF変換設定で「小数点桁数を3桁」にしてください。
◇:読み込みされたようだけれど、画面には何も表示されない。
原因:用紙サイズから大きくはずれた位置に作図範囲があり、表示できていない可能性があります。(AutoCADで作図を行った場合はこのようなケースが発生します)
◎対策:用紙サイズを大きくします。例:用紙サイズを「50」と入力すると5A(A0サイズの5倍)になります。
◇:floatingpointerror""ZERのメッセージが出て読み込みを停止してしまう。データが表示されたら、画面左下にまとめて移動します。用紙サイズを元に戻してください。
原因:AJ_DXFの動作設定で出力するデータの桁数を0にすると発生する場合があります。AJ_DXFはデータを四捨五入して桁数調整しますので、例えば0.2はゼロとして出力します。このデータをJW_CADが割り算の分母として処理した場合に発生すると考えられます(?)
◎対策:DXF=>DXF変換の小数点以下の設定で桁数を1〜3の数値に変更してみてください。
△:文字位置がずれる
原因:文字の基点設定が左下と中央揃えの2つのケースのみ、位置指定の計算をして変換しています。他の豊富な位置指定については補正できていません。
◎対策:@「上下の均一のずれ」に対しては動作環境ファイル「AJ_DXF.CFG」にある「SSH=」の数値を変更してみてください。
Aその他の問題については申し訳ありません。各自で補正してください。
◇:文字サイズが合わない
原因:DXFファイルでの文字サイズは図面上でのサイズで表現されます。
(例:1/100の縮尺で文字高さ900mm)このため、文字の種類やサイズ制限はありません。一方JW_CADは印刷時の文字サイズで指定され、その種類にも制限があります。この違いにより2つの問題が発生する可能性があります。
@JW_CAD側で設定された文字サイズとDXFファイルに記述された文字サイズが合わない。
ADXFファイル読み込み時の縮尺を変更した際、文字サイズは変化しないため、文字サイズが合わない。
◎対策:@JW_CAD側の文字サイズ設定の修正をする。Aイ)AJ_DXFで<その他>=><動作環境変更>=><図面範囲>を「カット」にすると、DXFファイル読み込み時の縮尺が変更されません。
ロ)JW_CADのDXFファイル読み込み時の<設定>=><図面範囲>=><無視する>でもイ)と同様の結果となります。
ハ)<その他>=><文字サイズ変更>であらかじめ文字サイズを補正してから読み込む。
△:文字列中に意味不明な記号等が含まれている
原因:AutoCADR14までで使用される特殊文字等は補正しているつもりですが、漏れがある可能性があります。またAutoCAD以外のCADで使用されている特殊文字等には一切対応できていません。
◎対策:イ)JW_CADの「外部エディタ」を利用してエディターで置き換えをする。
△:長文が表示されないロ)DXFファイルを直接エディターで置き換えをする。
原因:DXFファイルでの文字情報のフォーマットで「マルチテキスト」があります。このフォーマットは1つの文字列情報を複数行に渡り、長文で表現ができます。AJ_DXFは半角で255文字までしか変換できず、これ以上はカットされます。
◎対策:・・・・・・・・
◇:勝手な位置で文字列が改行してしまう。
原因:前述の「マルチテキスト」で改行幅の設定データがあると、これを文字幅で計算して、改行変換しています。DXFファイルで指定されているフォントとJW_CADが使用する文字幅に違いがあると、思わぬ場所で改行してしまうケースがあります。
◎対策:AJ_DXF.CFG中にある「SFF=」の設定をOFFにします。(SFF=OFF)これにより改行が抑止されます。
△:線種が違う
原因:JW_CADはDXF読み込み時に「DXF_HDR.DAT」に記述された線種(ラインスタイル)の情報を元に、線種を決め処理しています。この「DXF_HDR.DAT」内の線種情報と、読み込みをするDXFファイル中に埋め込まれた線種情報が一致しないと、JW_CADは正しい処理ができないケースがあります。
◎対策:<DXF解析>等を使用してまず、JW_CADが認識しない線種名を調べます。「くさい」と思われる線種名の設定を<その他>=><線種設定>を使用して修正してください。(むずかしい・・・)「AJ_DXFG.EXE」を使用すると問題解決できる可能性があります。
◇:図面枠等のサイズが不適切
原因:ペーパー空間という概念を使用したデータ補正が正しく行われていない可能性があります。ペーパー空間はJW_CADで図面枠を単独のグループレイヤーに縮尺1/1で作図する考え方と似ています。
◎対策:<その他>=><縮尺変更>で縮尺を修正してください。
◇:JW_CADの図面範囲から大きく外れてしまう「AJ_DXFG.EXE」を使用すると問題解決できる可能性があります。
原因:DXFファイル中に盛り込まれた図面範囲データが極端に大きな数値だったり、マイナス数値の際、AJ_DXF側が<その他>=><動作環境変更>=><図面範囲>=><カットする>となっていると、この現象が発生する可能性があります。
◎対策:<その他>=><動作環境変更>=><図面範囲>=><そのまま>にします。
「AJ_DXFG.EXE」を使用すると問題解決できる可能性があります。
×:部分詳細図が表示できない
原因:DXFファイルのフォーマットで「VIEWPORT」(ビューポート)があります。
これは元図面の一部を抜き出して表示する機能なのですが、JW_CADには無い機能で、AJ_DXFでの変換処理対象から外しています。
◎対策:・・・・・・・・
△:寸法線で部分的に線が欠ける
原因:DXFファイルでの寸法線スタイルは沢山あります。AJ_DXFでサポートしているスタイルは限られる(ブロック図形で明確な定義がある場合のみ)ため、場合により一部のデータが抜け落ちる可能性があります。
◎対策:申し訳ありません。手作業で書き加えしてください。
△:引き出し線の線が欠ける・位置がずれる
原因:AJ_DXFが非常にいいかげんな処理をしているためです。
◎対策:申し訳ありません。手作業で修正してください。
△:塗潰し・太線時のハッチングが枠からはずれる
原因:AJ_DXFは塗潰しのデータをハッチング処理に置き換えしますが、その際の計算処理が非常に荒っぽく、微妙なずれが発生したり、まったく関係ない場所にハッチングする可能性があります。
◎対策:<その他>=><動作環境変更>=><ハッチング処理>=><OFF>にするとハッチングデータを生成しません。
△:塗潰し・太線時のハッチングが行われない
原因:普通の四角形(4つの角がすべて90゚)と平行四辺形と三角形しかハッチング処理できません。
◎対策:申し訳ありません。手作業で補正してください。
?:ハッチングが行われない
原因:AutoCADR14から出力された、ハッチングデータは非常に複雑で作者の能力では補正できません。
◎対策:AutoCADR13のタイプでDXFファイル出力すれば、ハッチングデータを読み取ることができます。
◇:変換後のファイルサイズが大きすぎる
原因:塗潰し・太線時のハッチング処理により、爆発的にデータが増加している可能性があります。
◎対策:<その他>=><動作環境変更>=><ハッチング処理>=><OFF>にするとハッチングデータを生成しません。
△:_AJ_DATAもしくは_AJ_HATCのレイヤーに収納されない
原因:AJ_DXFは変換精度の悪いデータを「_AJ_DATA」と「_AJ_HATC」というレイヤーに収納し、修正をし易くしていますが、ブロック図形に盛り込まれた「変換精度の悪いデータ」はレイヤー移動処理ができていません。
◎対策:・・・・・・・・
△:JW_CAD以外のCADで読めない
原因:AJ_DXFはJW_CADをターゲットとしており、JW_CADが見逃してくれる、不正なデータをそのまま出力しています。この結果、他のCADではエラーとなり読み取り不能となる可能性があります。
◎対策:面倒くさくて申し訳ありませんが、一度JW_CADで読み込み、DXF出力してください。JW_CADが不正なデータをカットしてくれます。
◇:「ネストが深すぎます」というメッセージが出て読み込みを停止してしまう。
原因:ブロックデータの件数が多すぎるとこのエラーで停止します。JW_CAD側でのブロックデータ処理内容を解析した訳ではないのですが、たぶんブロック名のスタックオーバーフロー対策で停止するのではないかと思います。(間違っていたら、どなたか教えてください)
AutoCADでは寸法をブロックデータとして処理しているため、寸法データが多いと結果的にブロックデータが増加し、この現象が起きるケースが多いと思っています(??????)。ブロックデータが合計で900件前後となるとこの現象が発生するようです。
AJ_DXFは変換時にブロック件数をチェックし、必要に応じブロックの分解処理を行います。初期値では801件目以上のブロックデータを分解する設定となっていますが、この設定を変更(AJ_DXF.CFGを書き換えることにより可能)してしまったか、登録されているブロック名に長い名前が多くJW_CAD側でメモリを使い果たしてしまった可能性があります。
◎対策:JW_CADでDXF読み込み時に「BLOCKSSECTIONxxx」というメッセージが画面上に表示されるはずです。エラーする場合はxxxの数値がカウントアップし突然に「ネストが深すぎます」のメッセージが出て停止した場合、停止直前の数値(xxx)がブロックデータ読み込み可能最大数のようです。この数値を覚えてください。(速いパソコンだと一瞬で消えてしまうので注意)数値は正確でなくてもかまいません(若干少なめの数値が良い)動作環境ファイル「AJ_DXF.CFG」にある「NES=xxx」の数値を記憶した数値(xxx)より少し少なく(マイナス30程度)した数値に書き換えます。設定値をゼロ「NES=0」にすると全てのブロックデータを分解しますが、AJ_DXFのブロック分解は荒っぽいところがあるため、不必要なブロック分解は避けてください。「AJ_DXFG.EXE」を使用すると問題解決できる可能性があります。
◇:「ネストが深すぎます」というメッセージが出てるが読み込みを停止しない。
原因:解りずらいと思いますが・・・・、ブロック名のメモリがほぼいっぱいの状態でエンティティセクション処理中にブロックデータの中でブロックが参照(ネスト)され、メモリ不足になった時に発生するようです。この場合ネスト分のブロックデータを読み飛ばし、結果として図形データの一部が欠けてしまいます。(詳しく調査した訳ではありません。間違っていたら、どなたか教えてください)
◎対策:動作環境ファイル「AJ_DXF.CFG」にある「NES=xxx」の数値を50ステップ
単位程度で下げてもう一度試してください。「AJ_DXFG.EXE」を使用すると問題解決できる可能性があります。
23.DXF=>DXF変換時の内部処理内容
専門的な内容になります。興味の無い方は読み飛ばしてください。
実際の処理内容は<解析>を使用して確認してみてください。
文中に表示されている「数値:」はグループコードを表します。
@マルチテキスト変換
1)0:MTEXTを0:TEXTに置き換えします。
2)11,12:ベクトルデータを50:角度データに変換します。
3)71:アタッチ位置が下部で中央揃えの場合、補正します。
他のアタッチデータはすべて、下部・左揃えで処理します。
4)3:追加文字列には対応していないため、長文の文字列には対応していません。
5)文字列中に書式コード「\P」がある場合には改行処理を行います。
6)41:文字幅があった場合は必要に応じ自動改行します。
A文字化け補正
1)AutoCADが扱う文字列の中に埋め込まれた情報を補正します。
2)特殊文字の変換(MTEXTとTEXT共通で使用されています)
@%%c=>φ
A%%d=>゚
B%%p=>±
C%%=>%
D%%o=>カット(上線のフラグ)
E%%u=>カット(下線のフラグ)
F\U+2205=>φ
G\U+00B0=>゚
H\U+00B1=>±
I\U+818B=>゚
J\U+817D=>±
3)書式コードの変換(MTEXTのみで使用されています)
@\O=>カット(上線開始のフラグ)
A\o=>カット(上線終了のフラグ)
B\L=>カット(下線開始のフラグ)
C\l=>カット(下線終了のフラグ)
D\~=>半角のスペースにする
E\\=>\
F\{=>{
G\}=>}
H\Cvalue;=>カット(色変更のフラグ)
I\Ffile_neme;=>カット(書体変更のフラグ)
J\Hvalue;=>カット(文字高さ変更のフラグ)
K\Sstrings;=>カット(縦配置のフラグ)
L\Tvalue;=>カット(文字間スペース変更のフラグ)
M\Qangle;=>カット(文字傾斜角度変更のフラグ)
N\Wvalue;=>カット(文字幅変更のフラグ)
O\Avalue;=>カット(文字位置合わせ変更のフラグ)
P\P=>カット(改行のフラグ)
Q{=>カット(設置値くくりのフラグ)
R}=>カット(設置値くくりのフラグ)
B寸法図形変換※・・・・つまり、制御コードは一切無視しています。
ブロックセクションでの処理
1)レイヤー「DEFPOINT」にかきこまれる0:POINTを0:_POINTにします。
(JW_CADでは読み飛ばすことになる)
エンティティセクションでの処理
1)0:DIMESIONを0:INSERTに置き換えます。
2)10,12,20,22:位置情報を補正します。
C引出し線変換
1)0:LEADERとこれに付随するデータをカットします。
2)10,20:頂点座標データを元に0:LINEのデータを作成します。
3)データの位置がエンティティセクションの場合はオリジナルレイヤー「_AJ_DATA」に書き込みします。
Dポリライン変換
ライトウエイトポリライン変換
1)0:LWPOLYLINEとこれに付随するデータをカットします。
2)10,20:頂点座標データを元に0:LINEのデータを作成します。
フィットカーブ変換
1)10,20,11,20:頂点座標データから距離と傾きを調べ、42:ふくらみのデータから角度を算出し、これを元に円弧データに置き変えします。
2)円弧データは0:ARCのデータとして書き込みします。
スプライン曲線変換
スプラインのデータには内部計算用の不要なデータが混在しているため、これをカットします。(76:16が付加されたの頂点データ)
E太い直線の変換ご注意:スプラインの処理は2次・3次共に不必要な線が1本ヒゲ状に残ってしまっています。このような場合は申し訳ありませんが手作業で消してください。(ヒゲは「AJ_DATA」というレイヤーに書き込みされています)
1)0:TRACEとこれに付随するデータをカットします。
2)輪郭を0:LINEデータで作成します。
3)台形以外の場合はハッチングデータを生成します。
4)データの位置がエンティティセクションの場合はオリジナルレイヤー「_AJ_DATA」に輪郭を、「_AJ_HATC」にハッチングデータを書き込みします。
F塗りつぶし図形の変換
1)0:SOLIDとこれに付随するデータをカットします。
2)輪郭を0:LINEデータで作成します。
3)台形以外の場合はハッチングデータを生成します。
4)データの位置がエンティティセクションの場合はオリジナルレイヤー「_AJ_DATA」に輪郭を、「_AJ_HATC」にハッチングデータを書き込みします。
Gペーパー空間補正
1)67:ペーパー空間フラグがあった場合は補正をおこないます。
2)「AJ_DXF.CFG」に記述された、縮尺設定値「SCA=xxx」の数値を元に10,11,12,20,21,22:座標データと40,41:文字サイズデータを補正します。
3)データの位置がエンティティセクションの場合はオリジナルレイヤー「_AJ_DATA」に書き込みします。
H「ネスト深すぎ」対策
1)「AJ_DXF.CFG」に記述された、ブロック分解開始点「NES=xxx」の数値を元にこの数値以上のブロックデータが存在するかブロックセクションで調査します。
2)設定値以上のブロックデータがあった場合はそのブロックデータをテーブルセクションとブロックセクションから削除します。
3)エンティティセクション内にある設定値以上のブロックインサートを削除し、その代わりに分解したブロックデータを挿入します。
4)ブロック分解の処理内容に荒っぽいところがあります。(円弧データ処理・ブロック図形全体の回転の精度が悪い)
I線種補正
1)「AJ_DXF.CFG」に記述された、線種情報に基づき変換します。
2)テーブルセクションの線種データをすべてJW_CADの標準
(AJ_DXF.CFG」に記述)の線種データに置換えします。
3)6:線種名をすべてJW_CAD用にの線種名に置換えします。
J楕円・円弧補正
1)0:ELLIPSEとこれに付随するデータをカットします。
2)輪郭を0:LINEデータで作成します。
K不要データのカット
1)5:ハンドル番号をカット
2)100:サブクラスマカーのカット
3)30〜38:Z座標データのカット
Lマルチライン変換(おまけレベル)
1)0:MLINEとこれに付随するデータをカットします。
2)中心線のみの0:LINEデータで作成します。従って、実際の作図イメージとは大幅に異なりますのであらかじめ承知ください。(ないよりマシのレベルです)
Mスプライン変換(おまけレベル)
1)0:SPLINEとこれに付随するデータをカットします。2)頂点を結んだ直線を0:LINEデータで作成します。本来、なめらかな曲線となるべきなのですが・・・・
24.
AJ_DXFはJW_CAD<==>AutoCAD間でのDXFファイル交換をメインターゲットとして作成しています。他のCADでも効果が出る可能性もありますが期待はしないでください。
変換条件の設定には、受け側のCADで実際に読み込みながら、最も無難と思われる設定を捜す必要があります。受け側のCADでテストしないままのJWC・JWK=>DXF変換したファイルは、希望するような効果がでない可能性があります。
変換条件の設定は、単にCADの種類で決まるのではなく、受け側のCADの運用環境に合わせる必要があります。AJ_DXFには、無難な設定を行う機能(JWC変換設定中のおすすめ設定)がありますが、この機能についても決して最良ではないので留意ください。
25.AutoCAD2000(LT2000)モードで変換した時の問題
JWC=>DXF変換設定で、AutoCAD2000(LT2000)モードのおすすめ設定があります。
このモード設定を実行すると生成されるDXFファイルはAutoCAD2000(LT2000)で読込み時にエラーしないようにDXFファイルの構造を補正します。
このDXFファイルはR14(LT97LT98)でも読込みできるようにしていたつもりだったのですがR14(LT97LT98)でこのファイルを読込むと致命的な問題を潜在的に抱えてしまう事が判明しました。(2000では問題ありのレポートは今のところありません)
その問題とは・・・JWC=>DXF変換時にAutoCAD2000モード(正確にはAJ_DXF.CFG内のJFRを1とした時)の設定を行いDXFファイルを作成しこれをAutoCADR14(LT97LT98)で読込むと以下のようなトラブルが発生します。
@AJ_DXFでJWC=>DXF変換(2000モード)・・・・・・・・・OK
AAutoCADR14(LT9798)で読込み・・・・・・・・・・・・OK
B読込んだデータをAutoCADでDXF書き出し・・・・・OK
C書き出ししたDXFファイルを再度AutoCADで読込み・NG(インターナルエラー)
この問題を回避するには・・・・つまり、一見問題がないデータに見えても、致命的エラーを包括しているのです。R14(LT97LT98)を使用される場合はご注意ください。
AutoCAD2000(LT2000)以外では、JWC=>DXF変換設定中の「DXFファイルのスタイル」で~「AutoCAD2000(LT2000)専用」を使用しないでください。「AJ_DXF標準」にしま~す。
26.AutoCAD2000(LT2000)への対応状況
AutoCAD2000(LT2000)とJW_CAD間でのデータ交換上で、現時点(1999/12)での対応状況をコメントします。「AutoCAD2000(LT2000)利用時の問題について」も参照してください。
JWC=>(AJ_DXF)=>DXF(AutoCAD2000(LT2000))
1)変換設定で「AutoCAD2000(LT2000)」のモードをかならず使用してください。R12モードは変換精度が落ちますし、R13とR14モードにすると読込みを中断してしまいます。
2)JWC=>DXF変換したデータをAutoCAD2000(LT2000)で読込みことは可能になっていますが、問題を抱えている可能性があります。JWC=>DXF変換したデータをAutoCAD2000(LT2000)で読込後に、DWGで保存。これをDCONVERT(バージョン不明。2000対応できているもの)で読込むとエラーとなります。なんらかのイレギュラーデータが存在している可能性あります。
DXForDWG(AutoCAD2000(LT2000))=>(AJ_DXF・AJ_DCV・AJ_DXFG)=>JW_CAD
1)DXFを読みこむ場合はR14・LT98のDXF読込みと、差異は確認できませんでした。(今までできることはOK。できないことはNG。)
2)DCONVERTを介したDWG読込みに関しては最新版(バージョンが明示されていない)を使用すれば読込みできます。但し、前述のとおりAJ_DXFが作成したDXFファイルを2000で読み取り、これをDWGファイル化した場合はDCONVERT(最新版)でDXF変換できませんでした。
DCONVERTの最新版について
1)現在(1999/12)、作者が使用しているDCONVERTはファイル生成日が1999/10/19のものです。どうもバージョン表示が無いようです(????)。また添付されている。テキストファイルは以前のバージョンのままのようです。アメリカ製のソフトウエアですので当然、全部英語で表現されているためさらに、実体がはっきり見えません。いずれにせよすばらしいソフトウエアであることは間違いありません。
2)試しにJW_CAD+AJ_DCV+DCONVERTでLT2000に添付されているサンプルファイル(2000バージョンのDWG)を読込んでみましたが、JW_CAD上で読込可能を確認しました。最新版のDCONVERTはAutoCAD2000(LT2000)に対応できているようです。
3)DCONVERTの入手方法と利用方法は後述の「<外部変形>AJ_DCV(DWGファイル読込み)について」を参照してください。
27.AutoCAD2000(LT2000)利用時の問題について
この内容は99/11/28現在の内容です。今後変更されることがあります。
まだ、詳細を確認しているわけではありませんが、今回のAutoCADバージョンアップはDXFに関しても大幅な内部的変更がされているようです。2000でのDXF読み込み時の条件は、以前(R14LT98)よりも格段に厳しくなっており、基本的には他CADから出力されるDXFファイルはR12仕様以外は受付けしない(読み込みを中断)スタンスのような気がします。従っての今までデータ交換ができたDXFファイルが2000では使用できなくなってしまうケースがこれから多発するのではないかと懸念されます。
しかし、2000で読み込みを拒否するくらいなら、対策も検討できるのですが、もっと重大な問題を包括しているようです。2000でいざ印刷しようとしたら(つまり最終段階)強制終了してしまうような現象です。このよう状況はより悲劇的だと思います。(業務で使用していれば当然納期があるのですから・・・)
今まで(R14LT98)問題とならなかったオートデスク側から見た不正なDXFの記述方法が今回のバージョン(2000)では障害となりエラーが発生している気がします。表現方法を変えると、問題を抱えたDXFでもあってもR14(LT98)までは発症せずAutoCADが利用できるが、2000では発症し致命的なエラーとなってしまうようです。しかも、この問題を抱えたDXFファイルをR14(LT98)で読み取り、DWG出力した場合、問題を抱えたままDWGファイルを生成してしまい、あたかも正規なDWGファイルのようになってしまうケースがあるようです。このようなDWGファイルを2000で読み込むと、操作中で突然強制終了してしまう場合があります。つまり、AutoCAD以外のCAD作成されたDXFファイルを元に作成されているDWGファイルが(言い方を変えると出所不明のDWGファイル)が、2000では障害が発生する可能性があるわけです。
また、2000でのDXFのファイル操作方法が変わっており、このことによる障害も懸念されます。例えば・・・2000でDXFファイルを読み込むとそのDXFファイルはオープンされたままの状態になります。(今までは読み込み終了時にクローズしていました)したがって、2000側でDXF読み込みを行った後に、マルチジョブ(他のウィンドー)で同一のDXFファイルを書き込みするような操作をするプログラムを走らせると共有違反となり、致命的なエラーが発生する可能性があります。
すこし生意気な表現をさせていただくと、当初から各種のソフトウエアが共有で使用することを目的として設計されたデータフォーマット(TXT/BMP等)以外は、CADデータに限らず、オリジナル以外のソフトウエアから出力することに危険性があるはずです。例えば、JWCはJW_CADから出力されるべきですし、DXFはAutoCADから出力されるべきなのです。たとえそのデータフォーマットが公開されていたとしても、公開が100%なされているかは疑問ですし、その公開内容を読み取った方の解釈によっても変化してしまうからです。ちなみにDXFフォーマットは一般利用を目的として作成されたデータフォーマットではなく、オートデスク社の種ソフトウエアや他バージョンとのデータ交換用に作成されたものです。このことが今までもDXFによるデータ交換の障害となってきた訳ですが、今回の2000の場合さらに障害が拡大してきている気がします。
訳の解らないコメントを羅列してしまいましたが、現時点で2000でのDXF読込み時の問題点で掴んでいる内容は以下のとおりです。
1)R13以降から追加された機能をDXFで記述する場合は、AutoCADのバージョンをDXF上で記述する必要がある。
2)ハンドル番号を正しく記述しないと、2000でDXF読込みできても、操作中にエラー(強制終了)する場合がある。
もし、新たな問題を感じている方がいらっしゃいましたら、ニフィテー・建築フォーラム・CAD館でコメントをいただければ幸いです。
AJ_DXFでのAutoCAD2000対策
前述のAutoCADのバージョンとハンドル番号に関して対処していますが、可能な限り記述するエレメントを少なくしています。これは、AutoCADが持つ運用環境のディフォルト(初期値)を崩さないためです。このことが私の認識外でトラブルとなる可能性があります。もしお気きの場合はご連絡ください。現在確認している「AJ_DXFでのAutoCAD2000対策」上での問題が1つあります。これによりAutoCAD動作上で若干の不都合が出てしまいます。それはビューポートに関する設定値です。2000はビューポートの設定値をDXF上で求めてきます。(省略すると読込みを中止してしまう)
私にはビューポートの概念すらはっきり理解できず、さらにそのテクニカルデータはどのような計算をすればいいのか解らないのです。
例えば・・・図面を上空の何メータから見るのか。その時に使用するレンズの焦点距離はいくつか。DXFが3D用のデータフォーマットのため完全に私の領域を越えています。いいかげんなデータ設定のため、読込み時に画面上の図面位置・サイズが正しく表示できない可能性があります。
28.ポリライン変換について
AJ_DXFはJWCファイル中の連続線データと円・円弧データをポリラインに変換することができます。まずはJWC=>DXF変換設定を「ポリライン変換する」にします。
(AJ_DXFの初期画面状態で「TAB」キーを押します。JWC=>DXF変換設定の画面が現れますので、「ポリライン変換する」を指定してください)ただし、いくつかの制限事項がありますのでコメントします。
AJ_DXF.CFGにも解説がありますので併せて参照ください
ポリライン変換は変換スピードが低下します。
JW_CADのデータ内部にはポリラインに準じたデータ構造がありますが限られた条件でしか存在しません。AJ_DXFはこの「ポリラインに準じたデータ構造」をポリライン変換するだけでなく、直線データが連続線になっているかどうかをチェックします。この演算処理が加わるため処理スピードが低下します。また、変換後のデータ件数も増加しますので「ポリライン変換」に魅力を感じない方は利用されないほうが良いです。
円弧データを含んだ連続線の変換はできません。
直線データのみをポリライン変換します。連続線の中間に円弧データが含まれると、ポリラインはその時点で中断して「開放状態のポリライン」となってしまいます。
あくまでも「連続線」が変換対象です
例えば、四角形を水平線2本を作図し、その後で垂直線を作図したとします。この場合は線分データの座標は連続していないためポリライン変換の対象にはなりません。
閉じたポリラインも生成できますが・・・
前述の「連続線」データの最終座標が始点と同一の場合には「閉じたポリライン」を生成します。また、円・楕円も閉じたポリラインとして変換します。しかしながら、この条件を満たすデータはそれほど多くないため、思うような「閉じたポリライン変換」ができないかもしれません。
確実にポリラインを生成させるには・・・・
他ソフトウエアに面データとして引渡しして、塗りつぶしやハッチング処理を確実にできるようにするには、JW_CAD作図中に、面としたいデータを連続線でトレースして(必ず閉じた図形にする)からAJ_DXFを使用してください。但し面データが多い場合には実用的ではありません。複数の線分データをポリライン化できる機能を持ったCADで一度AJ_DXFが生成したデータを読み取り、ポリライン化すれば(AutoCADではBOUNDARYコマンド)多少は手間が省けるかもしれません。
円・円弧データは単独のポリラインデータとして変換できます。
JWC=>DXF変換設定の画面で「B連続線と円弧をポリライン変換する」にしてください。円・円弧データを短い直線が連続したポリラインに変換します。但し、隣接した直線データと接続処理をするわけではありません。
直線と直線が微妙に離れている場合は連結できるケースがあります。
見た目には連続している直線でも拡大してみると微妙に離れていてポリライン化できないケースがあります。JWC=>DXF変換設定には小数点桁数設定があります。この桁数を調整することによりこの「微妙な離れ」を解消できる可能性があります。例えば、2つの直線の端部が0.3mm離れていたとします。小数点桁数を0にしていると0.3mmの離れは四捨五入で0mmになり連結されることになります。
29.ByLayerについて
AutoCADには"ByLayer"という概念があります。おおざっぱに表現すると"レイヤーの設定値に順ずる"だと私は思っています。
AutoCADはレイヤーの設定値に線種類と色があります。最初にレイヤー別の線種類と色を決めてしまい、作図時にはレイヤーが変わる毎に自動的に設定値が変化し、意識せず統一した図面を作図できます。また、作図後に、線種類や色の設定値を変更すれば、これに合わせて図面も変化します。作図の際この機能を利用するには、線種名に実線や破線等を指定したり、色名にREDとかGREENのような指定をせず"ByLayer"を指定します。
JW_CADにはレイヤー別の線種類・色を設定することができないないため当然"ByLayer"に順ずる設定値も存在しません。しかしながらこの機能に似た動作をさせることがJW_CADで可能です。
JW_CADには環境設定ファイル(初期値はJW_CAD.JWF)があります。このファイルはテキストファイルのため、メモ帳等で開くことが可能です。この環境設定ファイルには"LAYTYP_?="と"LAYCOL_?="(?は0〜Fが入る)があります。この設定値を書き換えしたり、追加するとAutoCADと似た動作をJW_CADで実現できます。
LAYTYP_?=はレイヤー毎の線種類を指定します。"?"にはグループレイヤーを入れます。"="の後にはレイヤー別の線種類番号を書込みます。
例:レイヤーグループ6は6-1のみ点線。他レイヤーは全て実線
LAYTYP_6=1211111111111111
例:レイヤーグループAはA-Fのみ緑。他レイヤーは全て水色
LAYCOL_A=1111111111111113
このような設定をして作図すると書込みレイヤーを移動する度にレイヤー別に設定された線種類・色に自動変更されます。このレイヤー別情報がデータ保存時のJWCデータの中に組み込まれていれば良いのですが、残念ながらJW_CADの内部データとしてか扱われていないようです。したがってレイヤー別の線種類・色情報は環境設定ファイル(初期値はJW_CAD.JWF)から取得するしか方法が無いようです。
環境設定ファイルの詳細についてはJW_CADに添付されたSAMPLE.JWFや別途関連図書等を参照してください。
Jw_winのJWFファイルも読み込むことができます。ただし線種類は9までしか処理できません。10以上の値があった場合は正しく動作しません。
AJ_DXFはJWC=>DXF変換時にこの環境設定ファイルを読みこみ、レイヤー別の線種類と色情報を書込み、ByLayer情報埋め込みをすることができます。
JWC=>DXF変換時の関連する機能は次のとおりです。それぞれの機能を有効にするにはAJ_DXF.CFGを直接書き換えする必要があります。(扱いづらくて申し訳ありません)この機能を利用される場合は、ご自分でAutoCADの読み取り結果を確認の上、ご利用ください。環境設定ファイルの記述内容によってうまく動作できないこともあります。併せてAJ_DXF.CFG内の解説も参照してください。
1)環境設定ファイルを読みこむことができます。(JWF="ファイル名")
AJ_DXF.CFGに環境設定ファイル名を記述するとこれを読みこみ、更にレイヤー情報が記述されていた場合はこれを読み取りします。環境設定ファイル名は最大4つまで登録し変換時に選択できます。JW_CAD初期値の環境設定ファイルにはレイヤー別の線種類・色情報は含まれていませんので、環境設定ファイルに書込みしないかぎりJWC=>DXF変換に変化は現れません。
2)レイヤーで設定された線種類もしくは色と同じデータがあった場合ByLayrとしてDXFファイルを出力します。(JLY=1)
例えば1-1レイヤーには線種類が実線、色が水色と設定があったとします。この場合同レイヤー上にあるデータの内、線種類が実線のものは線種類=ByLayerとなり、色についても同様になります。
2)色を無条件でByLayerとします(JLY=2)
レイヤー別の色情報が全て揃っていれば、レイヤー単位で色が統一されます。またAutoCAD上でレイヤー別の色情報を変更すると、この変更が図面上で反映されます。
3)線種類を無条件でByLayerとします(JLY=3)
前項と同様に線種類を全てByLayerとします。
4)色・線種類を無条件でByLayerとします(JLY=3)
30.JW_CADの線の太さをAutoCADに引き渡す
AutoCADの線の太さについて
AutoCAD2000より新しい機能として線の太さを表現する機能が追加されました。
線の太さ変換を利用するにあたって
いままでもポリライン・太線等で線の太さを表現できていましたが、新たに一般的な線分(直線・円弧)でも線の太さのデータを組み込むことができるようになりました。
JW_CADユーザが多く利用しているPen番号(線色)別に線の太さを設定し、色分けをモノクロ印刷時に線の太さの違いで表現する扱いと極めて類似した機能です。
AJ_DXFはJW_CADユーザが使用してきた線の太さをAutoCAD上で再現する機能を持っています。
この機能を利用されるに当たってはいくつかの利用のための条件があり、変換後にAutoCADがどのように再現するかを確認されてから実務にご利用ください。
@相手側はAutoCAD2000以上の必要があります。従って、複数のAutoCADを利用されている職場用の変換としては適していません。R14(LT98)以前のAutoCADではエラーとなり、読込みを中断してしまいます。
A線の太さをAutoCADで利用するとAutoCAD側の表示処理に負担がかかります。これは線の太さを表現するため、内部の計算回数が増えるためです。ただしAutoCAD側で線の太さを画面上で表示させないモードにすれば、この問題を解消できます。線の太さ設定画面で「線の太さを表示」のチェックをはずしてください。
BAJ_DXF.CFGにPen別の太さを記述します。AutoCADの線の太さの単位は実際の印刷時の線の太さに100をかけたものです。AJ_DXFが初期値として設定している線幅は次のとおりですJP1=20JP2=20JP3=30JP4=30JP5=40JP6=40にしてあります。設定値は利用される方々で異なると思います。補正されることをおすすめします。(JP1・JP2・JP3・・はAJ_DXF.CFG内で使用する識別記号です。併せてAJ_DXF.CFGをお読みください)
CAutoCADが扱う線の太さは特定の数字に限られます。AJ_DXF.CFGにユーザが既定外の数値を記述した場合は自動補正します。
DAutoCADが扱う線の太さの数値
実際の太さは100で割った数値になります例えば5は0.05mmです。0は利用するプリンターの最も細い線を表します。
「線の太さ変換」する手順0,5,9,13,15,18,20,25,30,35,40,50,53,60,70,80,90,100,106,120,140,158,200,211
@前述でコメントしたAJ_DXF.CFG内の線の太さの数値を修正します。
機能テストだけでしたら、AJ_DXFの初期値ままでも(AJ_DXF.CFG書き換えなし)問題ありません。
AJWC=>DXF変換設定で線の太さの設定を「する(ON)」にしてください。
AJ_DXF.CFG内で直接書換え(JPFW=1)してもかまいませんが、その際は併せてJFR=1の設定もすることが必要です。
31.イラストレーター(AdobeIllustrator)での読み込み
AJ_DXFのJWC=>DXF変換は、イラストレーターで読み込みできるスタイルでDXF出力します。イラストレーター用のDXFを作成する場合は「ポリライン変換モードにしてください。但し、前述のとおり着色のために必要な「閉じたポリライン」データの生成は限られた条件のみでしか作成されません。出力する形式(R12/R14/2000等)についてはJWC=>DXF変換が新しい要素を出力しないため、いずれも読み取りできると思います。
32.JW_CAD独自の文字表現の対応(JWC・JWK=>DXF変換時)
JW_CADは文字列の中に特定の記号を入れることにより、優れた表現を行うことができます。しかしながら、この文字情報をDXFファイルで他CADに渡した場合「文字化け」となるだけで、かえって悪影響が出てしまいます。AJ_DXFを利用してJWC・JWKファイルをDXF変換した場合は、以下のとおり、この問題を解決することができます。(100%解決できるわけではありませんが・・・)「JW_CADのルール」については併せて「JW_CAD.HLP」や「解説本」を参照ください。
均等割り付け
@JW_CADのルール
文字の終りから均等割り付けする位置の最後まで"・"(中点)を書きます。
例えば・・・
「DxfFile・・・・・・」は
「D x f F i l e」と表示されます。
AAJ_DXFの変換方法
マルチテキストの「文字間隔設定」機能を利用して、均等割付を行います。
B留意点
マルチテキストのみの対応です。テキストの場合は"・"(中点)のカットを行うだけです。
出力日時の埋込文字間のスペースは最大3文字分までとなります。(マルチテキストのスペック)これ以上の間隔の場合は3文字分に固定されます。
@JW_CADのルール
「$」「%」「&」いずれかの文字のあとに「y」「Y」「m」「d」「H」「h」「n」「N」「M」「S」を記述すると、図面出力時(印刷時)に日時を埋め込むことができます。私はJW_CADからプリンターやプロッターに出力した経験が無く、その環境も無いため、「JW_CAD.HLP」を参照しながらコメントしています誤りがあれば、ご連絡ください。
例えば・・・
「$y年$m月$d日$n$h時$M分$S秒」とJW_CADで文字入力すると出力(印刷)時には「99年10月11日AM10時11分12秒」となるはず(?)です。
AAJ_DXFの変換方法(4種類の変換モードがあります)
変換モードの変更は、動作環境設定ファイル「AJ_DXF.CFG」を直接書き換える必要があります。(つかいずらくてスミマセン)
「AJ_DXF.CFG」にも、解説がされておりますので、併せて参照ください。
「$y年$m月$d日$n$h時$M分$S秒」を変換したケースを使って解説します。
「$」の代わりに「%」や「&」も使用しても結果は同じです。
前述のとおり、JW_CADでは「99年10月11日AM10時11分12秒」と出力します。
例題(JW_CADで入力)$y年$m月$d日$n$h時$M分$S秒初期値は「変換(1)」となっています。
JW_CADでの出力99年10月11日AM10時11分12秒
(JW_CAD出力時の日時)
AJ_DXFでの変換(1)YY年MM月DD日HH時MM分SS秒
AJ_DXFでの変換(2)99年10月11日22時11分12秒
(AJ_DXF変換時の日時)
AJ_DXFでの変換(3)YY/MM/DDHH:MM
AutoCADでは、このように表示されますが「日付記入」コマンドを実行すると・・・・
「99/10/1122:11」表示に切り替わるはずです。
AJ_DXFでの変換(4)日付記入コマンドを実行してください
というメッセージが表示されます。
「日付記入」コマンドを実行すると・・・・
B留意点「99/10/1122:11」表示に切り替わるはずです。
変換モード(3)(4)はAutoCADの独自の機能に依存した変換処理ですので、他のCADでの利用は避けてください。
変換モード(3)(4)の場合は対象となる文字情報の内容を一切無視して前述のとおり変換します。前後にコメント等がついた場合は注意ください。
(例:作成日$y年$m月$d日$n$h時$M分$S秒=>99/10/1122:11)
平成年度の変換はサポートしていません。
ファイル名の埋め込み時刻は24時間単位のみの表示となります。
@JW_CADのルール
「$」「%」「&」いずれかの文字のあとに「F」「f」を記述すると、図面出力時(印刷時)にファイル名を埋め込むことができます。
例えば・・・
「$F」とJW_CADで文字入力すると出力(印刷)時には「C:\AJ_DXF\TEST.JWC」となるはず(?)です。
AAJ_DXFの変換方法(4種類の変換モードがあります)
変換モードの変更は、動作環境設定ファイル「AJ_DXF.CFG」を直接書き換える必要があります。
「AJ_DXF.CFG」にも、解説がされておりますので、併せて参照ください。
初期値は「変換(1)」となっています。
例題(JW_CADで入力)$F
JW_CADでの出力C:\AJ_DXF\TEST.JWC
(JW_CADで作図中のファイル名)
AJ_DXFでの変換(1)<
AJ_DXFでの変換(2)TEST.DXF
(DXF変換中のファイル名)
AJ_DXFでの変換(3)<
AutoCADでは、このように表示されますが「日付記入」コマンドを実行すると・・・・
「Drawing.dwg」表示に切り替わるはずです。
AJ_DXFでの変換(4)日付記入コマンドを実行してください
というメッセージが表示されます。
「日付記入」コマンドを実行すると・・・・
「Drawing.dwg」表示に切り替わるはず
です。
B留意点
変換モード(3)(4)はAutoCADの独自の機能に依存した変換処理
ですので、他のCADでの利用は避けてください。
縦横1/2の文字を上付又は下付文字にする変換モード(3)(4)の場合は対象となる文字情報の内容を一切無視して前述のとおり変換します。前後にコメント等がついた場合は注意ください。
@JW_CADのルール
「^u」を記述すると、これに続く文字を縦横1/2の上付文字にします。
「^d」を記述すると、これに続く文字を縦横1/2の下付文字にします。
例えば・・・
「m^u2」は「u」と表示されます。
AAJ_DXFの変換方法
マルチテキストの「文字サイズ変更」機能を利用して、処理します。
B留意点
その他マルチテキストのみの対応です。テキストの場合は「^u」「^d」ののカットを行うだけです。
文字の均等縮小「^1」〜「^9」と半角文字のニ重書等「^o」「^b」「^B」「^c」については未対応です。
33.JWC・JWK=>DXF変換時の文字に関する問題
文字に関する問題について
JW_CADでDXF出力し、AutoCADで読み取った時に文字に関していくつかの問題が発生します。
@文字サイズが合わない
AutoCADのフォントは、文字種類により文字幅が異なるため(例:全角と半角の数字は、文字幅にあまり差がない)実際のイメージと異なるケースがあります。
A文字が意味不明になる(文字化け)
文字列の中に^U^D%D・等の文字が混ざるケースがあります。これは、JW_CADでは表示されず、それぞれ特殊な文字表現が行われるためのフラッグ文字です。結果としてJW_CADでは表示されない文字が出現してしまうことになります。そして同時に上付き文字や均等割付等の文字列が正しく表現されません。
B縦書き文字が変換されない。
JW_CADでDXF出力した場合、AutoCADでは再現できません。
C全角の記号文字の一部がAutoCADで表示できない
問題の解決手段@ABQRSTUVWXYZ[\]_`abcdu等が「?」マークになってしまいます。詳細は「AutoCADでの文字制限」を参照してください。
JW_CADでDXF出力は「TEXT」という要素で記述しています。この場合には上記のような問題をクリアできません。DXFファイルの文字要素名には「MTEXT」(マルチテキスト)があります。このMTEXTは多彩な文字のアレンジが可能になりますが、JW_CADではこの機能がありません。
最も正当な対処方法は、このようなデータ交換上の問題をつかんだ上で、トラブルが発生しないように作図することなのですが、すでに作図が進んでいる状態だったり、すでに登録してあるJWCファイルをDXF出力する場合にはきびしい対処方法になります。
AJ_DXFのJWC=>DXF変換で「MTEXT」(マルチテキスト)を出力することが可能です。
「MTEXT」(マルチテキスト)出力時の問題
MTEXTはTrueTypeフォントを使用することができますが、文字数が多かったり、運用環境によりAutoCADでの表示・印刷スピードが著しく低下するケースがあります。使用フォントを専用フォントにすることより、スピード低下を防止することができますが、「TEXT」と同様の問題が発生してしまいます。(文字サイズ合わない・縦書き不可・全角記号文字表示不可)「MTEXT」はAutoCADR12以下ではサポートされていません。また、AutoCAD以外のCADの場合「MTEXT」をサポートしていないものもあります。
AJ_DXFでの「MTEXT」出力おすすめ設定
AJ_DXFは「MTEXT」を利用しながら、処理スピード低下軽減のモードがあります。(初期状態はこのモードとなっています)具体的には、JWC=>DXF変換設定でフォント指定を「Cビッグフォント+MSゴシック」にします。(おすすめ設定を実行するとこの設定になります
「Cビッグフォント+MSゴシック」設定時に、MSゴシックとなるケースこれにより、標準フォントをAutoCAD専用の「ビッグフォント」(実際にはEXTFONT)を使用し、表示上で問題が発生する場合(縦書き不可・全角記号文字表示不可)のみ「MSゴシック」を使用します。「ビッグフォント」を使用した際の文字幅の違いについては、パーフェクトではありませんが、AJ_DXFが補正します。
※少し「やりすぎ」かもしれません。設定をDにすると「EXTFONT」のみを使用することができます。
1)ビッグフォントでは表示できない記号文字をMSゴシックにします
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]_`abcdefghijklmnopqrstu~∞gョх援括窮欠合紫潤焉゚∫島煤縺ロ∠凵諱ソ∪
2)縦書き文字をMSゴシックにします
34.JWK=>DXFコンバーターAJ_JWKについて
AJ_JWKとは
JW_CADの図形データファイル形式であるJWKファイルは、1つ1つのファイルサイズは小さくも、大量な蓄積がされているケースが多いと思います。このような状況下で他CADへデータを移植しようとした場合、生成するDXFファイルの数も多くなり、手作業によるDXF読み取り作業や、別CADでの運用できるための作業について手間が掛かるケースが多いはずです。AJ_JWKはこのような作業を少しでも軽減できないかと考え、作成しました。・・・・とは言っても、このプログラム自身は別のプログラムモジュールを転用して作成したもので、「お・ま・け」レベルと思ってください。つまり、処理内容にいいかげんなところがあるのですがかんべんしてください。また機能の拡張についても考えておりません。(このプログラムだけはVisualC++で作成しています。)
AJ_JWKの機能(1)JWK一覧表の作成
JW_CADが生成する図形ファイル(JWK)は「ZUKEI_」が先頭についたディレクトリ(フォルダ)に生成されます。このディレクトリ内には複数のJWKファイルとタイトル等を管理している「ZU_NAME.DAT」というファイルが収納されます。AJ_JWKはこのディレクトリ内に収納された複数のデータを1枚の図面データ(DXF)に変換するソフトです。具体的には、「ZU_NAME.DAT」に収納された図形グループ名をDXFファイル名として、複数のJWKファイルを1つの図面データとしてまとめます。DXFへの変換はブロック図形として書き込みしますのでブロックの概念を持ったCADで読みこんだ場合は、読込み後の作業が楽にできると思います。生成するDXFファイル形式は基本的にはR12形式ですが、2000で読み込んだ時にも再現性が高まるように、一味調味料を加えています。
AJ_JWKの機能(2)JWKサムネイル
大量に作成されたJWKファイルを、ご自分で管理したり相手に引き渡す際、ディレクトリ単位で一覧表があると便利です。但し縮尺を統一した一覧表の場合、図形が大小さまざまとなってしまい見づらくなってしまうはずです。「JWKサムネイル」はそれぞれの図形が、枠にちょうど良いサイズで作図し、読みやすい形の一覧表を作成します。但し、結果としてスケールアウトした図面となりますので留意ください。「JWKサムネイル」の作図手法は、原寸の図形データをブロック登録し、インサート時に尺度を補正して作図しています。従ってブロック図形を処理可能なCADの場合は、原寸の図形データを取り出す事が可能です。
動作条件
AJ_JWKはWin32コンソールアプリケーションです。平たく表現すると・・・MS-DOSモードでは動作しませんが、Windows内でMS-DOS画面にして、キーボードで起動させるプログラムです。(もっとわかりずらい・・・)このソフトウエアはAJ_DXF内で、使用(子プロセスと言います)することを前提にしています。この方法を使えば、AJ_JWKを意識せず利用できるはずです。(但しWindows内で使用することが条件です)BAT処理やFDなどのファイラーを使い慣れている方には、別の活用方法もあるのですが・・・・・
セットアップのしかた
AJ_DXFと連動させて使用される場合は、AJ_DXFを収納したディレクトリと同一の場所にAJ_JWK.EXEをセットしてください。(強く推奨)AJ_JWK.EXEは単独でも動作しますが、この場合はコマンドラインでの使用となります。
使用方法
原則としては、AJ_DXFを実行中に使用してください。メニューの「その他」内に「JWK一覧表化」と「JWKサムネイル化」があります。これを実行すると、ファイル選択画面となりますので、変換したいディレクトリ内にあるJWKファイルを1つだけ選択してください。後の処理はAJ_DXFがやってくれます。(DCONVERTの処理と似ています)
コマンドラインでの入力は次のとおりです。
文法.......AJ_JWKDirectryName[-n][-s]
Sample.....AJ_JWKC:\JWC\ZUKEI_1_\
#NAME?
#NAME?
生成するDXFファイルについて(最後の\マークを忘れないでください)
生成する場所
変換対象のディレクトリに生成します。
生成するファイル名
「ZU_NAME.DAT」にグループ名が存在する場合はこれをファイル名にします。例えば、「乗用車」というグループ名だったら「乗用車.DXF」となります。「ZU_NAME.DAT」にグループ名が無かったり、「ZU_NAME.DAT」自身が存在しない場合は「AJ_JWK.DXF」となります。いずれの場合もノーチェックで上書きしてしまいますので、承知おきください。
生成するDXFのバージョン
前述のとおり、R12形式でのみ出力します。ブロックインサートの手法で作図しています。後述の「生成するブロック名について」も確認しておいてください。
変換条件の変更について
変換条件はAJ_DXFと同様にCFGファイルに記述された内容で決まります。AJ_JWKは起動時にまずAJ_DXF.CFG(AJ_DXFが生成するCFGファイル)を探します。もし、見つかった場合はこれを読み取りAJ_DXFで設定した条件でDXF変換をします。AJ_DXF.CFGが見つからない時はAJ_JWK.CFGを探し、変換設定値を読込みします。さらにAJ_JWK.CFGも見つからない時はAJ_JWK.CFGを生成し、初期設定値を書き込みします。
変換設定が可能な要素はAJ_DXFと比べると大幅に少ないのであらかじめ承知おきください。変換設定が可能な項目は次のとおりです。
JMS=文字出力サイズ(%で表記)
JMC=文字色(0〜127)
JPO=実点をPOINTで処理:0円に変換:1POLYLINEで処理:2
JPM=POINT表示スタイル($PDMODE)初期値は0
参考(0:点2:+3:×32:○34:○と+35:○と×)
JPS=実点のサイズ
JKE=小数点以下の桁数(0〜3まで)
JCO=線番号順の色
変換精度に影響が出る事項についてJSS=文字種類別の高さ
まったく用途の異なったプログラムを部分使用して作ったため、変換上の不都合がいくつかあります。
文字サイズの変換が不安定
文字番号に対応した文字サイズはJW_CADの初期値を使用しています。JW_CADの利用環境により文字サイズの変換がおかしくなる可能性があります。この問題を解決する手段(100%のクリアはできないのですが・・・)を用意していますので次項の「文字サイズの補正」を参照してください。
複数の縮尺が混在したJWKファイル一括変換は苦手。
線種の変換精度が低下したり、一覧表が見ずらくなったりしてしまいます。
マルチテキスト未サポート
一般的なテキスト形式でしか出力できません。従って@Auなどの記号文字を変換できないケースが出ます。
JW_CADの特殊文字未サポート
上付き文字や均等割付等のJW_CAD独自の文字を変換する機能は装備していません。
生成するブロック名について
DXF出力するのバージョンはR12なのですが、ブロック名に2バイト文字(全角文字)を使用する可能性があります。(JWKファイル名をブロック名にしているため)この場合R12JやLTR2以前のAutoCADでは読込みできません。この場合はブロック名を半角英数字のみにする必要があります。AJ_DXFを使用中でAJ_JWKを使用する場合は、ブロック名の出力方法について選択ができるようになっています。また、AutoCADR13やLT95では半角カタカナが使用できないため、これについても考慮してあります。(半角カタカナを全角カタカナに変換)いずれにせよ、まず「ブロック名に全角も含む」でDXFを生成して、もし、読込みを中断するようでしたら「半角英数字のみ」にしてみてください。
文字サイズの補正について
JW_CADの文字サイズは、縮尺により変化します。これに対しDXFファイル上での文字サイズの扱いは縮尺による変化がないため、不都合が発生します。JWC=>DXFの場合には図面全体を読み取るため、補正の手段があるのですが、すでに展開中の図面に取り込むことを前提としたJWKファイルの場合は解決できない問題が発生する可能性があります。もしJWK=>DXF変換して文字サイズが不適切になるようでしたらCFGファイル(AJ_DXF.CFGもしくはAJ_JWK.CFG)中のJSS=の設定値を修正してみてください。
JSS=の初期値は"20,25,30,40,50,60,70,80,90,100"です。
この数時は文字番号順の文字サイズ(高さ)を表しています。最初の20は文字番号1が印刷時に文字高さ2mmで印刷することを示しています。例えば、縮尺1/100の場合はDXFファイル上での文字サイズは次のようになります。
DXF文字サイズ(200)=文字番号1の数値(20)/10*縮尺の逆数(100)^◆JWKサムネイルデータをJW_CADで読取った場合の留意点AJ_JWK.EXEが生成するDXFファイルはAutoCADで読取ることを前提としています。従ってこのDXFファイルをJW_CADで読取った場合にはいくつかの問題が発生する可能性があります。この問題点と解決方法についてコメントします。
@実点を再現できない
JWC=>DXF変換設定で、実点を「円に変換」もしくは「塗潰しの円に変換」にしている可能性があります。特に「塗潰しの円」の場合にはJW_CADでは読取りができず短い直線になってしまいます。
この現象を防止するには2つの方法があります。
1)JWC=>DXF変換設定で「点のまま出力」を指定する。
A円・円弧が読取りできない。2)外部変形でAJ_DXFGもしくはAJ_DCVを使用して読取る。
AJ_JWK.EXEが出力するDXFファイルは「ブロック図形」という概念に基づいたデータを生成します。具体的には図形データをそのままブロックデータとして出力し、その後で指定倍率を変更の上プロットします。JW_CADでの<図形>=><読込>=><倍率指定>に似た処理です。AJ_JWK.EXEが出力するデータは用紙サイズA3でスケール1/1です。従って<倍率指定>はJW_CADではあまり使用されない大幅な縮小プロットを行うケースが多くなります。この「大幅な縮小プロット」を行った際に、JW_CADの円・円弧処理で不都合が出てしまう場合があります。
この問題を回避するには・・・
A縦書き文字が読めない。1)外部変形でAJ_DXFGもしくはAJ_DCVを使用して読取る。
JW_CADではDXFファイル中の縦書き文字を正しく読取ることができません。横書きに状態で読取りされてしまいます。この問題については申し訳ありません。外部変形でAJ_DXFGもしくはAJ_DCVでも対処できません。他の対応CADソフトで読取り、JWCファイル化する必要があります。尚、「JWK一覧表」で生成されたDXFファイルはJW_CADでの読取りに対し配慮できていないため、用紙サイズ・縮尺が正しく読取りできません。このような時はJW_CADでのDXF読込時に「図面の範囲を無視する」にして読取ってください。
35.<外部変形>AJ_DCV(DWGファイル読込み)について
Jw_winで利用される方は「Jw_winでのAJ_DXFGとAJ_DCVの利用」も参照し~てください。
AJ_DCVは「DCONVERT」と「AJ_DXFG」を連携させるツールでありAJ_DCV自身には変換機能がありません。
AJ_DCVはDXF読込み機能も有しておりますので、DCONVERTを利用できる環境の方は「AJ_DXFG」より、この「AJ_DCV」の利用をお奨めします。
外部変形とは
私のひとりよがりな解釈ですが・・
外部変形とはJW_CADユーザの代りに、専用プログラムが作図をしてくれる機能です。
JW_CADは無償のソフトウエアのため、多岐に渡る方々が利用されていると思います。そのような方でCADそのものが業務ではない方(実は私もその一人です)の場合、一般のCADを購入しずらいケースがあるようです。
例えば・・たまにしか、CADを使用しない。
CADを個人的に勉強したいと思っている。(お金がない)会社のパソコンで個人的にJW_CAD等を使用しているだけ。購入理由を会社に説得しにくい。
一方で、私自身の狭い視野ではありますが、CAD化が広がり、入手するデータ(紙の図面やFAX図面が無くなりつつある気がします)がDWGファイルのケースが多くなっています。この場合JW_CADしか持たない方はお手上げ状態になってしまいます。これをなんとかできないかと常々、思っていたのですが、DWGファイル構造が解らず(解っても解析できるか自信もありませんが)半分諦めていました。
そんな時、DWG<==>DXF双方向変換のソフトウエアの存在を知り、さっそく、試用してみました。びっくりしました。変換精度・スピードもあるのですが、「どうぞ他のソフトウエアに組み込んでくれ」というような内容なのです。
この変換ソフトウエアは無償・無保証の「DCONVERT」です。同ソフトウエアはhttp://www.opendwg.org/downloads/guest.htmから入手できます。
この「DCONVERT」とAJ_DXFの外部変形版の「AJ_DXFG」を連携させてDWGファイルをJW_CADで読込むユーティリティを作りました。このユーティリティーが「AJ_DCV」です。
「AJ_DCV」の処理内容
@JW_CAD実行中に「AJ_DCV」を使用します。
AAJ_DCVはDWGファイルの一覧表を表示しますので、対象ファイルを選択します。
BAJ_DCVは「DCONVERT」に選択したDWGファイルを引渡しDXFに変換してもらいます。
CDXFに変換されたファイルを「AJ_DXFG」がJW_CADに引渡しします。
「AJ_DCV」を使うための、前準備※うまく説明できませんが、要するに「DCONVERT」を意識することなく、DWGファイル読込みが実現できるはずです。
@まずは「DCONVERT」が必要です。前述のアドレスからダウンロードしてください。
ADCONVERTはZIP形式で圧縮されていますので、AJ_DXFと同一のディレクトリに解凍してください。~~~~~~~~~~~~~~~~~
BVersion1.4F以上のAJ_DXFを一度立ち上げ、終了させてください。これにより、「AJ_DCV.BAT」という外部変形起動用のバッチファイルが生成されます。
「AJ_DCV」使用方法
@JW_CAD中で[変形|h]=>|D外部|を選択し「AJ_DCV.BAT」をクリックします。これによりAJ_DCVが起動します。
A初回起動時のみ2項目の質問が表示されますので、応えてください。簡単に設定できるようにしたつもりです。2回目からは表示しません。すでにAJ_DXFGを利用されている場合にも、この表示はありません。
質問1)使用マシンはDOS/VorNEC9821
質問2)AJ_DXFの環境設定ファイル「AJ_DXF.CFG」が収納されているディレクトリ(フォルダ)
Bあとは、解ると思います。たぶん・・・
「外部変形AJ_DXFGについて」も併せて参照ください。
36.AJ_DXFGについて
Jw_winで利用される方は「Jw_winでのAJ_DXFGとAJ_DCVの利用」も参照し~てください。
外部変形とは
私のひとりよがりな解釈ですが・・外部変形とはJW_CADユーザの代りに、専用プログラムが作図をしてくれる機能です。
AJ_DXFGを使用するメリット
AJ_DXFがDXF=>DXF変換したデータをJW_CADに直接引き渡す処理を行います。これにより、AJ_DXFを利用した今までのDXF変換と比較して、以下のように作業数が少なくなります。
「AJ_DXFでのDXF=>DXF変換処理」
@AJ_DXFを起動
ADXF=>DXF変換の実行
BJW_CADを起動
CDXF読込みの実行
「AJ_DXFGでの外部変形処理」
@JW_CADを起動
AJ_DXFのDXF=>DXF変換との変換内容の差異A外部変形の実行
原則として、同一の変換モジュールを使用しているため、結果はほ同じとなりますが、以下の点について、AJ_DXFGが優れています(と思います)
@縮尺と用紙サイズを再現できる。
Aレイヤーの表示・非表示の状態を再現できる。
B線色の変換が向上する。
C補助線を再現できる。
D楕円・楕円弧をJW_CADの正規コマンドで処理できる。
2つの別途ファイルが必要です(DXF=>DXF変換では直線の集まりで処理している)
この機能を利用するためには、AJ_DXFでは使用しない2つのファイルを使用します。
@AJ_DXFG.EXE外部変形専用のプログラムです。中身はAJ_DXF.EXE
(同梱)の不要部分を削除した(スリム化)プログラムです。処理内容はAJ_DXF.EXEのDXF=>DXF変換と同じです。AJ_DXF.EXEと同一のディレクトリ(フォルダ)にセットします。
AAJ_DXFG.BATJW_CAD実行中にAJ_DXFGを使用するため(自動生成)のバッチファイルです。このファイルはAJ_DXF(注意:AJ_DXFGではない)を実行すると自動生成します。セットする場所は自由ですが、JW_CADがメインで使用しているディレクトリ(作業フォルダ)にセット(移動)することをお勧めします。また、ファイル名を変えるとさらに使い勝手が良くなります。ちなみに私は「JW_PRO30.BAT」という名前に変えて、JW_CADでCTRLキーを押しながらの入出力を左クリックするとAJ_DXFGが起動します。
注意1:JW_PRO30.BATの「R」の次の「O」は英字の「オー」です。「3」の次の「0」は数字の「ゼロ」です。
環境設定ファイル「AJ_DXFG.CFG」について注意2:ご自分でバッチファイルを作成される場合は必ず「REM#mc」を記述してください。詳しくは、JW_CADの解説本に掲載されていると思います。
AJ_DXFGを起動すると、「AJ_DXFG.CFG」が自動生成されます。これはテキストファイルのため、直接書き換えできますが、AJ_DXFG実行中に補正することを、お奨めします。
使用方法
@まず、AJ_DXFを1度実行してください。これにより「AJ_DXFG.BAT」が自動生成されます。
A前項のとおり、「AJ_DXFG.BAT」必要に応じ移動したり、名前を変えます。
BJW_CAD中で[変形|h]=>|D外部|を選択し「AJ_DXFG.BAT」をクリックします。これによりAJ_DXFGが起動します。
C初回起動時のみ2項目の質問が表示されますので、応えてください。簡単に設定できるようにしたつもりです。2回目からは表示しません。
質問1)使用マシンはDOS/V or NEC9821
質問2)AJ_DXFの環境設定ファイル「AJ_DXF.CFG」が収納されているディレクトリ(フォルダ)
DAJ_DXFで使用しているファイル一覧表から読込み対象のDXFファイルを選択して、作業は終了です。
AJ_DXFGの動作(変換)環境の設定方法について※2回目以降はBとDのみでOKです。
原則としてAJ_DXFの運用環境に準じますが(AJ_DXF.CFGを参照している)一部の要素については、AJ_DXFG独自の設定ができます。
AJ_DXFGで動作環境設定できる項目
@文字サイズの調整
A補助線変換の有無
B用紙サイズの指定
C縮尺の指定
AJ_DXFの運用環境に準ずる項目D小数点以下の有効桁数指定
@変換要素の選択(有無)
マルチテキスト変換
文字化け変換
寸法線変換
引き出し線変換
ポリライン変換
ポリラインのフィットカーブ処理
ポリラインのスプライン処理
スプライン処理(荒っぽい処理です)
マルチライン処理(荒っぽい処理です)
AMTEXT時の改行処理
BMTEXT時の文字シフト量
AJ_DXFGのバージョンについてCMTEXTの時の改行シフト量
AJ_DXFGはAJ_DXFと同じモジュールを使用しています。このため、便宜上、AJ_DXFと同じバージョン番号で扱って行きます。(問題がデルカモ)
JW_CADのバージョンとの相性について
AJ_DXFGはJW_CADVer2.22Hを使用してテスト・作成しました。内部処理では、JWCフォーマットに関する処理系を含んでおり、古いJW_CADを使用された場合は、不都合が出る可能性があります。できるだけ、新しいバージョンのJW_CADを利用してください。
37.AJ_DXFGとAJ_DCVでの文字サイズの扱いについて
JW_CADでのDXFファイル読込みは、JW_CAD側で読込み前に設定されている文字サイズを基準として、これに近いサイズの文字番号を割付けします。従って実際の文字サイズとJW_CADでDXF読込み後の文字サイズは一致せず、近似値となってしまいます。(原因はこれだけではないのですが・・・)
AJ_DXFGとAJ_DCVを使用してDXFとDWGファイルを読込む場合はこの文字サイズの処理方法が2通りあります。
@JW_CADと同じ方法
JW_CADにセットされている文字サイズに近い文字番号を割り付けします。文字サイズは若干ずれが出ますが、JW_CADユーザが、独自に設定した文字サイズ情報が残っていますので、図面により文字番号とこれに対応した文字サイズが異なってしまうトラブルを防げます。
A文字サイズをDXFファイルに合わせる。
初期状態では、このモードになっています。BeDrawモードでは機能しません。文字サイズに関する変換精度は向上しますが、問題も含んでおり、必ずしもベストとは言えません。複数のJWCファイルを合成して利用される場合は文字番号と文字サイズを統一しておかないと、合成後の文字サイズがバラバラになります。JW_CADの文字サイズは10種類ですのでこれを超える文字種類があった場合は中間値を計算して文字サイズを決めますので変換精度が低下します。(DXFファイルでの文字サイズの種類は無制限です)文字サイズの設定は1:1の縦横比率で処理しますので、正確な変換ができないケースがあります。
38.AJ_DXFGとAJ_DCVでのペーパー空間の扱いについて
JW_CADでは縮尺1/1のレイヤーグループに図面枠を作図し、他レイヤーに別縮尺で作図する手法があります。AutoCADにはこれに少し似た手法(もっと複雑)で「ペーパー空間」という概念があります。JW_CADで一部のレイヤーのみが画面左下に極少サイズで表示(文字だけは、1番の文字がごちゃごちゃに表示)される場合は、「ペーパー空間」のデータの可能性が強いです。
外部変形(AJ_DXFGとAJ_DCV)では、このペーパー空間データを縮尺1/1に設定してあるレイヤーグループFに書込みします。
39.Jw_winでのAJ_DXFGとAJ_DCVの利用について
AJ_DXFの外部変形版であるAJ_DXFGとAJ_DCVは、一般的な手法と異なった処理を行うため(後述の「AJ_DXFGの内部処理について」を参照)JW_CADと同じ利用方法では動作しません。利用方法と留意点についてコメントします。
はじめに
以下のコメントはすでにJW_CAD上でAJ_DXFGとAJ_DCVを利用されている方に対して解説しています。内容が理解できない方はまず、本ドキュメント中の外部変形関連のコメントを読んでみてください。
Jw_winで使用するバッチファイル
AJ_DXF(外部変形版でない方)は終了する時に4つのバッチファイルを生成します。AJ_DXFG.BATJW_CADの外部変形でAJ_DXFGを使用すためのバッチファイルAJ_DCV.BAT〃でAJ_DCVを〃AJW_DXFG.BATJw_winの外部変形でAJ_DXFGを使用すためのバッチファイルAJW_DCV.BAT〃でAJ_DCVを〃Jw_winで使用するにはAJW_DXFG.BATとAJW_DCV.BATを使用してください。
Jw_win操作上でファイル選択画面で最初に表示されるフォルダにこの2つのバッチファイルを移しておくことをお勧めします。これによりJW_CAD上でのAJ_DXFGとAJ_DCVを利用する際の変換設定とJw_win上での変換設定を別々に持つ事ができます。
Jw_win上でAJ_DXFG.BATとAJ_DCV.BATの2つのJW_CAD用バッチファイルを使用してもJw_winでは動作しません。
逆にJW_CAD上でAJW_DXFG.BATとAJW_DCV.BATを使用できますが、不要なメッセージが表示されたり、その他の不都合が発生する可能性がありますので、利用を避けてください。
Jw_win用のバッチファイルは今後変更の可能性があります。
現時点でのJw_win用のバッチファイルはJw_winVer2.02でテストしています。同バージョンはテスト版のため今後の変更の可能性があり、これに連動してバッチファイルのスタイルを変更する可能性があります。また、Jw_winVer2.02では不要と思われる記述も含まれています。
Jw_win用で使用する場合は基準点を指定する必要があります。
JW_CADでAJ_DXFGとAJ_DCVを利用する場合は、起動用バッチファイルを選択するだけで立ち上がりましたが、Jw_winの場合まず基準点を左クリックする必要があります。基本的には作図範囲の左下を指定されることをお勧めします。
Jw_winで使用する際の機能制限
AJ_DXFGとAJ_DCVは、Jw_winでは行われない(と思っています)JW_CAD独自の内部処理を利用しています。したがって一部の機能が利用できませんのでご承知ください。縮尺と用紙サイズについては外部変形を実行する前に補正されておいた方が良いと思います。
@文字サイズのカスタマイズができない
A縮尺コントロールできない
B用紙サイズコントロールできない
C読みこみ前のデータ消去ができない
Dペーパー空間データを縮尺1/1で処理できない
40.外部変形がうまく動かない時にお読みください
一部、重複した内容になりますが、参考にしてください。
Jw_winで利用される方は「Jw_winでのAJ_DXFGとAJ_DCVの利用」も参照し~てください。
JW_CAD上での外部変形と外部処理を間違わないでください。「外部処理」でAJ_DXFGやAJ_DCVを使用しても、動作しません。
ショートカットのプロパティーで、MS-DOSプログラムにWindowsを検出させないように」なっているとDCONVERTを起動できませんので注意が必要です。
AJ_DXFはAJ_DXF.EXEをクリックするだけで起動しますが、外部変形プログラムであるAJ_DXFGとAJ_DCVは、前準備(インストール)が必要です。
AJ_DXFGとAJ_DCVのインストール方法
AJ_DXFGとAJ_DCVの動作はAJ_DXFと強い関わりがあります。外部変形のみを利用される場合にも1度だけはAJ_DXFを起動する必要があります。またAJ_DCVはAJ_DXFGが自動生成するファイルを参照するため、事前にAJ_DXFGを1度だけは起動する必要があります。むずかしい話は抜きにして、使える環境を作る手順を解説します。
1)用意するファイル
AJ_DXF???.LZH???の部分はバージョン番号です。
DCONVERT.ZIPDXF<==>DWG変換を行うプログラムです。
外部変形DWG読込みプログラムAJ_DCVを使用しない場合は必要ありません。
同ソフトウエアは
http://www.opendwg.org/downloads/guest.htm
から入手できます。米国製のためZIP形式で圧縮されています。LHASA等を使用して解凍します。
2)解凍するディレクトリ(フォルダ)
全て同一のディレクトリに解凍・展開してください。変換するDXFファイルを収納するディレクトリと同一にすることを推奨します。
3)インストールの手順
a)AJ_DXF.EXEを実行します。=>AJ_DXF.CFGが作成されます。
=>AJ_DXFG.BATAJ_DCV.BATと
=>AJW_DXFG.BATAJW_DCV.BATが
作成されます。
b)JW_CADの画面上で外部変形でAJ_DXFG.BATを選択します。
はじめて選択した際に使用マシンの種類(DOS/VorNEC9821)の指定とAJ_DXF.CFG収納場所を指定します。
=>AJ_DXFG.CFGが作成されます。
AJ_DXFG.BATとAJ_DCV.BATは別のディレクトリに移動してもかまいません。AJ_DXF.CFGとAJ_DXFG.CFGは移動してはいけません。
もし、AJ_DXFGもしくはAJ_DCVが正常使用できなくなった場合は以下のファイルを削除して再インストールしてみてください。以上で終了です。これによりAJ_DXFGとAJ_DCVが正常使用可能になります。
うまく動かなくなった時に再インストール前に削除するファイル
AJ_DXF.CFGAJ_DXFG.CFG
AJ_DXFG.BATAJ_DCV.BAT
ファイルの収納場所AJW_DXFG.BATAJW_DCV.BAT
◇同一のディレクトリに収納されていなければならないファイル
★:AJDXF???.LZHを解凍すると展開されます。
☆:http://www.opendwg.org/downloads/guest.htm
:AJ_DXF.EXEを起動すると自動生成されます。から入手します。
BAJ_DXF.CFG◆AJ_DXF.EXEの動作設定ファイル
CAJ_DXFG.EXE★外部変形DXFファイル読込みプログラム本体
DAJ_DCV.EXE★AJ_DXFG.EXEにDWGファイルも読込みできるようにするためのユーティティプログラム
EAJ_DXF.DOC★全般に渡る解説文(無くても動作はします)
FDCONVERT.EXE☆DXF<=DWG=>DXF変換プログラム
GADINIT.DAT☆DCONVERT.EXE用のデータ(DCONVERT.ZIPに同梱)
◇収納場所は自由ですが、中身の記述内容に問題があると動作しなくなるファイル
このファイルはいずれも外部変形用のバッチファイルです。
AJ_DXF.EXEを起動すると自動的に生成されます。
このファイルはテキスト形式のため、メモ帳等で読み書きが可能です。
このファイル中には、AJ_DXFG.EXEとAJ_DCV.EXEの収納先が記述されています。AJ_DXF.EXE等を別のディレクトリに再インストールすると複数の異なった内容のAJ_DXFG.BATとAJ_DCV.BATが作成されてしまいます。この状態で古いファイルを指定した外部変形を行うと正しく動作しなくなる可能性があります。
@AJ_DXFG.BAT★AJ_DXFG.EXE起動用ファイル
AAJ_DCV.BAT★AJ_DCV.EXE起動用ファイル
問題となる記述内容は次のとおりです。
※「C:\AJ_DXF\」は作者の環境です。この部分が誤った指定となっていると動作しません。
AJ_DXFG.BAT
C:\AJ_DXF\AJ_DXFG.EXE
AJ_DCV.BAT
C:\AJ_DXF\AJ_DCV.EXE
◇JW_CAD本体があるディレクトリに収納されるファイルC:\AJ_DXF\AJ_DXFG.EXE
AJ_DXFG.CFG
このファイルはAJ_DXFG.EXEを起動すると自動的に生成される動作条件設定ファイルです。このファイルが存在しない場合は、まずAJ_DXFG.EXEを使用してください。問い合わせ画面が表示されますのでこれに答えると自動的にAJ_DXFG.CFGが作成されます。
AJ_DXF関連のファイルを異なったディレクトリに再インストールした場合には、一度このAJ_DXFG.CFGを削除してAJ_DXFG.EXEを起動してください。
41.AJ_DXFGの内部処理について
外部変形プログラムはJW_CAD上にあるデータを参照して、関連したデータを追加作図したり、書き換えるのが一般的と思います。AJ_DXFGはこれとは異なり、JW_CADのデータをゼロから作成し直すプログラムです。従ってその処理も通常では行わない内容を含んでいます(・・・と思っています)
内容は専門的・個人的・オタク的な内容です。プログラム開発スペックの備忘録とも言えます。外部変形プログラムは沢山の方々が作成されているようなので参考になれば・・との思いからコメントします。興味の無い方は読み飛ばしてください。
外部変形のプログラムは以前にも作成しており、安易な感覚で「AJ_DXFG.EXE」の作成をはじめました。「外部変形のデータ記述ルール」は非常に簡潔で、視覚的にも理解しやすい形式(DXFフォーマットよりずっと理解しやすい)のため、すぐプログラムが完成すると思っていました。
ところが・・・・、大きな壁に当たり、90%完成した時点で一歩も前に進めなくなりました。「外部変形のスペック」を確認せず、プログラムを作っていたため正規処理では実現できないプログラムを作成していたのです。
開発の壁となった処理は<<縮尺と用紙サイズ>>でした。
「外部変形」実行前と実行後で縮尺と用紙サイズを変更することは、DXFファイル読込みに際しては必須事項と思っており、当然AJ_DXFGの機能の一部と考えていたのですが、この機能装備の作業を最後に行おうとしたら・・・処理方法が見つからなかったのです。
外部変形時のJW_CAD内部処理方法を色々調べてみた結果、邪道ではありますが、<<縮尺と用紙サイズ>>をコントロールする方法を見つけました。この方法も含め、外部変形時の一連の流れを解説します。
処理内容にはJWCファイルの読み・書きが含まれるため、バイナリ形式のファイル処理が出来ることが必要条件となります。
ステップ1「起動バッチファイル」
REM#mc内部メモリをクリアします。
これにより、外部変形実行前のデータがカレントディレクトリに、「AUTO.JWC」という名前で作成されます。この「AUTO.JWC」が今回のプログ
ラムで重要となります。
ステップ2「AUTO.JWCを調べる」
ヘッダー部にデータ件数がCSV形式で記述されていますので、これを読み取ります。もしAUTO.JWCのデータ件数が「ゼロ」の時は「AJ_AUTO.JWC」という名前の複製ファイルを作ります。つまり、「AJ_AUTO.JWC」はデータが存在しないが、文字サイズ等のユーザ定義がなされた無地のJWCファイルと言えます。これをうまく利用するわけです。
ステップ3「JWC_TEMP.TXTを書き換える」
※実際の処理内容はAJ_DXFG.EXE実行後に残される「JWC_TEMP.TXT」を参照。
※「@#gf」がポイントです。
@#gfまず、JWF形式のレイヤー情報を書き込みします。
具体的には、レイヤー表示属性を全て「表示」にします。(プロテクトレイヤー等を解除します)次にレイヤー名を全てクリアします(旧レイヤーを消去)
A一般的な外部変形の記述しています。
B#gf処理の最後に、JWF形式のレイヤー情報を書き込みします。
表示・非表示とレイヤー名をセットします。(最後に行う必要はないのですが・・・)
ステップ4「AUTO.JWCを書き換える」
まず、前述の「AJ_AUTO.JWC」が存在するか調査し、もし存在する場合は「AUTO.JWC」の内容を「AJ_AUTO.JWC」と同一に書き換えします。これにより外部変形開始前のJW_CADにデータがあっても消去されます。さらに読込み対象のDXFファイルに縮尺と用紙サイズのデータが存在
する場合は、この「AUTO.JWC」に含まれた縮尺と用紙サイズのデータを書き換えします。
※用紙サイズの情報はヘッダー#2にあります。
以上がAJ_DXFGが行っている手法です。これをもっと進めていくと、JWC_TEMP.TXTはダミーとして、すべてのデータをAJ_AUTO.JWCに書きこんだり、逆に、AUTO.JWCを参照することにより、JW_CADの現在の全データを読み取ることが可能になります。つまり、何でもできるはずです。※縮尺はヘッダー#2と(200*4+909+88)バイトを先頭として、レイヤー別の縮尺データが保存されています。(縮尺タイプによりintとfloatがありますので要注意!)
JW_CADユーザ用のAutoCADとJW_CADのデータコンバーターを作るのならば、外部変形でDWGファイルの読み・書きが出来ることが、一番と思います。AUTO.JWCを利用すれば、比較的簡単に出来るような気がするのですがDWGのスペックを知らないもので・・・・
42.AutoCADを利用されていないJW_CADユーザの方へ
AutoCADを利用されていないJW_CADユーザがAutoCADを利用している相手とDXFファイルでデータ交換を行う際の留意点をコメントします。
AutoCADのバージョン
JW_CADはバージョンの違いによる基本的なデータ構造の変化がないため、バージョンを意識せず、データ交換ができますが、AutoCADはバージョンの違いが、データ構造の変更にまで及んでいます。このデータ構造の違いがDXFファイルでのデータ交換の障害となっているケースが多いようです。現在AutoCADはR14・LT98のバージョンですが、JW_CADはR12という2世代前のDXFファイルを基準としているそうです。この差がデータ交換の障害となっています。
AutoCAD(LTを除く)は、高額なため、固定資産かリース物件として扱われます。したがって、新しいバージョンが出現しても簡単には切り替えできない事情(残存簿価・リース期間残)もあり、古いバージョンのAutoCADを利用されているユーザもまだいることも留意するべきです。(無償のJW_CADではありえない現象なのですが・・・)
AutoCADの縮尺と用紙サイズ
JW_CADは作図前に用紙サイズと縮尺を決めます。これに対してAutoCADは荒っぽく表現すると原寸(S=1/1)で作図し、印刷時に用紙サイズと縮尺を設定する方法のため、AutoCAD=>JW_CADデータ交換の場合に用紙サイズや縮尺に問題が発生します。このトラブル対応方法については後述の「DXF=>DXF変換時の問題点とその対策」に記述してありますので参照ください。
「発生が予測されるトラブル」
◇:画面左下に極端に小さく表示される
◇:図面が拡大され画面からあふれた状態となってしまう
◇:読み込み後の寸法がおかしい。
◇:読み込み後、縮尺を変更したら文字のサイズがおかしくなった。
◇:変換後のファイルサイズが大きくなる。
◇:寸法誤差が大きい
AutoCADのデータを読めない時は・・・・◇:読み込みされたようだけれど、画面には何も表示されない。
AJ_DXFはAutoCADの作成したDXFファイルの中身を調べて、JW_CADで読み込みできないデータ構造を変換しています。AJ_DXFを使って読めない場合は、ほとんどの場合AJ_DXFの能力不足と思ってください変換条件を変更しても改善できる可能性が少ないです。(ゼロではないですが)一番の解決策は相手方のAutoCADでDXFファイルを作成(書き出し)の際の設定をお願いすることです。(できれば・・・・の話ですが)~@「分解」コマンドを実行した後でDXFファイルを作成(書き出し)してもらう「分解」コマンドにより、AJ_DXFでは変換できないデータ構造もJW_CADで読み込みができるようになります。
AR12のDXFファイル作成は避けるR13・R14・LT95・LT97・LT98を使用している場合はR12のDXFファイル作成は避けるべきです。(私の思い違いかも・・)相手方の好意で「JW_CADはR12のDXFが適しているから・・」書き出しの際、R12のモードを選択すると文字情報が正しく変換できません。(特に寸法関連にトラブルが出ます)(AutoCADR12から出力されるR12のDXFファイルは問題ありません。)「そのままのバージョン」で書き出ししてもらい、これをAJ_DXFで変換するほうが、変換精度は上がるはずです。
※上記2項目を行えば、より変換精度が上がるはずです。
※うまく読み込みできないDXFファイルを周囲でAutoCADを持っている方に、一度AutoCADで「開いて」もらってから再度、上記の処理を行ってもらうことも、ひとつの方法です。
AutoCADユーザにJW_CADデータを渡す時は・・・・AJ_DXFはファイル一覧表示時にAutoCADのバージョンを表示しますがあまり信用はできません。例えばR14でR12仕様のDXFファイルを書き出しすると、表示は「R12」となります。またAutoCAD以外のCADソフトから作成されたDXFファイルでもバージョンを表示するケースがあります。つまり受け取ったDXFファイルから作成元のCADソフトを特定することはむずかしいと思ってください。
個人的な所見ですがAutoCADはグローバルなソフトウエアであり、純国産のJW_CADとは基本的なスタンスが異なると思います。(良い・悪いではない)この要因が影響したトラブルがJW_CAD=>DXF=>AutoCADで発生するケースが多いようです。AutoCADのバージョン変遷に伴い、このギャップを埋められてきています
この変遷がトラブルの一因になっているとも思われます。つまり相手側のAutoCADのバージョンにより、読めなかったり、読めたりしまう現象が現われます(詳しくは後述の「AutoCADでのレイヤー名制限」や「文字制限」を参照)また、AutoCADでの文字データはマルチテキストとテキストの2通りの処理方法があり、これに留意したDXFファイル出力も必要になります。
@理想はAJ_DXFを使用しない事です。
JW_CADはピュアなDXFファイルを出力できます。レイヤー名や文字データに配慮をした作図を行えば、AJ_DXFは不要です。
A相手側でJWC=>DXF変換してもらう。
AJ_DXFは複数のバージョンと多岐に渡る運用環境があるAutoCADに対して八方美人的な変換ができません。また、JW_CADユーザが相手側の環境を理解して変換設定をすることも、むずかしいと思われます。相手方でAJ_DXFを利用して試行錯誤しながら変換条件の設定を行ってもらう事が、変換精度を高める一番の方法です。(Windows環境のみを利用されている方には、旧世代のAJ_DXFはきびしいかもしれませんが・・・)
B相手側の運用環境を聞く
AJ_DXFを利用されている相手側の運用環境を聞きJWC=>DXF変換設定にAutoCADのバージョン別「おすすめ設定」がありますので、これを利用してください。
43.レイヤーの表示属性変換
レイヤーの表示/非表示/ロック等の属性変換
AutoCADとJW_CAD間でコンバーター等を使用せずデータ交換をした場合はレイヤー毎の表示・非表示・修正不可等の属性を受け渡しすることができません。AJ_DXFは100%とはいきませんが次のような変換機能があります。
AutoCADとJW_CAD間でのレイヤー属性の変換内容
AutoCAD表示属性JW_CAD表示OFF(表示されない)非表示レイヤーロックON(表示されるが読取り・修正不可)表示レイヤーロックOFF(読取り・修正可能)読取可レイヤー※JW_CADでの「表示レイヤー」とはJW_CADをDOS/Vで使用した場合にグレイ表示となるレイヤーです。
AutoCAD=>JW_CAD変換
JW_CADにはレイヤー属性の読込み機能がありませんので外部変形(AJ_DXFGとAJ_DCV)を使用してDXFとDWGファイルを読込みします。但し、JW_CAD独自のグループレイヤー毎の書き込みレイヤー属性により、属性の引渡しが一部うまくいかなくなる可能性があります。また、AutoCAD以外から出力されたファイルの読込みでは効果は期待できないと思われます。
JW_CAD=>AutoCAD変換
AJ_DXFを使用してJWC=>DXF変換を行います。
AJ_DXFその他の機能
JW_CAD側で非表示レイヤーをDXFファイルでは出力しないようにすることができます。これによりファイルサイズのコンパクト化や外部に渡したくないデータのカットが可能になります。
44.JW_CADが出力したDXFファイルでの問題
JW_CADのDXF出力時の問題点とその解決方法についてのコメントします。
JW_CADが出力したDXFファイルは、ピュアーな出力内容です。
このDXFファイルをAutoCADで読み込んだ際の問題点は大部分が作図内容に起因したものだと思います。したがって、以下の内容を理解いただくことにより、AJ_DXFを利用しなくても、問題解決できるはずです。
×「テーブル項目名___________が間違っています」というメッセージが出て
読込みを停止してしまう。(______部はレイヤー名)
原因:AutoCADでは処理できないレイヤー名を使っている。
◎対応:後述の「AutoCADでのレイヤー名の制限」を参照。
×一部の文字が「?」となってしまう
原因:AutoCADの標準フォントにない文字を使っている。
◎対応:後述の「AutoCADでの文字制限」を参照。
×線種が実線のみとなってしまう。
原因:線種パターンのピッチを指定していないため。
◎対応:JW_CAD自身での対処方法は無い(と思っています)ですが2つの方法で解決できます。
@AutoCADでDXFファイルを読込んだ後に「グローバル線種尺度」にJW_CAD作図時の縮尺分母値をセットしてもらう。(例:1/100の場合は100をセット)
ADXFファイルの中に線種尺度データを挿入する。
具体的には・・・・・
DXFファイルの中で最初に現われる
ENDSEC
の直前行に次の4行を挿入する。
$LTSCALE
40
100
AJ_DXFはAの処理を行っています。最後の「100」は縮尺分母値です。
×実点が表示されない
原因:AutoCADでは点は大きさを持っていません。
◎対応:@円で出力する。(JW_CADでも対応可)
ADXFファイルの中に点表示情報を挿入する。
但し、塗潰した円の表現はできません。
具体的には・・・・・
DXFファイルの中で最初に現われる
ENDSEC
の直前行に次の8行を挿入する。
$PDMODE
70
32
$PDSIZE
40
60
最後の「60」は直径値です。
B「ポリライン」を使用する。これについては少し複雑なため、実際の処理内容の解説は避けます。
詳しい処理方法を知りたい方は「DXF解析」を使って、内容を確認してください。
AJ_DXFは@〜Bいずれの処理も可能です。
B「ポリライン」は塗潰した円となるため、最もJW_CADの作図イメージと一致すると思います。
45.AutoCADでのレイヤー名の制限
AutoCADでDXFを読み込む際、レイヤー名に問題があると、読込み停止してしまいます。レイヤー名の1文字だけのために読込みを諦めているケースが多いようです。
AJ_DXFはAutoCADでのレイヤー名の制限に対処した処理を行って読込み停止障害を避けることができますが、JW_CADのレイヤー名を100%正確にAutoCADユーザへ渡せるわけではありません。
また、先方に渡したデータが再配布された場合は、旧バージョンでも利用される可能性があります。AJ_DXFに頼らず、以下の制限を留意した上でレイヤー名を決めていくことが、最善の方法です。
RRR
留意すべき項目例121314
1バイト文字英字abcABC△△△大文字・小文字の区別をしない。
(半角文字)数字123456〇〇〇
記号""#$%&△△△$-_以外は使用できない。
スペース×××
カタカナアイウエオカ××〇
2バイト文字英字Abc×△△大文字・小文字の区別しない。
(全角文字)数字123×〇〇
カタカナ×〇〇
ひらがな×〇〇
漢字×〇〇
記号!”#×××1バイト文字では処理可能な$-_も不可
文字長さ31バイトまで〇〇〇
31文字まで△△〇半角・全角の区別無く文字数で換算
R12=AutoCADR12JLTR2
R13=AutoCADR13JLT95
R14=AutoCADR14LT97LT98
〇:正常に読込みできます。
△:留意する事項があります。(場合によっては読込みを停止します)
×:読込みを停止します。
バイト=メモリサイズの単位。1バイトで0〜255までを表現できる。
2バイトで(0〜(256×256−1)までを表現できる。
半角文字は1バイト文字。全角文字は2バイト文字。
「1234」は1バイト文字×2+2バイト文字×2=6バイト
注、。「」は半角の記号の扱いになります。半角カタカナのつもりでR14(LT97・LT98)で画層名として使用するとエラーとなります。゚゙ーは利用できます。
46.AutoCADでの文字制限
レイヤー名ほどはシビアではありませんが、頭の片隅にとどめておくべき事項があります。
文字処理方法の種類
DXFファイルを介して文字データをAutoCADに引き渡すのには2つの形式があります。相手方のAutoCAD運用環境を確認した上で出力方法を検討するべきです。
1)TEXT(テキスト)……AutoCADの全バージョンで使用可。
◎AutoCADの全バージョンで使用可。
◎DXFをサポートしている他のCADもほとんど対応している。
△全角の記号文字で表現できないケースが発生する。(詳細は後述)
△半角文字がAutoCAD独自のサイズとなり、文字幅が異なってしまう
ケースがある。
2)MTEXT(マルチテキスト)……AutoCADR13JとLT95以降で使用可。
◎TrueTypeFontを利用でき、きれいな書体で出力できる。
◎全角の記号文字で表現できないケースが減少できる。
△AutoCADR12J以下では使用できない。
△文字データ量・運用環境により処理スピードが低下する。
△MTEXTをサポートしていない他のCADがある。
TEXT(テキスト)モードでの全角文字の表示制限について
全角の記号文字の中でTEXTモードでは表示できないケースがあります。
1)表示可能な全角文字
012456789(数字)
ABCD〜WXYZ(英字)
abcd〜wxyz(英字)
ぁあぃい〜ゐゑをん(ひらがな)
ァアィイ〜ンヴヵヶ(カタカナ)
ΑΒΓΔ〜ΦΧΨΩ(ギリシャ)
αβγδ〜φχψω(ギリシャ)
АБВГ〜ЬЭЮЯ(ロシア)
абвг〜ьэюя(ロシア)
亜唖娃阿〜HIJK(漢字)
、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃
仝々〆〇ー―/\〜‖|…‥‘’“”()〔〕{
}〈〉《》「」『』【】+−±×÷=≠<>≦≧
∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●
◎◇◆□■△▲▽▼※〒←→↑↓〓
(記号)
2)表示できない全角文字
※もし以下の記号文字を含んだデータを「TEXTモード」で
DXFファイルを作成した場合はAutoCAD上では
「?」マークとなります。
※マルチテキストでDXF出力をすることにより、ほとんどのケースは解決できます。
※先頭の数字はシフトJISコードを表します。
※運用環境によりこのドキュメント上でも表示されない
文字もあります。
※これはサンプルとしてとらえてください。
前述の「表示可能な全角文字」以外は表示できないと思って
いてください。
(0x8740〜0x875D)@ABCDEFGHIJKLMNOP
QRSTUVWXYZ[\]
(0x875F〜0x8775)_`abcdefghijklmno
pqrstu
(0x877E〜0x879C)~∞gョх援括窮欠合紫
≒≡∫島煤縺ロ∠凵諱ソ∪
(0x81B8〜0x81BF)∈∋⊆⊇⊂⊃∪∩
(0x81C8〜0x81CE)∧∨¬⇒⇔∀∃
(0x81DA〜0x81E8)∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬
(0x81F0〜0x81F7)ʼn♯♭♪†‡¶
(0x227E)◯
(0x849F〜0x84BE)─│┌┐┘└├┬┤┴┼━┃┏┓┛┗
┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂
(0x8540〜0x86ED)・・・・・・・〜・・・・・・・・╋
※@ABCDuが使えないのはつらいところです。
※○(0x815A)は使えますが◯(0x227E)は使えません。注意が必要です。
AutoCAD独自の特殊文字について※使用環境による独自の記号文字(例:NEC9821で使用する記号文字)については、利用をしない方が良いと思います。
AutoCADは「φ゚±%\」やスペースについて特殊な文字表現で処理します。
%%や\の文字データは思わぬ表現に変化する可能性がありますので注意が必要です。また、TEXTでは「¥」マークは「\」として表示されますので注意が必要です。
1)TEXTとMTEXT両方で使用
%%c => φ %%d => ゚
%%p => ± %%% => %
%%o => 上線 %%u => 下線
\U+2205 => φ \U+00B0 => ゚
\U+00B1 => ± \U+818B => ゚
\U+817D => ±
2)MTEXTのみで使用
\O => 上線開始 \o => 上線終了
\L => 下線開始 \l => 下線終了
\~ => 半角のスペース \\ => \
\{ => { \} => }
\C => 色変更 \F => 書体変更
\H => 文字高さ変更 \S => 縦配置
\T => 文字間スペース変更 \Q => 文字傾斜角度変更
\W => 文字幅変更 \A => 文字位置合せ変更
\P => 改行 { => 設置値くくり
} => 設置値くくり
47.JacEditとJacViewについて
JacEditとは
DXFファイルはテキスト形式のファイルのため、エディター等で内容を確認することができます。しかしながら1行の文字数が少なく改行されているためデータの関連性を視覚的に確認しにくい(1つのデータ集合体が画面に収まりきらない)テキストファイルです。
JacEditはこのDXFファイルを読みやすい形式に補正した上で、テキストエディター上で表示し、編集後のデータを元のDXFファイルに戻して保存する機能を持っています。
JacViewとは
DXFとJWCファイルを表示するビュアーです。DCONVERTがインストールされていればDWGファイルも表示できます。画面の操作(ズーム・移動)はJW_CADの操作方法に順じ、併せてAutoCAD的な操作も組み込んでいます。
JacEditとJacViewの起動方法
単体でも動作しますが、AJ_DXF内から自動起動するようになっています。AJ_DXF実行中に「DXF解析」と「ビュアー」を選んでください。自動的に2つのプログラムが起動するはずです。JacEditとJacViewはAJ_DXF本体を同じフォルダーに収めている必要があります。
AJ_DXFを全画面表示で利用すると不都合が発生します
AJ_DXF実行中にこの2プログラムを起動させると新たにウインドウが開きプログラムが表示されます。AJ_DXFを全画面表示で使用した場合はこの新たなウインドウを閉じ(終了)、AJ_DXFの画面に戻った時に画面が乱れてしまいます。この場合はAJ_DXFをウインドウ表示で使用してください。2つのプログラムを使用されない場合はAJ_DXFを全画面表示で使用しても問題は発生しません。
共にWin32アプリケーションです。
Windows95以降での環境下で利用されることが前提となります。
WindowsNT系でももちろん動作しますが、WindowsNT系はAJ_DXFの動作に一部問題が発生する可能性があります。
動作がおかしくなったら・・・
動作環境設定に問題がある可能性があります。JacEdit.CFGとJacView.CFGを削除して再実行してみてください。自動生成されます。
48.MacintoshとUNIXのDXFファイルについて
Windows(MS-DOS)とMacintoshとUNIXではテキストファイルの形式が少し異なっており、特にMacintoshから出力されたDXFファイルをJW_CADで読込みしようとすると、読込みを中止してしまいます。AJ_DXFAJ_DXFGAJ_DCVはそれぞれファイル形式を確認しJW_CADで読込みができるように処理しています。
各プログラムでのファイル一覧表時にMacintoshとUNIXから出力されたファイルの場合に、メッセージが表示されます。
Macintoshから出力されるDXFファイルにふくまれた「マックバイナリ」をカットします。
MACIllustratorのプラグインEXDXF-LTから出力されたDXFファイルの読込みもJW_CADで読込み可能を確認しています。
49.その他(著作権等)
AJ_DXF.CFGを読んでみてください。変換時の微調整ができます。
本プログラム作成にあたり、日経BP社発行落合重紀氏著の「新・DXFファイルリファレンスガイド」を参照させていただきました。
JW_CADはjw_softwareclubさんの著作物です。
LHAは吉崎栄泰氏の著作物です。
DCONVERTはVisioCorporationの著作物です。
AutoCAD、AutoCAD_LTはAutodesk社の登録商標です。
本作品はフリーウェアです。著作権は作者が所有しています。
配布、コピーは自由ですが、その際はAJ_DXF.DOCも必ず同封してください。また、このプログラムを使用した事による、いかなる損害にも作者は責任を負いません。
転載について
転載についての事前許可は不要ですが、2つの事項についてご協力ください。
@最新版を、登録してください。
特に、最近のバージョン更新はバグフィックス中心としていますので、お手数ですが時々ニフティを覗いていただきバージョンチェックをお願いいたします。尚、最新版のメール送付は行っておりません。
A事後でけっこうですので、ご連絡ください。
重大なバグ等があった場合、ご連絡させていただきます。