;;161.1 [功能] 选择集->VlaSS集合
;;(vlax-map-Collection (ss->vlass ss) 'vla-delete)
(defun ss->vlass (ss)
(command "_.select" ss "")
(vla-get-activeselectionset
(vla-get-ActiveDocument (vlax-get-acad-object))
)
)
;;161.2 [功能] lisp选择集或图元转为vla选择集 By namezg
;;(vlax-map-Collection (SS->vlaSS ss) 'vla-delete)
(defun SS->vlaSS1 (ss / *DOC* I OBJLST SARRAY SSET VLA)
(setq *DOC* (vla-get-ActiveDocument (vlax-get-acad-object)))
(setq SSet (vla-get-ActiveSelectionSet *DOC*))
(vla-Clear SSet) ;清空选择集
;;得到VLA物体列表
(repeat (setq i (sslength ss))
(setq vla (vlax-ename->vla-object (ssname ss (setq i (1- i)))))
(setq objlst (cons vla objlst))
)
(setq sArray (vlax-make-safearray
vlax-vbobject
(cons 0 (1- (length objlst)))
)
)