Ssnamex

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年4月23日 (土) 11:23時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(ssnamex ss [index])


機能
選択セットがどのように作成されたかに関する情報を取得する。
現在の図面のモデル空間とペーパー空間の図形の選択セットのみが、この関数で取得できる。非グラフィカル 図形や他のブロック定義内の図形は対象外。


引数
  • ss : 選択セット。
  • index : 選択セット内の要素を指し示す整数(または実数)。選択セットの先頭の要素のインデックスは 0。


戻り値
成功した場合は index 引数で指定された位置の図形の名前を、その図形がどうような方法で選択されたかを示す情報を付けて返す。index 引数を指定しなければ、この関数は選択セットのすべての要素の図形名を含むリストを、それらの図形がどのようにして選択されたかを示すデータを付けて返す。index 引数が負の場合や、選択セット内の最大番号の図形より大きい場合、ssnamex 関数は nil を返す。


ssnamex 関数が返すデータは、図形を表す情報とそれが選択された方法か、図形を選択するために使用されたポリゴンのどちらかを含むリストのリストという形式。個々の図形の選択を表す各サブリストは、次の 3 つの部分から構成される。選択方法 ID(0 以上の整数)、選択された図形の図形名、図形がどのようにして選択されたかを表す選択方法固有のデータ。
((sel_id1 ename1 (data))(sel_id2ename2 (data)) ... )
次の表に、選択方法 ID を示す。
選択方法 ID
ID 説 明
0 無指定(最新の図形、全図形など)
1 ピック(クリック)
2 窓またはポリゴン窓
3 交差またはポリゴン交差
4 フェンス
図形の選択で使用されたポリゴンを表す各サブリストは、ポリゴン ID(0 より小さい整数)の後に点のデータが続くという形式。
(polygon_idpoint_description_1point_description_n... )
ポリゴン ID(polygon_id)は -1 から始まり、ポリゴンが増えるごとに 1 ずつ減少する。 視点の位置により、点は、構築線、放射線、線分セグメントのいずれかを表す。点ディスクリプタは、次の 3 つの部分から構成される。第 1 は、点ディスクリプタ ID(項目のタイプ)、第 2 は、項目の開始点、第 3 は、構築線の方向を表す単位ベクトル、または線分セグメントの他方の側へのオフセットを表すベクトルで、これは省略可能である。
(point_descriptor_idbase_point[unit_or_offset_vector])
次の表に、有効な点ディスクリプタ ID を示す。
点ディスクリプタ ID ID 説 明
0 構築線
1 放射線
2 線分セグメント
unit_or_offset_vector は、視点が 0,0,1 以外の場合に返される。


サンプル
; ピック(タイプ 1)図形選択に関連付けられた data は、単一の点を表す。
; たとえば、WCS のプラン ビューで 1,1 をピックして図形を選択した場合、次のような情報を返す。
(ssnamex ss3 0)
((1 <Entity name: 1d62da0> 0 (0 (1.0 1.0 0.0))))

; 窓、ポリゴン窓、交差、ポリゴン交差での図形選択に関連付けられた data は、図形を選択したポリゴンの整数 ID 。ポリゴン識別子を関連付け、ポリゴンとそれによって選択された図形を結び付けるのは、アプリケーションの役割。たとえば、次の例では、交差で選択された図形が返される(ポリゴン ID が -1 であることに注意)。 
(ssnamex ss4 0)
((3 <Entity name: 1d62d60> 0 -1) (-1 (0 (-1.80879 8.85536 0.0)) (0 (13.4004 8.85536 0.0)) (0 (13.4004 1.80024 0.0)) (0 (-1.80879 1.80024 0.0))))

; フェンス選択に関連付けられた data は、フェンスと図形が視覚的に交差している位置を表す点のリスト。
; たとえば、Z 形のフェンスが、ほぼ垂直な線分と 3 回交差している場合、次の情報を返す。
(ssnamex ss5 0)
((4 <Entity name: 1d62d88> 0 (0 (5.28135 6.25219 0.0) ) (0 (5.61868 2.81961 0.0) ) (0 (5.52688 3.75381 0.0))))

関連事項