2019年3月25日月曜日

DWGファイルの文字データの長さ

DWGファイルの文字データの長さの限界って知ってますか?

大昔は画層名などは 31バイトで、TEXT図形の文字長のサイズは 255バイトでした。
EXTNAMES システム変数というのがあって、これを 1 にすると、画層名などが 255バイトまで使えるようになりました。MTEXT図形の場合、文字長のサイズの制限はありませんが、図形データ1個の最大サイズという縛りが別にありました。
AutoCAD2007でユニコード対応になって、画層名などが255文字に拡張されました。


AutoCADが64ビット対応になって、図形データ1個の最大サイズが拡張されています。これで複雑な3Dオブジェクトも1個の図形データとしてDWGファイルの中に収めることができるようになりました。
文字長は今ではDWG/DXFファイルで最大何文字という縛りはありません。
実際、10000文字以上の文字データを持つ図形を作成することも可能です。

ただし、図形のプロパティ ドッキングウィンドウには文字データの入力バイト数に限りがあります。AutoCADでは990文字までしか入力できませんでした。

ObjectARX には、図形の文字データの取得に関して、AcString クラスで文字データを取得する関数、ACHAR の配列のコピーを返してくれる関数、図形内部の文字データへの const ポインタを返してくれる関数が存在します。
ユーザーが事前に文字のサイズを調べて、文字列をコピーするバッファを用意する必要はありません。ACHARの配列のコピーをもらった場合はacDelString() API で解放する必要があります。

0 件のコメント:

コメントを投稿

ARESのトリニティ(三位一体)

 ARESのトリニティ戦略、どこがトリニティなんでしょう。 まずはデスクトップCADが、WindowsにもMacにもLinux版もあるというトリニティ。 デスクトップCADと、モバイルCAD(ARES Touch)と、ブラウザとサーバーCAD(ARES Kudo)のトリニティ。 ...