概要 - 属性書き出しテンプレート ファイルを設定する

属性書き出しテンプレート ファイルを使用すると、図面から属性情報を書き出して、データベース ソフトウェアで使用する別のテキスト ファイルを作成できます。

図面から属性情報を書き出すと、データベース ソフトウェアで使用するテキスト ファイルを作成できます。この機能は、図面データベースに既に入力された情報を使用して部品表を作成する場合に有効です。属性情報の書き出しは、図面には影響しません。

部品表を作成するには

属性情報を書き出すには、テキスト プロセッサを使用して属性テンプレートを作成した後、属性書き出しファイルを生成します。次に、データベース アプリケーションで属性書き出しファイルを開きます。属性情報を DXF(図面交換方式)ファイルに書き出す予定がある場合は、最初に属性テンプレート ファイルを作成する必要はありません。

注:

属性書き出しファイルと属性テンプレート ファイルの名前が同じでないことを確認します。

属性書き出しテンプレート ファイルを作成する

属性情報を書き出す前に ASCII テンプレート ファイルを作成し、書き出された属性情報が含まれるファイルの構成を定義する必要があります。テンプレート ファイルには、抽出する情報に関連付けられている名称、データ型、フィールド長、小数点以下桁数に関する情報が含まれます。

テンプレート ファイルの各フィールドによって、図面のブロック参照から情報が書き出されます。テンプレート ファイルの各行は、属性書き出しファイルに書き出す 1 つのフィールドを指定します。その指定には、フィールド名、文字幅、および数値精度が含まれます。属性書き出しファイルの各レコードには、テンプレート ファイルで指示した順に、指定フィールドがすべて含まれています。

次に示すテンプレート ファイルには、15 のフィールドを含めることができます。N は数値を示し、C は文字を示します。www はフィールド幅の合計が 3 桁であることを示し、ddd は小数点以下桁数が 3 桁であることを示します。

BL:NAME Cwww000 (ブロック名)

BL:LEVEL Nwww000 (ブロック ネスト レベル)

BL:X Nwwwddd (ブロック挿入位置の X 座標)

BL:Y Nwwwddd (ブロック挿入位置の Y 座標)

BL:Z Nwwwddd (ブロック挿入位置の Z 座標)

BL:NUMBER Nwww000 (ブロックの個数; MINSERT コマンドで処理された場合はすべて同じ値を持つ)

BL:HANDLE Cwww000 (ブロック ハンドル; MINSERT コマンドで処理された場合はすべて同じ値を持つ)

BL:LAYER Cwww000 (ブロック挿入画層名)

BL:ORIENT Nwwwddd (ブロック回転角度)

BL:XSCALE Nwwwddd (X 方向の尺度)

BL:YSCALE Nwwwddd (Y 方向の尺度)

BL:ZSCALE Nwwwddd (Z 方向の尺度)

BL:XEXTRUDE Nwwwddd (ブロックの押し出し方向の X 要素)

BL:YEXTRUDE Nwwwddd (ブロックの押し出し方向の Y 要素)

BL:ZEXTRUDE Nwwwddd (ブロックの押し出し方向の Z 要素)

numeric Nwwwddd (数値属性名称)

character Cwww000 (文字属性名称)

テンプレート ファイルには、表示されたフィールド名 BL:xxxxxxx の一部またはすべてを含めることができますが、少なくとも 1 つの属性名称フィールドを含めなければなりません。属性名称フィールドで、属性書き出しファイルに含める属性、つまりどのブロックかが決まります。指定した属性のすべてではなく一部しかブロックに含まれていない場合は、含まれていない属性の値は空白(文字フィールドの場合)またはゼロ(数値フィールドの場合)で埋められます。

属性テンプレート ファイルにはコメントを含めないでください。

次の図と表に、ブロック名、製造元、モデル番号、コストなど、書き出す可能性がある情報のタイプの例を示します。

フィールド

C = 文字、N = 数値

最大フィールド長

小数点以下の桁数

ブロック名

C

040

000

製造元

C

006

000

モデル名

C

015

000

コスト

N

006

002

データの使用方法に応じて、任意の数のテンプレート ファイルを作成することができます。テンプレート ファイルの各行には、属性書き出しファイルに書き出す 1 つのフィールドを指定します。

次のガイドラインに従います。

次にテンプレート ファイルの例を示します。

BL:NAME C008000 (ブロック名、8 文字)

BL:X N007001 (X 座標、形式は nnnnnn.d)

BL:Y N007001 (Y 座標、形式は nnnnnn.d)

SUPPLIER C016000 (製造元、16 文字)

MODEL C009000 (モデル番号、9 文字)

PRICE N009002 (単価、形式は nnnnnnnn.dd)

注: 数値フィールドの形式コードでは、フィールド幅の合計に小数点が含まれます。たとえば、249.95 を入力できる最小フィールド幅は 6 であり、N006002 と表されます。文字フィールドでは、形式コードの最後の 3 桁は使用されません。

属性書き出しファイルを作成する

テンプレート ファイルを作成したら、次のいずれかの形式で属性情報を書き出すことができます。

CDF 形式では、図面内の各ブロック参照につき 1 つのレコードを含むファイルが作成されます。それぞれのレコードのフィールドはカンマで区切られ、文字フィールドはシングル クオーテーション マーク(')で囲まれます。データベース アプリケーションの中には、この形式を直接読み取ることができるものがあります。

SDF 形式でも、図面内の各ブロック参照につき 1 つのレコードを含むファイルが作成されます。それぞれのレコードのフィールドの幅は固定で、フィールド区切り記号も文字列区切り記号も使用されません。dBASE III Copy . . . SDF 操作でも、SDI 形式のファイルが作成されます。Append From... SDF 操作では、ファイルを dBASE IV 形式で読み込むことができます。これは、FORTRAN で書かれたユーザ プログラムで簡単に処理できる形式です。

DXF 形式では、ブロック参照、属性、シーケンス終了オブジェクトだけが含まれる図面交換形式のサブセットが作成されます。このオプションでは、属性書き出しテンプレートは必要ありません。ファイル拡張子は .dxx となり、DXF 形式の書き出しファイルとして通常の DXF ファイルと区別されます。

属性書き出しファイルを使用する

属性書き出しファイルには、テンプレート ファイルで指定した属性名称の値やその他の情報のリストが含まれます。

サンプル テンプレートを使用して CDF 形式を指定した場合、出力は次のようになります。

'DESK', 120.0, 49.5, 'ACME INDUST.', '51-793W', 379.95

'CHAIR', 122.0, 47.0, 'ACME INDUST.', '34-902A', 199.95

'DESK', -77.2, 40.0, 'TOP DRAWER INC.', 'X-52-44',249.95

既定では、文字フィールドはシングル クォーテーション(')で囲まれます。既定のフィールド区切り記号はカンマです。次の 2 つのテンプレート レコードを使用すると、これらの既定の区切り記号に優先させることができます。

C:QUOTE c (文字列区切り記号)

C:DELIM c (フィールド区切り記号)

C:QUOTE または C:DELIM フィールド名に続く最初の空白ではない文字が、対応する区切り文字になります。たとえば、文字列をダブル クォーテーションで囲む場合は、次の行を属性書き出しテンプレート ファイルに含めます。

C:QUOTE "

クォーテーションの区切り記号に、文字フィールドに表示される文字を設定できません。同様に、フィールド区切り記号に、数値フィールドに表示される文字を設定できません。

サンプル テンプレートを使用して SDF 形式を指定した場合、ファイルは次のようになります。

(NAME)

(X)

(Y)

(SUPPLIER)

(MODEL)

(PRICE)

DESK

120.0

49.5

ACME INDUST.

51-793W

379.95

CHAIR

122.0

47.0

ACME INDUST.

34-902A

199.95

DESK

-77.2

40.0

TOP DRAWER INC.

X-52-44

249.95

フィールドの順序は、テンプレート ファイルのフィールドの順序に対応しています。これらのファイルは、スプレッドシートなどの他のアプリケーションで使用でき、必要に応じてデータをソートし、処理できます。他のアプリケーションのデータを使用する方法については、スプレッドシート プログラムのドキュメントを参照してください。テキスト エディタやワード プロセッサでファイルを開くと、図面に情報をテキストとして貼り付けることができます。

ネストされたブロックの処理

テンプレート ファイルの BL:LEVEL 行は、ブロック参照のネスト レベルをレポートします。図面に挿入されたブロックのネスト レベルは 1 です。別のブロックの一部である(内部にネストされた)ブロック参照のネスト レベルは 2 です。

ネストされたブロック参照の場合、XYZ 座標の値、尺度、押し出し方向、回転角度は、ネストされたブロックのワールド座標系での実際の位置、サイズ、方向、回転を反映しています。

ネストされたブロック参照を 3D で回転する場合など、一部の複雑なケースでは、ネストされたブロック参照を 2 つの尺度と回転角度だけでは正確に表現できないことがあります。このような場合には、書き出しファイルのレコードの尺度と回転角度は 0(ゼロ)に設定されます。

エラー処理

フィールドの幅が、そのフィールドに設定されたデータを表示するのに不十分な場合は、データは切り捨てられ、次のメッセージが表示されます。

** レコード <レコード番号> のフィールドがオーバーフローしています

このような状況は、BL:NAME フィールドの幅が 8 文字で、図面のブロックの名前が 10 文字の場合などに発生します。