Vla-additems
- 構文
- (vla-additems vla-object Items)
- 機能
- 1 つまたは複数のオブジェクトを、指定した選択セットに追加する。
- 引数
-
- vla-object … SelectionSet の VLAオブジェクト
- Items … 選択セットに追加するオブジェクトの配列。
- 戻り値
- nil
- MEMO
- 現在指定されている選択セット内のオブジェクトは、選択セットに残される。
- 選択セットのオブジェクトを置き換えるには、Clear メソッドを使用して選択セットをクリアしてから、オブジェクトを追加する。
- 選択セットから個々のオブジェクトを除去するには、RemoveItems メソッドを使用する。
- サンプル
(vl-load-com)
(defun c:Example_AddItems()
;; 図形作ってから選択セットを作成するサンプル
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
(setq modelSpace (vla-get-ModelSpace doc))
;; 新しい選択セットを作成
(setq ssets (vla-get-SelectionSets doc))
(setq ssetObj (vla-Add ssets "TEST_SELECTIONSET"))
;; 構築線を作成
(setq basePoint (vlax-3d-point 3 3 0)
secondPoint (vlax-3d-point 1 3 0))
(setq rayObj (vla-AddRay modelSpace basePoint secondPoint))
;; ポリラインを作成
(setq points (vlax-make-safearray vlax-vbDouble '(0 . 5)))
(vlax-safearray-fill points '(3 7
9 2
3 5
)
)
(setq plineObj (vla-AddLightWeightPolyline modelSpace points))
(vla-put-Closed plineObj :vlax-true)
;; 線分を作成
(setq startPoint (vlax-3d-point 0 0 0)
endPoint (vlax-3d-point 2 2 0))
(setq lineObj (vla-AddLine modelSpace startPoint endPoint))
;; 円を作成
(setq centerPt (vlax-3d-point 20 30 0)
radius 3)
(setq circObj (vla-AddCircle modelSpace centerPt radius))
;; 楕円を作成
(setq center (vlax-3d-point 5 5 0)
majAxis (vlax-3d-point 10 20 0)
radRatio 0.3)
(setq ellObj (vla-AddEllipse modelSpace center majAxis radRatio))
(vla-ZoomAll acadObj)
;; モデル空間コレクションを走査。
;; 見つ買った図形を選択セット用のリストに追加
(setq ssobjs (vlax-make-safearray vlax-vbObject (cons 0 (- (vla-get-Count modelSpace) 1))))
(setq cnt 0)
(vlax-for each-item modelSpace
(vlax-safearray-put-element ssobjs cnt each-item)
(setq cnt (1+ cnt))
)
;; 図形リストを選択セットに追加
(vla-AddItems ssetObj ssobjs)
(vla-Regen doc acActiveViewport)
)
関連事項