SLD

提供:GizmoLabs - だいたい CAD LISP なサイト
2020年7月20日 (月) 05:27時点におけるGizmon (トーク | 投稿記録)による版 (→‎SLD ファイル仕様)

スライド(SLD)形式は、図面ファイルの「スナップショット」で、ダイアログやカスタム イメージ タイル メニューを作成したり、作業中に別の図面のイメージを表示したりといった用途に利用することができます。

  • スライドを作成するには mslide コマンドを使用する。
  • スライドを作図領域に表示するには、vslide コマンドを使用する。
  • ダイアログや、カスタム イメージ タイル メニューで使用する場合は、ファイル名を指定する。
  • SLD ファイルをカタログ化した SLB ファイルがある。
  • SLB ファイルは、SLIDELIB.exe を使用して作成する。
  • SLB ファイル内の SLDファイルを使用する場合は、 "SLBファイル!SLDファイル" の様式で記述する。
  • SLB ファイルは直接編集できないので、SLBファイルを更新する必要がある場合は、元になっている SLD ファイルが必要。


SLD ファイル仕様

スライドファイルは、ヘッダー部分(31バイト)と可変長の1つ以上のデータレコードで構成されている。 スライドファイルに書き込まれるすべての座標とサイズは、グラフィックエリアの左下隅にあるポイント(0,0)でスライドが作成された表示デバイスのグラフィックエリアを反映する。 AutoCAD R 9(念の為に書いとくと 2009 じゃないよ) 以降の場合、スライドファイルのヘッダーは次のフィールドで構成されている。

スライドファイルヘッダー

フィールド  バイト  説明文
ID文字列 17 「AutoCAD Slide」CR LF ^ Z NUL
タイプインジケーター 1 現在56(10進数)に設定されています
レベルインジケーター 1 現在2に設定されています
高Xドット 2 グラフィック領域の幅:1、ピクセル単位
高Yドット 2 グラフィック領域の高さ:1、ピクセル単位
アスペクト比 4 グラフィックス領域のアスペクト比(水平サイズ/垂直サイズ(インチ))、10,000,000でスケーリング。この値は常に、最下位バイトが最初に書き込まれる。
ハードウェアの充填 2 0または2(値は重要ではない)
試験番号 2 スライド内のすべての2バイト値が上位バイトが先のリトルエンディアン(Intel 8086ファミリCPU)で書き込まれたか、下位バイトが先(Motorola 68000ファミリCPU)のビックエンディアンで書き込まれたかを判断するために使用される数値(16進数で1234)

スライドファイルデータレコード

データレコードはヘッダーの後に続く。各データレコードは、上位バイトがレコードタイプである2バイトのフィールドで始まる。 レコードの残りの部分は、次の表に示すように、1バイトまたは2バイトのフィールドで構成され、2バイトのフィールドが上位バイトから先に書き込まれるのか、それとも下位バイトから先に書き込まれるのかを判別するには、前述のヘッダーのテスト番号フィールドを調べる。

レコードタイプ
(16進数)
バイト 意味 説明文
00-7F 8 ベクター 通常のベクトルのfrom-X座標。From-Y、to-X、およびto-Yは、2バイト値としてこの順序で続きます。始点が最後の点として保存されます。
80-FA - 未定義 将来の使用のために予約されています。
FB 5 オフセットベクトル 下位バイトとそれに続く3バイトは、保存された最後のポイントからのオフセット(-128から+127)に関して、ベクトルのエンドポイント(from-X、from-Y、to-X、to-Y)を指定します。調整された始点は、後続のベクトルで使用するための最後の点として保存されます。
FC 2 ファイルの終わり 下位バイトは00です。
FD 6 塗りつぶし 下位バイトは常にゼロです。次の2つの2バイト値は、塗りつぶされるポリゴンの1つの頂点のX座標とY座標を指定します。そのようなレコードが3〜10個順番に発生します。負のY座標を持つソリッドフィルレコードは、そのような洪水シーケンスの開始または終了を示します。開始レコードでは、X座標は従う頂点レコードの数を示します。
FE 共通
エンドポイントベクトル
これは最後の点から始まるベクトルです。下位バイトと次のバイトは、保存された最後のポイントからのオフセット(-128から+127)の観点からto-Xおよびto-Yを指定します。調整後のポイントは、後続のベクトルで使用するための最後のポイントとして保存されます。
FF 2 新色 後続のベクトルは、下位バイトで示される色番号を使用して描画されます。


スライドにベクターが含まれている場合、新しいカラーレコードが最初のデータレコードになります。スライド内のベクトルの順序、およびそれらのベクトルの端点の順序は異なる場合があります。


次の図は、IBM拡張グラフィックスアダプターを備えたIBM PC / ATで作成された単純なスライドファイルの注釈付き16進ダンプです。 スライドは、グラフィックス領域の左下隅から右上隅までの白い対角線、左下隅近くの緑の縦線、左下隅の小さな赤い長方形で構成されています。

41 75 74 6F 43 41          | ID文字列( "AutoCADスライド" CR LF ^ Z NUL)
44 20 53 6C 69 64          | 
65 0D 0A 1A 00             | 
56                         タイプインジケーター(56)
02                         レベルインジケーター(2)
3C 02                      高Xドット(572)
24 01                      高Yドット(292)
0B 80 DF 00                アスペクト比(14,647,307 / 10,000,000 = 1.46)
02 00                      ハードウェアフィル(2)
34 12                      テスト番号(1234 hex)
07 FF                      | 新しい色(7 =白)
3C 02 24 01 00 00 00 00    | 572,292から0,0までのベクトル。572,292は「最後の」ポイント
3 FF                       新しい色(3 =緑)
0F 00 32 00 0F 00 13 00    | 15,50から15,19までのベクトル。\ x1115,50となる"最後の"点
01 FF                      新しい色(1 =赤)
12 FB E7 12 CE             | 15 + 18,50-に15 + 18,50-25(33,25)からのオフセットベクトル
                           | 33,0(50 )。33,25は「最後の」ポイントになります  
DF FE 00                   | 共通エンドポイントベクトル33,25から33-33,25 + 0
                           | ( 0,25 )。0,25は「最後の」ポイントになります。00
FE E7                      | (0,25)から0 + 0,25-25
                           | (0,0) までの共通エンドポイントベクトル。0,0は「最後の」ポイントになります
21 FE 00                   | (0,0)から0 + 33,0 + 0までの共通エンドポイントベクトル
                           | (33,0).33,0が「最後の」ポイントになります
00 FC                      ファイルの終わり