BricsCAD®のデータ互換性シリーズ 「線種」
線種は図形に割り当てられた表示プロパティで、BricsCADでは、DWG・DXFファイルで使用される線種定義をそのまま利用することができます。
線種の利用
線種には、ダッシュ、ドット、文字、記号のパターンなど CAD的な特徴を持っているものと、実線(Continuous)という切れ目のない線があります。
BricsCAD では、図面エクスプローラの線種設定で、現在の図面やその他の図面ファイルに読み込まれている線種を確認したり、新たに線種を読み込んだりすることが出来ます。
線種は通常、よく使う線種をテンプレートにあらかじめ読み込んでおいて使用することが多いです。テンプレートを使わない新規ファイルでは、線種は 実線(Continuous)、Bylayer、Byblock の3種類のみがある状態となっています。
既存の DWG,DXF ファイルでは、線種定義の情報も図面ファイル内に記録されているため、BricsCAD によって線種が再現されますので、特に意識する必要はありません。
線種の定義の内容
線種は、線種ファイル(拡張子 .lin)という CADの環境ファイルで定義されていて、図面ファイルに登録されていない線種は、このファイルから読み込んで利用することが出来ます。
BricsCAD では標準で利用される線種ファイルとしてつぎの2つがあります。
default.lin : インチ図面用
iso.lin : メートル図面用
それぞれのファイルには同じ線種が規格に応じたスケールで定義されています。現在の図面ファイルがインチ・メートルどちらの設定になっているかによって、使用される線種ファイルが自動的に変わりますが、線種を個別にロードする際は規格によらず読み込むこともできるので、メートル図面にインチサイズで定義された線種を読み込むといったことも可能です。
線種ファイル(*.lin)の様式
線種ファイルは、テキストファイルで決まった様式で記述されているので、独自に自作することも可能です。
この様式は、AutoCAD の線種ファイルの内容が踏襲されているので、AutoCAD 用に作成した独自の線種定義は、BricsCADでも利用できます。
線種定義のサンプル
Default.lin の Center 線種定義
*CENTER,____ _ ____ _ ____ _ ____ _ ____ _ ____ _ ____ _ ____ _ ____ _
A,1.250,-0.25,0.25,-0.25
iso.lin の Center線種定義
*CENTER,Center ____ _ ____ _ ____ _ ____ _ ____ _ ____
A, 31.750, -6.350, 6.350, -6.350
線種定義の形式
線種ファイルに記述する線種定義の形式は次のとおりです。
*線種名,説明
A,記述子1,記述子2, ...
各内容を説明すると次のようになります。
線種名
線種名は、最初に *(アスタリスク)で始まり、ユニークでわかりやすい名前を記述します。図面内に同じ名前で異なる定義の線種は読み込めないので、独自の線種を作成する場合は、標準の線種と被らないようにしておくとトラブルが起こりにくくなります。線種名は 31 文字に制限されています。
日本語の線種名も使用できますが、他のシステムとデータを交換する場合は、そのシステムが対応しているか確認しておくと良いでしょう。
説明(オプション)
線種の説明は、線種名の後にカンマを記述してその後に線種ファイルの編集時に線種の表示をイメージすることができるように記述します。説明は半角 47 文字以下でなければなりません。
説明の内容は [線種管理] と [線種のロードまたは再ロード]ダイアログ ボックスにも表示されます。
説明には、次の内容を含めることができます。
線種パターンの単純な表現
線種の詳細な説明
「〇〇用」などの簡単なコメント
説明は省略することもできますが、省略する場合は線種名の後にカンマを記述しないでください。
位置合わせコードフィールド (A)
位置合わせコードフィールドは、個々の線分、円、円弧の終点でのパターン位置合わせのアクションを指定します。線分と円弧の端点がダッシュで開始および停止することが保証される A タイプの配置をサポートします。
位置合わせフィールドに A と入力して、A タイプの位置合わせを指定する必要があります。
パターン記述子フィールド
パターン記述子フィールドには、線種を構成するセグメントの長さをカンマで区切って指定します(スペースは使用できません)。
すべての線種はダッシュで始まる必要があります。
正の十進数の数値は、その長さのペンダウン(ダッシュ)セグメントを表します。
負の十進数の数値は、その長さのペンアップ(スペース)セグメントを表します。
ダッシュ長が 0(ゼロ)のときは、ドットが描かれます。
ドット、ダッシュ、またはスペースの各値はコンマで区切ります。
ドットとダッシュの間にはスペースを使用します。
線種ファイルが 1 行 80 文字以内であれば、各線種につき最大 12 種類のダッシュ長を指定できます。パターン記述子によって定義された線種パターンの完全な繰り返しを 1 つだけ含める必要があります。
線種が描画されると、アプリケーションは開始ダッシュと終了ダッシュに最初のパターン記述子を使用します。開始ダッシュと終了ダッシュの間で、パターンダッシュ指定は順番に描画され、2 番目のダッシュ指定から始まり、必要に応じて最初のダッシュ指定でパターンを再開します。
A タイプの位置合わせでは、最初のダッシュ長(ペンダウン セグメント)は 0(ゼロ)以上である必要があります。ペンアップ セグメントが必要な場合は 2 番目のダッシュ長は 0(ゼロ)未満でなければならず、実線を作成する場合は 0(ゼロ)より大きくなければなりません。A タイプの位置合わせでは、2 つ以上のダッシュを指定する必要があります。
以上の形式で線種ファイルに記述していきます。線種ファイルには、複数の線種を記述することが出来ます。
線種例の説明
たとえば、DASHDOT という線種は次のように定義されています。
*DASHDOT,Dash dot __ . __ . __ . __ . __ . __ . __ . __
A,0.50,-0.250,0,-0.250
次のように、小数点の場合に 0 を省略する記述でも問題ありません。
*DASHDOT,Dash dot __ . __ . __ . __ . __ . __ . __ . __
A,.5,-.25,0,-.25
この例は、作図単位長 0.5 のダッシュで始まり、作図単位長 0.25 のスペース、ドット、もう 1 つの作図単位長 0.25 のスペースで構成される繰り返しパターンを示しています。このパターンが線分の長さだけ繰り返され、作図単位長 0.5 のダッシュで終わります。この線種は、次のように表示されます。
文字を使った線種
線種の中には、文字を使った形で記述されるものもあります。
文字を使った線種は、前述のパターン記述子で文字部分に以下のような記述します。
["テキスト文字列",文字スタイル名,尺度,回転,Xオフセット,Yオフセット]
尺度、回転、X オフセット、Yオフセットの値は、1、-17、0.01 などの符号付き 10 進数で表します。
文字を使った簡単な線種のサンプルとしては次のようになります。
*GASLINE,Gas PipeLine --- GAS --- GAS --- GAS --- GAS ---
A,.5,-.2,["GAS",STANDARD,S=.1,U=0.0,X=-0.1,Y=-.05],-.3
書式の内容は次とおりです
テキスト文字列
線種で表示する文字。1文字以上
文字スタイル名
使用する文字スタイルの名前。文字スタイルを指定しない場合は、現在の文字スタイルが使用されます。
線種に埋め込まれた文字は、図面内の文字スタイルが使用されます。線種に使用される文字スタイルは、線種をロードする前に図面内に存在している必要があります。
📝 文字列に日本語文字を使った線種を作成する場合は、個々で指定した文字スタイルは日本語表示を出来る状態にしておく必要があります。つまり、SHXフォントを使った文字スタイルを指定する場合は、ビックフォントを設定しておく必要があります。
尺度
線種定義の尺度は文字スタイルに使用する、線種尺度(LTSCALE)との相対尺度です。
尺度を指定するには、前に S= を付ける必要があります。たとえば、S=.5 は尺度が 0.5 であることを表します。
文字スタイルの文字高さは尺度が乗算されます。
文字スタイルの高さ設定が 0(ゼロ)の場合は、S=値 が高さになります。
回転
線種定義の回転は線種に表示する文字の回転角度です。回転角度の前には、U= R= A= のいずれかを付ける必要があります。
U= 可読性を高める直立の文字を指定します。
R= 線に対する相対回転、つまり接線に対する回転を指定します。
A= 原点を基準とした文字の絶対回転角度を指定します。
値には次の内容が使用できます。
d 度を表す(既定値)
r ラジアンを表す。
g グラディエントを表す。
回転を省略すると、相対回転 0 が使用されます。回転の中心は、基準線と公称キャップ高さの間です。
📝 U(直立)回転フラグを使用しない旧形式の線種で保存されている図面ファイルの場合は、線種ファイルから線種を再ロードすることで、最新の線種定義に更新できます。
線種定義を再ロードする前に、R (回転)フラグを U (直立)フラグに変更することで、カスタム線種を更新できます。
なお、線種の再ロード後は、再作図(REGEN)が必要です。
X オフセット
X オフセットは、線種の X 軸に沿った文字のシフト量を指定します。オフセットを指定するには、前に X= を付ける必要があります。
たとえば、X=.1 は、0.1 のオフセットを表します。
オフセットを省略した場合や 0(ゼロ)の場合、文字はオフセットなしで作成されます。このフィールドを使用して、文字と直前のペンアップまたはペンダウン ストロークの間の距離をコントロールします。この値は S=値 で定義される尺度係数によって変更されることはありませんが、線種に合わせて変更されます。
Y オフセット
Y オフセットは、線種の Y 軸(90 度)に対する文字のシフト量を指定します。オフセットを指定するには、前に Y= を付ける必要があります。
たとえば、Y=.1 は、0.1 のオフセットを表します。
オフセットを省略した場合や 0(ゼロ)の場合、文字はオフセットなしで作成されます。このフィールドを使用して、線分に対する文字の垂直な位置合わせをコントロールします。この値は S=値 で定義される尺度係数によって変更されることはありませんが、線種に合わせて変更されます。
図形を使った線種
文字を使った線種の他に複雑な線種を作成する方法として、シェイプファイルを使った線種を作成・利用することが出来ます。
シェイプファイルはブロック定義のようなもので、線に埋め込まれたシェイプは部分的に欠けることなく表示されます。
シェイプ を含む線種パターン記述子は、単純な線種と同様です。
線種記述のシェイプ オブジェクト記述子の構文は、次のとおりです。
[シェイプ名,シェイプファイル名]
[シェイプ名,シェイプファイル名,トランスフォーム]
「トランスフォーム」は省略することもできますが、次の組み合わせを任意に指定することもできます。詳細は後述の「シェイプ オブジェクト記述子の構文」で説明します。
U=n 直立回転
A=n 絶対回転
R=n 相対回転
S=n 尺度
X=n X オフセット
Y=n Y オフセット
n の部分には符号付き十進数を指定します。回転は度単位、その他のオプションは作図単位を指定します。
「トランスフォーム」文字の後には、等号(=)と数値を指定する必要があります。
次の線種定義は、Amzigzag という名前の線種を定義しています。 この Amzigzag は線セグメント、スペース、ltypeshp.shx ファイルに定義されている amzigzag のシェイプで構成されるパターンです。
*Amzigzag,//-//-//-//-//-//
A,.0001,[amzigzag,ltypeshp.shx,s=0.04],-11.0
角括弧で囲まれたシェイプの部分以外は、単純な線種定義と変わらないことがわかるかと思います。
シェイプの記述子を定義するときは、6 フィールド以下で指定します。最初の 2 フィールドは必ず指定する必要がありますので、それ以降の 4 フィールドを任意の内容で指定します。
シェイプ オブジェクト記述子の構文
シェイプ名
シェイプ名は、使用するシェイプの名前です。このフィールドは必ず指定する必要があります。 シェイプ名が、指定されたシェイプ ファイル内に存在しない場合、埋め込みシェイプのない線種となります。
シェイプ ファイル名
シェイプ ファイル名は、コンパイルされたシェイプ定義ファイル(SHX)の名前です。省略した場合、線種定義は行われません。
シェイプ ファイル名はパスを含めることが出来ますが、ファイル名のみの場合、プログラムのサポート パスでファイルが検索され最初に見つかったものが利用されます。
シェイプ ファイル名がパス付で記述されていて、その場所で見つからない場合、パスは削除されてプログラムのサポート パスでファイルが検索されます。それでも見つからなかった場合は、埋め込みシェイプのない線種となります。
尺度
尺度は、シェイプに使用される尺度係数です。
シェイプの内部定義尺度と相対になります。
指定する尺度係数の前には S= を付ける必要があります(たとえば、S=.5 は、0.5 の尺度係数を表します)。
シェイプの内部定義尺度が 0 (ゼロ)の場合は 、S= 値 のみが尺度として使用されます。
回転角度
回転角度は、線種で表示されるシェイプの回転角度です。
回転角度の前には、U=、R=、A= のいずれかを記述する必要があります。
U= は、可読性を高める直立の回転角度を指定します。
R= は、線に対する相対回転角度、つまり接線に対する回転角度を指定します。
A= は、原点に対する文字の絶対回転角度を指定します。すべてのシェイプは、線に対する相対位置に関係なく同じ回転角度になります。
たとえば、前述のAmzigzagのシェイプを45度で設定すると次のようになり、
*Amzigzag,//-//-//-//-//-//
A,.0001,[amzigzag,ltypeshp.shx,s=0.04,U=45d],-11.0
その線種を読み込んで表示すると次のイメージのようになります。
📝 U(直立)回転フラグを使用していない旧形式の線種を含む図面は、線種ファイルから線種を再ロードすることにより、線種定義に更新することができます。カスタム線種は、線種定義を再ロードする前に、R(回転)フラグを U(直立)フラグに変更することにより、更新することができます。
なお、更新後は、再作図(_REGEN)が必要です。
X オフセット
このフィールドには、線種のシェイプの X 方向のシフト量を指定します。
値は、Xオフセットを指定しないときのシェイプの作成位置から、線の終端方向に向かって前方にシェイプを移動させる量を作図単位で指定します。
指定するオフセット値の前には X= を付ける必要があります。
たとえば、X=.1 は 0.1 のオフセットになります。
オフセットを省略、または 0(ゼロ)に設定すると、シェイプはオフセットなしで作成されます。ダッシュ上のシェイプ配置をコントロールしたいときに、このフィールドを指定してください。
この値には、S=値 で定義される尺度係数による尺度処理は行われません。
Y オフセット
このフィールドには、線種のシェイプの Y 方向のシフト量を指定します。
値には、Yオフセットを指定しないときのシェイプの作成位置から、線の終端方向に向かって線の左側にシェイプを移動させる量を作図単位で指定します。指定するオフセット値の前には Y= を付ける必要があります。
たとえば、Y=.1 は 0.1 のオフセットになります。
オフセットを省略、または 0(ゼロ)に設定すると、シェイプはオフセットなしで作成されます。ダッシュ上のシェイプ配置をコントロールしたいときに、このフィールドを指定してください。
この値には、S=値 で定義される尺度係数による尺度処理は行われません。
線種定義を簡単に作成する方法
BricsCAD V23 以降のバージョンでは、線種ファイル(.lin)のテキストを直接記述する方法だけでなく、ExpresTools の機能にある MKLTYPE [線種作成]と、MKSHAPE [シェイプ作成]の機能を活用して、CAD上に作図された図形からブロック登録するような感じで線種を作成することが出来ます。
詳しい手順は、ヘルプセンターのコマンドリファレンスをご覧ください。