「Ssget」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
 
(同じ利用者による、間の13版が非表示)
1行目: 1行目:
{{AutoLISP}}
; 構文
; 構文
: (ssget [''sel-method''] [''pt1'' [''pt2'']] [''pt-list''] [''filter-list''])
: (ssget [''sel-method''] [''pt1'' [''pt2'']] [''pt-list''] [''filter-list''])
12行目: 13行目:
:* sel-method : オブジェクト選択方法を指定する文字列。
:* sel-method : オブジェクト選択方法を指定する文字列。
:: 有効な選択方法は、次のとおり。  
:: 有効な選択方法は、次のとおり。  
:::* '''C ''' 交差選択  
:::* '''C ''' 交差選択  
:::* '''CP''' ポリゴン交差選択(指定されたポリゴンの内部とポリゴンと交差するすべてのオブジェクト)  
:::* '''CP''' ポリゴン交差選択(指定されたポリゴンの内部とポリゴンと交差するすべてのオブジェクト)  
:::* '''F ''' フェンス選択  
:::* '''F ''' フェンス選択  
:::* '''I ''' 暗黙選択(システム変数 PICKFIRST が有効な間に選択されたオブジェクト)
:::* '''I ''' 暗黙選択(システム変数 PICKFIRST が有効な間に選択されたオブジェクト)
:::* '''L ''' データベースに最後に追加された可視オブジェクト
:::* '''L ''' データベースに最後に追加された可視オブジェクト
:::* '''P ''' 最後に作成された選択セット
:::* '''P ''' 最後に作成された選択セット
:::* '''W ''' 窓選択  
:::* '''W ''' 窓選択  
:::* '''WP''' ポリゴン窓選択(指定されたポリゴンに完全に含まれるすべてのオブジェクト)
:::* '''WP''' ポリゴン窓選択(指定されたポリゴンに完全に含まれるすべてのオブジェクト)
:::* '''X ''' データベース全体。 X 選択方法を指定し、filter-list 引数を指定しなかった場合、非表示、フリーズ、表示しているスクリーンの外にある図形を含む、すべての図形を選択する。
:::* '''X ''' データベース全体。 X 選択方法を指定し、filter-list 引数を指定しなかった場合、非表示、フリーズ、表示しているスクリーンの外にある図形を含む、すべての図形を選択する。
:::* ''':E''' オブジェクト選択ピックボックス内のすべて  
:::* ''':E''' オブジェクト選択ピックボックス内のすべて
:::* ''':N''' ssget 関数操作によって選択された任意の図形の、コンテナ ブロックの追加情報および変換マトリックスを ssnamex 関数を呼び出して取得できる。 この追加情報は、窓、交差、点クリックなどのグラフィカル選択方法で選択された図形に対してのみ使用できる。
:::* ''':L''' … ロック画層の図形を除く
:::* ''':S''' 単一図形選択に限定する
:::* ''':N''' ssget 関数操作によって選択された任意の図形の、コンテナ ブロックの追加情報および変換マトリックスを ssnamex 関数を呼び出して取得できる。 この追加情報は、窓、交差、点クリックなどのグラフィカル選択方法で選択された図形に対してのみ使用できる。
:::* ''':R''' 長いトランザクション内の図形が選択されるようにする。
:::* ''':P''' … ビューポート図形を除外する →と等価 (ssget '((0 . "~VIEWPORT")))
:::* ''':U''' 従属図形の選択を可能にする。重複(":D")またはネスト(":N")選択モードと結合することはできない。このモードでは、既定でトップ レベルの図形が選択されるが、ユーザは選択中に[Ctrl]キーを押すことにより、従属図形を選択することができる。このオプションは、窓選択、交差選択、ポリゴン選択などの対話的な選択に対してのみサポートされている。すべて選択、フィルタ選択、グループ選択に対しては、サポートされていない。
:::* ''':S''' 単一図形選択に限定する
:::* ''':V''' 従属図形選択に限定する。ユーザが実行するすべての対話的な画面上での選択は、従属図形選択として扱われる。返される選択セットには、従属図形のみが含まれる。このオプションは、重複(":D")またはネスト(":N")選択モードと結合することはできない。このオプションは、窓選択や交差選択などの対話的な選択に対してのみサポートされている。すべて選択、フィルタ選択、グループ選択に対しては、サポートされていない。
:::* ''':R''' 長いトランザクション内の図形が選択されるようにする。
::: * IJCADでは、:E などの :(コロン)つきオプションは使用できない。(IJCAD7 現在)
:::* ''':U''' … (ACAD2006以降)従属図形の選択を可能にする。重複(":D")またはネスト(":N")選択モードと結合することはできない。このモードでは、既定でトップ レベルの図形が選択されるが、ユーザは選択中に[Ctrl]キーを押すことにより、従属図形を選択することができる。このオプションは、窓選択、交差選択、ポリゴン選択などの対話的な選択に対してのみサポートされている。すべて選択、フィルタ選択、グループ選択に対しては、サポートされていない。
::: * 以下はIJCADのみで有効
:::* ''':V''' … (ACAD2006以降)従属図形選択に限定する。ユーザが実行するすべての対話的な画面上での選択は、従属図形選択として扱われる。返される選択セットには、従属図形のみが含まれる。このオプションは、重複(":D")またはネスト(":N")選択モードと結合することはできない。このオプションは、窓選択や交差選択などの対話的な選択に対してのみサポートされている。すべて選択、フィルタ選択、グループ選択に対しては、サポートされていない。
:::* '''CC''' 円交差選択(指定された円の内部と円と交差するすべてのオブジェクト)  
;
:::* '''O ''' 交差選択外(指定されたポリゴンの内部とポリゴンと交差するすべてのオブジェクト以外のオブジェクト)  
:::* 以下は 明文化されていないオプション (AutoCAD でも使えないケースがある)
:::* '''OC''' 円交差選択(指定された円の内部と円と交差するすべてのオブジェクト以外のオブジェクト)  
::::* '''_A''' … すべての図形を選択する。但し、フリーズ画層の図形は除く
:::* '''OP''' 交差選択外(指定されたポリゴンの内部とポリゴンと交差するすべてのオブジェクト以外のオブジェクト)  
::::* '''B ''' … BOX、窓選択と同じ
:::* '''PO''' 閉じた図形 (指定された点が内部になるすべての閉じたオブジェクト)
::::* '''G ''' … 指定されたグループ内のすべてのオブジェクトを選択する。ssget関数の引数としてグループ名を渡す機能はないので、オブジェクトの選択プロンプトが表示されるコマンドラインでのみ使用できる。
::::* ''':D''' …  オブジェクトを別々にカウント(2回選択したオブジェクト= 2の選択)
::::* '''+?''' … 選択したモードを追加 - ex. (ssget "_:S+L+P")
::::* '''-?''' … 選択したモードを除外 - ex. (ssget "-M-A")
::::* '''_+.''' … 単一選択モードでも、ウィンドウ選択を可能にする - ex (ssget "_+.:E:S")  
;
:::* 以下は IntelliCAD のみで有効 (IJCAD 8まで)
::::* '''CC''' 円交差選択(指定された円の内部と円と交差するすべてのオブジェクト)  
::::* '''O ''' 交差選択外(指定されたポリゴンの内部とポリゴンと交差するすべてのオブジェクト以外のオブジェクト)  
::::* '''OC''' 円交差選択(指定された円の内部と円と交差するすべてのオブジェクト以外のオブジェクト)  
::::* '''OP''' 交差選択外(指定されたポリゴンの内部とポリゴンと交差するすべてのオブジェクト以外のオブジェクト)  
::::* '''PO''' 閉じた図形 (指定された点が内部になるすべての閉じたオブジェクト)
;
;
:* pt1 : 選択に関する点。
:* pt1 : 選択に関する点。
49行目: 61行目:


; サンプル
; サンプル
:  
<pre class="brush:autolisp;">
: *** 書きかけ ***
(setq myFilter (list (cons 0 "LINE")(cons 8 "寸法"))) ; 寸法画層の線分
(ssget "X" myFilter)
 
 
(setq pt1 (getpoint "1点目:"))
(setq pt2 (getpoint pt1 "2点目:"))
(setq ss_w (ssget "W" pt1 pt2))
(setq ss_c (ssget "C" pt1 pt2))
 
; 点選択モード
(ssget "_+.:E:S")
 
</pre>


-----
-----
56行目: 80行目:
* [[ssadd]]
* [[ssadd]]
* [[ssdel]]
* [[ssdel]]
* [[ssget]]
* [[sslength]]
* [[ssupd]]
* [[ssname]]
* [[ssnamex]]
* [[選択フィルタ]]
* [[選択フィルタ]]
* [[選択セット(GZ-LIB)]]


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

2023年11月4日 (土) 10:00時点における最新版

構文
(ssget [sel-method] [pt1 [pt2]] [pt-list] [filter-list])


機能
選択されたオブジェクトから選択セットを作成する。
選択セットにはペーパー空間とモデル空間の両方のオブジェクトを含めることができるが、その選択セットを使用するときに、ssget 関数は現在有効でない空間のオブジェクトを除外する。
ssget 関数が返す選択セットには、主図形のみが含まれる(属性やポリラインの頂点は含まれない)。


引数
  • sel-method : オブジェクト選択方法を指定する文字列。
有効な選択方法は、次のとおり。
  • C … 交差選択
  • CP … ポリゴン交差選択(指定されたポリゴンの内部とポリゴンと交差するすべてのオブジェクト)
  • F … フェンス選択
  • I … 暗黙選択(システム変数 PICKFIRST が有効な間に選択されたオブジェクト)
  • L … データベースに最後に追加された可視オブジェクト
  • P … 最後に作成された選択セット
  • W … 窓選択
  • WP … ポリゴン窓選択(指定されたポリゴンに完全に含まれるすべてのオブジェクト)
  • X … データベース全体。 X 選択方法を指定し、filter-list 引数を指定しなかった場合、非表示、フリーズ、表示しているスクリーンの外にある図形を含む、すべての図形を選択する。
  • :E … オブジェクト選択ピックボックス内のすべて
  • :L … ロック画層の図形を除く
  • :N … ssget 関数操作によって選択された任意の図形の、コンテナ ブロックの追加情報および変換マトリックスを ssnamex 関数を呼び出して取得できる。 この追加情報は、窓、交差、点クリックなどのグラフィカル選択方法で選択された図形に対してのみ使用できる。
  • :P … ビューポート図形を除外する →と等価 (ssget '((0 . "~VIEWPORT")))
  • :S … 単一図形選択に限定する
  • :R … 長いトランザクション内の図形が選択されるようにする。
  • :U … (ACAD2006以降)従属図形の選択を可能にする。重複(":D")またはネスト(":N")選択モードと結合することはできない。このモードでは、既定でトップ レベルの図形が選択されるが、ユーザは選択中に[Ctrl]キーを押すことにより、従属図形を選択することができる。このオプションは、窓選択、交差選択、ポリゴン選択などの対話的な選択に対してのみサポートされている。すべて選択、フィルタ選択、グループ選択に対しては、サポートされていない。
  • :V … (ACAD2006以降)従属図形選択に限定する。ユーザが実行するすべての対話的な画面上での選択は、従属図形選択として扱われる。返される選択セットには、従属図形のみが含まれる。このオプションは、重複(":D")またはネスト(":N")選択モードと結合することはできない。このオプションは、窓選択や交差選択などの対話的な選択に対してのみサポートされている。すべて選択、フィルタ選択、グループ選択に対しては、サポートされていない。
  • 以下は 明文化されていないオプション (AutoCAD でも使えないケースがある)
  • _A … すべての図形を選択する。但し、フリーズ画層の図形は除く
  • B … BOX、窓選択と同じ
  • G … 指定されたグループ内のすべてのオブジェクトを選択する。ssget関数の引数としてグループ名を渡す機能はないので、オブジェクトの選択プロンプトが表示されるコマンドラインでのみ使用できる。
  • :D … オブジェクトを別々にカウント(2回選択したオブジェクト= 2の選択)
  • +? … 選択したモードを追加 - ex. (ssget "_:S+L+P")
  • -? … 選択したモードを除外 - ex. (ssget "-M-A")
  • _+. … 単一選択モードでも、ウィンドウ選択を可能にする - ex (ssget "_+.:E:S")
  • 以下は IntelliCAD のみで有効 (IJCAD 8まで)
  • CC … 円交差選択(指定された円の内部と円と交差するすべてのオブジェクト)
  • O … 交差選択外(指定されたポリゴンの内部とポリゴンと交差するすべてのオブジェクト以外のオブジェクト)
  • OC … 円交差選択(指定された円の内部と円と交差するすべてのオブジェクト以外のオブジェクト)
  • OP … 交差選択外(指定されたポリゴンの内部とポリゴンと交差するすべてのオブジェクト以外のオブジェクト)
  • PO … 閉じた図形 (指定された点が内部になるすべての閉じたオブジェクト)
  • pt1 : 選択に関する点。
  • pt2 : 選択に関する点。
  • pt-list : 点のリスト。
  • filter-list : オブジェクトのプロパティを指定する連想リスト。この引数に該当するオブジェクトが、選択セットに追加される。参考:選択フィルタ
  • すべての引数を省略すると、プロンプトに「オブジェクトを選択:」を表示し、選択セットを対話的に作成できる。
  • 点を指定し、オブジェクト選択方法を指定しなかった場合、ユーザが単一点をクリックしてオブジェクトを選択するものとみなされる。


戻り値
成功した場合は、作成された選択セットの名前。オブジェクトが何も選択されなかった場合は nil。


サンプル
(setq myFilter (list (cons 0 "LINE")(cons 8 "寸法"))) ; 寸法画層の線分 
(ssget "X" myFilter)


(setq pt1 (getpoint "1点目:"))
(setq pt2 (getpoint pt1 "2点目:"))
(setq ss_w (ssget "W" pt1 pt2))
(setq ss_c (ssget "C" pt1 pt2))

; 点選択モード
(ssget "_+.:E:S")


関連事項