「Vla-selectbypolygon」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-selectbypolygon ''vla-object'' ''mode'' ''PointsList'' [ ''FilterType'' ''FilterData'' ]) ; 機能 : フェンス内の図形を選択し...」) |
細 (→選択モード) |
||
24行目: | 24行目: | ||
=== 選択モード === | ==== 選択モード ==== | ||
各選択モードの内容。 | 各選択モードの内容。 | ||
* Fence(フェンス) : 選択フェンスと交差するすべてのオブジェクトが選択される。フェンスは Points 1 内の座標によって定義される。 | * Fence(フェンス) : 選択フェンスと交差するすべてのオブジェクトが選択される。フェンスは Points 1 内の座標によって定義される。 |
2015年10月17日 (土) 20:16時点における最新版
- 構文
- (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) )
関連事項