「Grvecs」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
1行目: 1行目:
{{AutoLISP}}
; 構文
; 構文
: (grvecs ''vlist'' [''trans''])
: (grvecs ''vlist'' [''trans''])
5行目: 6行目:
; 機能
; 機能
: 作図領域に複数のベクトルを描く。
: 作図領域に複数のベクトルを描く。


; 引数
; 引数
10行目: 12行目:
:* trans : ベクトル リストで定義したベクトルの位置または比率を変更するために使用する変換マトリックス。このマトリックスは、4 つの実数から成る 4 つのリストのリスト。
:* trans : ベクトル リストで定義したベクトルの位置または比率を変更するために使用する変換マトリックス。このマトリックスは、4 つの実数から成る 4 つのリストのリスト。
:: * 現在のビューで UCS が設定されていると IJCAD と AutoCAD で trans 引数の変換結果が異なる場合がある。(IJCAD7 まで)
:: * 現在のビューで UCS が設定されていると IJCAD と AutoCAD で trans 引数の変換結果が異なる場合がある。(IJCAD7 まで)


; 戻り値
; 戻り値
23行目: 26行目:


: 一対の座標リスト、from と to は、現在の UCS で表されるベクトルの端点を指定す。これらは、2D 点または 3D 点が可能。ベクトルの座標は、必ず一対のリスト(2 つの連続する座標リスト)として渡さなければならない。そうでなければ、grvecs 関数の呼び出しはできない。 CAD は、スクリーンに収まるようにベクトルをクリップする。
: 一対の座標リスト、from と to は、現在の UCS で表されるベクトルの端点を指定す。これらは、2D 点または 3D 点が可能。ベクトルの座標は、必ず一対のリスト(2 つの連続する座標リスト)として渡さなければならない。そうでなければ、grvecs 関数の呼び出しはできない。 CAD は、スクリーンに収まるようにベクトルをクリップする。
サンプル
<pre class="brush:autolisp;">
(grvecs '(1 (1 2)(1 5)      赤の線を表示 (1,2) to (1,5)
          2 (2 2)(2 5)      黄の線を表示 (2,2) to (2,5)
          3 (3 2)(3 5)      緑の線を表示 (3,2) to (3,5)
          4 (4 2)(4 5)      シアンの線を表示 (4,2) to (4,5)
          5 (5 2)(5 5)      青の線を表示 (5,2) to (5,5)
) )
; 次のマトリックスは、倍率が 1.0 で平行移動が 5.0, 5.0, 0.0 であることを
; 表している。このマトリックスを上記のベクトルのリストに適用すると、
; 5.0, 5.0, 0.0 だけオフセットされる。
'((1.0 0.0 0.0 5.0)
  (0.0 1.0 0.0 5.0)
  (0.0 0.0 1.0 0.0)
  (0.0 0.0 0.0 1.0)
)</pre>


* IJCAD6 と IJCAD7 では描画処理のされ方が異なているようで、IJCAD7の場合は複数の線を処理する場合は一気に命令しないといけない。
* IJCAD6 と IJCAD7 では描画処理のされ方が異なているようで、IJCAD7の場合は複数の線を処理する場合は一気に命令しないといけない。


[[Category:AutoLISP]]
[[Category:AutoLISP]]

2016年5月28日 (土) 14:34時点における版

構文
(grvecs vlist [trans])


機能
作図領域に複数のベクトルを描く。


引数
  • vlist : 省略可能な色を示す整数と 2 つの点のリストから構成されたベクトルのリスト。 vlist 引数の形式の詳細は、「戻り値」の下に記載された「ベクトルリストの型式」を参照。
  • trans : ベクトル リストで定義したベクトルの位置または比率を変更するために使用する変換マトリックス。このマトリックスは、4 つの実数から成る 4 つのリストのリスト。
* 現在のビューで UCS が設定されていると IJCAD と AutoCAD で trans 引数の変換結果が異なる場合がある。(IJCAD7 まで)


戻り値
nil


  • ベクトル リストの形式
vlist 引数の形式は次のとおり。
 ([color1] from1 to1 [color2] from2 to2 ...) 
色の値は、異なる値が指定されるまで有効。色の範囲は 0から 255。色の値が 256 以上の場合、以降のベクトルは XOR で描かれ、描かれた部分が反転する。
自分自身が上書きされると、消去される。色の値が負の場合、ベクトルがハイライト表示される。ハイライト表示は、表示デバイスによって異なる。
ほとんどのディスプレイ ドライバは破線によってハイライトを示すが、異なる色で示すものもある。
一対の座標リスト、from と to は、現在の UCS で表されるベクトルの端点を指定す。これらは、2D 点または 3D 点が可能。ベクトルの座標は、必ず一対のリスト(2 つの連続する座標リスト)として渡さなければならない。そうでなければ、grvecs 関数の呼び出しはできない。 CAD は、スクリーンに収まるようにベクトルをクリップする。

サンプル

(grvecs '(1 (1 2)(1 5)       赤の線を表示 (1,2) to (1,5)
          2 (2 2)(2 5)       黄の線を表示 (2,2) to (2,5) 
          3 (3 2)(3 5)       緑の線を表示 (3,2) to (3,5) 
          4 (4 2)(4 5)       シアンの線を表示 (4,2) to (4,5) 
          5 (5 2)(5 5)       青の線を表示 (5,2) to (5,5) 
) )

; 次のマトリックスは、倍率が 1.0 で平行移動が 5.0, 5.0, 0.0 であることを
; 表している。このマトリックスを上記のベクトルのリストに適用すると、
; 5.0, 5.0, 0.0 だけオフセットされる。

'((1.0 0.0 0.0 5.0)
   (0.0 1.0 0.0 5.0)
   (0.0 0.0 1.0 0.0)
   (0.0 0.0 0.0 1.0)
)
  • IJCAD6 と IJCAD7 では描画処理のされ方が異なているようで、IJCAD7の場合は複数の線を処理する場合は一気に命令しないといけない。