建築コミュニティポータル:昔の名前で頑張ってます


2017年10月17日(火) 17:01 JST

JacConvert 05 テクニック: 01 JacConvert の変換テクニック JacConvert 05 テクニック: 01 JacConvert の変換テクニック

JacConvert の変換テクニック

  Copyright(c)2005 K.Nakahara
  尚、このドキュメントはJw_cad=>AutoCAD変換時の文字処理部分のみに特化していることをお断りいたします。
  Jw_cad=>AutoCADで文字をスムーズに引渡す
 
INDEX
まず、理解しなければいけない文字の基礎知識
  ◆Jw_cadとAutoCADで使用フォントが違う
◆AutoCADのプロポーショナルフォント
◆AutoCADの文字入力方法は2つある。
◆AutoCADでは表示できない文字がある。
◆Jw_cadの文字設定は他CADで利用しずらい
JacConvertのDXF・DWG保存時の機能
  ◆文字出力の設定項目
Jw_cadで作図したデータを変換した例
  ◆変換に使用したJWWファイル
◆JacConvertで読み込んだ時の画面
◆Jw_cadでDXF保存してAutoCADで読み込んだ時の画面。
◆JacConvertでAutoCAD2000用の初期設定でDXF保存、AutoCADで読み込んだ時の画面。
◆JacConvertでAutoCAD2000用、MSゴシック(ダイナミックテキスト)で出力としてDXF保存、AutoCADで読み込んだ時の画面。
◆JacConvertでAutoCAD2000用、MSゴシック(マルチテキスト)で出力としてDXF保存、AutoCADで読み込んだ時の画面。
◆JacConvertでAutoCAD2000用、ExtFont2.shxフォントで出力としてDXF保存、AutoCADで読み込んだ時の画面。
Jw_cad=>AutoCAD変換時の最適の設定は?
 

まず、理解しなければいけない文字の基礎知識
◆Jw_cadとAutoCADで使用フォントが違う。
画像0 (AutoCADの画面)

WindowsのソフトウエアはMSゴシック等のWindowsの標準搭載されたフォントを使用していますので、他のCADにデータを渡した場合に同じフォントで表示・印刷できます。AutoCADもWindowsのソフトウエアですが、歴史が古くWindows以前のOS(MS-DOS)時代から使用されているオリジナルフォントが伝統的に現在まで使用されています。BigFontと呼ばれているフォントで半角英数字が幅広く、1文字単位で文字幅が異なるプロポーショナルフォントです。サンプル画像0のとおり、同じ文字を表示してもAutoCADと他CADでは文字列の横幅が大きく異なり、変換の障害となるケースが発生します。最近はAutoCADで"ExtFont2"というWindowsの等幅フォントに準じたフォントが利用され始めていますが、まだ一般的とはいえません。
またAutoCADでMSゴシック等を使うと描画スピードが低下するため利用を嫌うAutoCADユーザの方も多いようです。
▲TOPへ

◆AutoCADのプロポーショナルフォント
画像1 (AutoCADの画面)

AutoCADで広く使われているBigFontやExtFontは1文字ごとに文字幅違うプロポーショナルフォントです。Windowsの使用するフォントでもMSゴシックとMSPゴシックがありますが、BigFontやExtFontはMSPゴシックの系列です。 Jw_cadユーザはMSゴシックのような等幅フォントを使用されるユーザが多いようですが、AutoCADはプロポーショナルフォントを利用されるユーザが多いみたいです。良くJw_cadユーザがAutoCADにデータを渡す場合**%が良いというような表現を使われますが、実際には使う文字により%を変化させなければ、Jw_cadと同じ幅ノはなりません。また、文字列の幅が補正されたとしても、BigFontやExtFontを等幅フォントに変更することは不自然です。つまり等幅のJw_cad文字とプロポーショナル幅のAutoCAD文字を一致させることは本来は不自然です。JacConvertはこの不自然さを少しでも違和感ない内容にするための文字サイズ補正を行っています。ちなみに画像1にある補正をかけた文字列の幅はそれぞれ微妙に文字幅を制御しています。
iiii ++ ssss = XXXX は75.1%幅に補正
1111 ++ 4444 = 5555 は71.8%幅に補正
iiiiii111111jjjjj++++ は88.5%幅に補正しています。
▲TOPへ

◆AutoCADの文字入力方法は2つある。
DXF・DWGを介して文字データをAutoCADに引き渡すのには2つの形式があります。相手方のAutoCAD運用環境を確認した上で出力方法を検討する必要があります。また、AutoCAD以外のCADを相手としてDXF変換する場合はDTEXT(ダイナミックテキスト)で出力することをお勧めします。
・DTEXT(ダイナミックテキスト)……AutoCADの全バージョンで使用可。
  ◎AutoCADの全バージョンで使用可。
  ◎DXFをサポートしている他のCADもほとんど対応している。
  △全角の記号文字で表現できないケースが発生する。(詳細は後述)
  △半角文字がAutoCAD独自のサイズとなり、文字幅が異なってしまう。
・MTEXT(マルチテキスト)……AutoCAD R13JとLT95以降で使用可。
  ◎TrueTypeFontを利用でき、きれいな書体で出力できる。
  ◎全角の記号文字で表現できないケースが減少できる。
  △AutoCAD R12J以下では使用できない。
  △文字データ量・運用環境により処理スピードが低下する。
  △MTEXTをサポートしていない他のCADがある。
▲TOPへ

◆AutoCADでは表示できない文字がある。
画像2 (AutoCADの画面)

ごらんのとおり、一部の文字が?マークとなる場合があります。AutoCADでも利用される可能性がある図面を作図される場合は、「BigFontで表示できない全角文字」の利用を避けるべきです。
・BigFontで表示可能な全角文字
012456789(数字)
ABCD~WXYZ(英字)
abcd~wxyz(英字)
ぁあぃい~ゐゑをん(ひらがな)
ァアィイ~ンヴヵヶ(カタカナ)
ΑΒΓΔ~ΦΧΨΩ(ギリシャ)
αβγδ~φχψω(ギリシャ)
АБВГ~ЬЭЮЯ(ロシア)
абвг~ьэюя(ロシア)
亜唖娃阿~鵫鶴鸙黑(漢字)
、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃
仝々〆〇ー―/\~∥|…‥‘’“”()〔〕{
}〈〉《》「」『』【】+-±×÷=≠<>≦≧
∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●
◎◇◆□■△▲▽▼※〒→←↑↓〓(記号)
・BigFontで表示できない全角文字
※これはサンプルとしてとらえてください。前述の「表示可能な全角文字」以外は表示できないと思っていてください。
(0x8740~0x875D)①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰
⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ
(0x875F~0x8775)㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜
㎝㎞㎎㎏㏄㎡
(0x877E~0x879C)㍻〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼
≒≡∫∮∑√⊥∠∟⊿∵∩∪
(0x81B8~0x81BF)∈∋⊆⊇⊂⊃∪∩
(0x81C8~0x81CE)∧∨¬⇒⇔∀∃
(0x81DA~0x81E8)∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬
(0x81F0~0x81F7)ʼn♯♭♪†‡¶
(0x227E)◯
(0x849F~0x84BE)─│┌┐┘└├┬┤┴┼━┃┏┓┛┗
┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂
(0x8540~0x86ED)・・・・・・・~・・・・・・・・╋
※①②③④⑤㎡が使えないのはつらいところです。
※○(0x815A)は使えますが◯(0x227E)は使えません。注意が必要です。
▲TOPへ

◆Jw_cadの文字設定は他CADで利用しずらい。
Windowsの文字設定はフォントサイズのみを指定します。縦横比は1:1で文字間隔はゼロが一般的です。一方ではJw_cadユーザは文字の縦横比・文字間隔を操作される方が多く、これがデータ交換の障害となります。データ交換の可能性がある環境でJw_cadを使って作図される場合は文字設定を全て縦横比1:1で文字間隔をゼロとすることをお勧めします。
画像3 (AutoCADの画面)

ご覧のAutoCAD画面上では単純な「文字間隔をd=2とする」ですが、マルチテキストという入力モードで"T1.20;文字間隔をd=2とする"と入力します。この入力方法は一般的ではありません。
▲TOPへ

JacConvertのDXF・DWG保存時の機能
◆文字出力の設定項目。
JacConvertでDXF・DWG保存する際に現れる保存設定画面中で文字関連項目の画像です。
画像4 (JacConvertのDXF・DWG保存設定画面の一部)


・MSゴシック(Dテキスト)で出力 画像12」を参照。
ダイナミックテキストというモードでMSゴシックを使用すると描画スピード低下を押さえる効果があります。BigFontと同じ描画速度で文字サイズを正しく引渡すことができます。但し文字サイズの縦横比制御を行いませんので元図面の文字設定が縦横比1:1で文字間隔ゼロにする必要があります。均等割付や上付き文字などはこのモードでは出力できないため、JacConvertが自動認識してこのような場合のみマルチテキストで出力します。
また、寸法図形中の寸法値についてはExtFont(BigFontの拡張版)で出力されますので全てがMSゴシックとなりません。

・MSゴシック(マルチテキスト)で出力 画像13」を参照。
JacConvertが標準出力するフォントはExtFont(BigFontの拡張版)です。ExtFontを使用して保存すると文字サイズが異なる際に、このモードを使用します。但し文字列の量により描画や印刷スピードが極端に低下する場合があります。AutoCADユーザの方でこのモードを嫌う方もいらっしゃいます。

・ExtFont2.shxで出力画像14」を参照。
AUG-JPフォント(ExtFont2.shx)とは
日本オートデスクユーザ会(AUG-JP)の推奨するフォントです。また、AutoCAD2005/LTより、パッケージに同梱され利用率が高まるかもしれません。このフォントを利用することによるメリットは・・・
㎡②㌻Ⅵ等の記号文字が「?」にならずに表示。
表示速度が低下しない。
半角文字幅が一定で文字幅の障害が発生しにくい。
・・・などがあります。ExtFont(BigFontの拡張版)から未扱い文字を解消し、半角文字を等幅にしたフォントと言えます。しかしながら標準では流通していないフォントのため、利用にあたっては注意が必要です。
ExtFont2.shxの入手方法
http://www.aug.gr.jp/内の AUG-JPフォントダウンロードから入手できます。解凍後にExtFont2.shxと@ExtFont2.shxとExtHalf2.shxの3つのファイルを、AutoCAD本体が収納したフォルダ内の「Fonts」というフォルダがありますのでここに収納してください。
ExtFont2.shx利用上の注意点
ExtFont2.shxがセットされていないAutoCADで読み込んだ場合は機能しません。不特定の方々に配布されるデータの場合は使用するべきではありません。また、特定の相手への配布であっても取り扱い方法について説明する必要があります。実際にExtFont2.shxがセットされたAutoCADでテストされることを強くお勧めします。
このフォントの著作権は日本オートデスクユーザ会にあります。

・文字サイズ補正
初期値は、横100%・縦95%です。微調整に使用してください。「AutoCAD用に文字サイズを補正する」を指定している場合は初期設定フォントExtFont(BigFontの拡張版)文字単位で文字幅がマチマチなものに対して、フレキシブルに横サイズ補正を行っていきます。
・文字位置補正
初期値は、横0%・縦0%です。微調整に使用してください。
・文字の基点
JWW=>DXF・DWG変換で機能します。初期設定時のJw_cadの文字基点は入力時のみ設定でき、文字データとして記録される場合には一律左下になります。
作図時点で文字基点を中中としても、この基点設定がJWWファイル中に組み込まれるか否かはJW_CADの操作やJWFファイルの設定で決まります。その操作方法については解説本やSample.jwf内「MOFST」の8番目の設定値解説を参照してください。
文字の基点を「標準」しておくとJWW読込みで文字列の基点を指定されている場合はその基点を出力します。このケース以外では基点は左下になります。フォントの違いからデータ変換時に、文字の位置ずれが発生した際に、基点を中央にすると誤差を少なくすることができる場合があります。この機能を利用される場合は、AutoCadで結果を確認されながら行うことをお勧めします。出力されたファイルを文字の基点制御を扱わないCADソフトで読み取った場合は、かえって誤差が大きくなります。

・文字の太さ
AutoCAD(LT)2000以降では文字の太さを設定できます。ただし対象となるフォントはAutoCAD専用のshxフォント(BigFont/ExtFont/Extfont2等)のみです。図面を拡大印刷・縮小印刷しても一定の文字太さとなりますので実際の仕上がりを考慮しながら、設定してください。JacConvert上では文字単位での太さコントロールはできず、全てを統一するか、レイヤー別の太さ設定を参照(ByLayer)するかのいずれかとなります。この設定画面にある「AutoCAD画面上で線の太さを確認する」をチェックすると、AutoCAD画面上で確認することが可能です。

・AutoCAD用に文字サイズを補正する
画像5 (Jw_cadの画面(元データ))

画像6 (AutoCADの画面(変換後のデータ))

補正をしない場合の問題点
全般的に文字幅が広くなります。半角と全角で文字幅が似てきます。(一致はしません)
1文字単位で文字幅が異なるので、同じ文字数でも文字列幅が異なります。
補正をした場合の問題点
半角と全角の文字高さの補正はしませんので、半角・全角文字混在の場合のバランスの悪さは解消できません。
1文字単位での文字幅が異なるものを補正しません。数表等を作図した場合、桁がずれる現象が発生します。
半角と全角の混在した文字列はマルチテキストを使用して複雑な制御文字を組み込み、文字幅補正しています。AutoCAD側で文字編集が発生するような場合は不向きです。ちなみに
「0123401234abcabc」
はマルチテキストで
「W0.856;01234abc」
と記述しています。

・半角文字を全角にする
・全角文字を半角にする
特別な変換テクニックの道具ではありません。必要な方は使ってください。
・記号文字等はマルチテキストで出力
画像7 (AutoCADの画面(変換後のデータ))

「記号⑩Ⅶ㈱♪文字取扱注意」をそのままDXF・DWG保存するとAutoCAD上では「記号????文字取扱注意」と表示されます。これはAutoCAD専用フォントに登録されていない文字を使用したからです。この現象を回避するために用意されたモードです。初期設定のフォントExtFont(BigFontの拡張版)で出力した場合は「⑩Ⅶ㈱♪」のみをMSゴシックを使用します。結果として1つの文字列に複数のフォントが使用されるため、美しさに欠けてしまいます。
ExtFont2を使用されるときれいな変換ェ可能になります。(画像14を参照ください)

・均等割付文字をマルチテキストで出力
Jw_cadで
「均等割付・・・」
と文字入力すると
「均 等 割 付」
と表示されます。これをAutoCAD上で再現させる機能です。
▲TOPへ

Jw_cadで作図したデータを変換した例
◆変換に使用したJWWファイル。FAQ_Str.jww
(Jw_cadの画面一部)画面をクリックすると原寸画面が表示されます
画像8
ToDxfJw.GIF
▲TOPへ

◆JacConvertで読み込んだ時の画面。
(Jw_cadの画面一部)画面をクリックすると原寸画面が表示されます
画像9
ToDxJac.GIF
▲TOPへ

◆Jw_cadでDXF保存してAutoCADで読み込んだ時の画面。
全体的に文字幅が広がります。特殊な文字を再現できません。
画像10 (AutoCADの画面一部)

文字間隔を設定した文字列は文字間隔ゼロで出力されます。
均等割付の表示再現できません。
数表の「=」の位置を見てください。ずれてます。

基点が中中の文字も左下基点で出力されます。
記号文字が???マークになります。
上付き下付き文字が再現できません。
▲TOPへ

◆JacConvertでAutoCAD2000用の初期設定でDXF保存、AutoCADで読み込んだ時の画面。
基本はExtFont(BigFontの拡張版)をダイナミックテキストで出力し、文字の内容によりMSゴシック・マルチテキストを併用しています。
画像11 (AutoCADの画面一部)

文字間隔があるデータは文字の縦横比で制御しています。したがって文字間隔がゼロで扁平な文字となってしまいます。
「数表」を見てください。半角文字は1文字単位で文字幅が違い、これを吸収しきれず、「*」や「=」の位置がずれてしまいます。ExtFont2を使用されると桁ズレが解消できます。(画像14を参照ください)

記号文字「⑩Ⅶ㈱♪」のみをMSゴシックを使用しているため、違和感があります。ExtFont2を使用されるときれいな変換が可能になります。(画像14を参照ください)
記号文字を含んだ縦文字は、全文字がMSゴシックとなってしまいます。これもExtFont2を使用されると解消できます。
▲TOPへ

◆JacConvertでAutoCAD2000用、MSゴシック(ダイナミックテキスト)で出力としてDXF保存、AutoCADで読み込んだ時の画面。
描画スピードを維持しながら、文字の再現性を高めることができます。但し、文字の縦横比1:1で文字間隔ゼロに設定されますので注意が必要です。
画像12 (AutoCADの画面一部)

文字間隔を再現できません。
均等割付はマルチテLストを使用します。
数表中の「*」や「=」の位置ズレが発生しません。

上付き下付き文字はマルチテキストを使用します。
▲TOPへ

◆JacConvertでAutoCAD2000用、MSゴシック(マルチテキスト)で出力としてDXF保存、AutoCADで読み込んだ時の画面。
文字全てをMSゴシックでマルチテキストを使用します。再現性は高まりますが、AutoCADの描画処理に負担がかかり、描画スピードが低下する恐れがあります。AutoCADユーザの方でこれを嫌う方もいらっしゃいます。
画像13 (AutoCADの画面一部)

文字間隔の再現性は劣ります。文字間隔があるデータは文字の縦横比で制御しています。したがって文字間隔がゼロで扁平な文字となってしまいます。
▲TOPへ

◆JacConvertでAutoCAD2000用、ExtFont2.shxフォントで出力としてDXF保存、AutoCADで読み込んだ時の画面。
AutoCAD2005/LT2005より標準装備されている等幅フォントです。このフォントを利用することにより、jw_cad=>AutoCAD文字データ変換の問題の多くを解消できます。ただし、相手がExtFont2.shxフォントを持たれていないと、かえって再現性が低下するリスクがあります。詳細は前述の「AUG-JPフォント(ExtFont2.shx)とは」を参照ください。
画像14 (AutoCADの画面一部)

▲TOPへ

Jw_cad=>AutoCAD変換時の最適の設定は?
沢山の情報を記述しすぎていますので、「けっきょくのところどうすりゃいんだ?」と思われる方が多いと思います。
お勧めはJacConvertの初期設定値です。
初期設定値をいじってしまい元に戻せなくなった方は、DXF・DWG保存設定画面の左中央にある「初期化」ボタンを押してください。
思い通りの変換結果が現れないときに、この説明をご覧にながら調整をしてみてください。
AutoCADを使われる方が限定され先方がExtFont2を利用できるようであれば、ExtFont2がお勧めです。
▲TOPへ
 

閲覧件数:9,244
日付:2011年9月23日(金) 17:28 JST

[ カテゴリ | JacConvert ]