Vla-selectbypolygon
- 構文
- (vla-selectbypolygon vla-object mode PointsList [ FilterType FilterData ])
- 機能
- フェンス内の図形を選択し、それらを選択セットに追加する。
- 引数
- 選択セットの場合
-
- vla-object … SelectionSet の VLA オブジェクト
- Mode … AcSelect 列挙型
- acSelectionSetFence : フェンス
- acSelectionSetWindowPolygon : ポリゴン窓
- acSelectionSetCrossingPolygon : ポリゴン交差
- PointsList … 選択フェンスを指定する 3D WCS 座標の点リスト。
- FilterType … 使用するフィルタのタイプを指定する DXF グループ コード。
- FilterData … フィルタをオンにする値。
- 戻り値
- なし
選択モード
各選択モードの内容。
- Fence(フェンス) : 選択フェンスと交差するすべてのオブジェクトが選択される。フェンスは Points 1 内の座標によって定義される。
- WindowPolygon(ポリゴン窓) : PointsList によって定義されたポリゴン内のオブジェクトを選択する。
- CrossingPolygon(ポリゴン交差) : ポリゴンによって定義される領域内のオブジェクト、およびその領域と交差するオブジェクトを選択する。ポリゴンの座標を定義するには Points 1 を使用する。CAD はポリゴンの最後のベクトルを閉じる。ポリゴン定義自身が交差してはならない。
- 注意 : このメソッドは、フィルタ機能をサポートしている。CAD の既定のオブジェクト選択用プロンプト文字列が、自動的に使用される。
選択モードのオプションについての詳細は、vla-select 、vla-selectbypolygon、および vla-selectatpoint メソッドを参照。
- サンプル
(vl-load-com)
(defun c:Example_SelectByPolygon()
;; ポリゴン選択して表示するサンプル
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
(setq ssetObj (vla-Add (vla-get-SelectionSets doc) "TEST_SSET2"))
;; 選択セットとフェンスを定義
(setq mode acSelectionSetFence)
(setq pointsArray (vlax-make-safearray vlax-vbDouble '(0 . 11)))
(vlax-safearray-fill
pointsArray
'(28.2 17.2 0 -5 13 0
-3.3 -3.6 0 28 -3 0 )
)
;; 選択
(vla-SelectByPolygon ssetObj mode pointsArray)
(alert (strcat "選択図形 : " (itoa (vla-get-Count ssetObj))))
(vla-Clear ssetObj)
;; 円を作図して追加
(setq gpCode (vlax-make-safearray vlax-vbInteger '(0 . 1)))
(vlax-safearray-put-element gpCode 0 0)
(vlax-safearray-put-element gpCode 1 10)
(setq pnt (vlax-3d-point 3 6 0))
(setq dataValue (vlax-make-safearray vlax-vbVariant '(0 . 1)))
(vlax-safearray-put-element dataValue 0 "Circle")
(vlax-safearray-put-element dataValue 1 pnt)
(vla-SelectByPolygon ssetObj mode pointsArray gpCode dataValue)
(alert (strcat "選択図形 : " (itoa (vla-get-Count ssetObj))))
(vla-Delete ssetObj)
)
関連事項