;; | ----------------------------------------------------------------------------- ;; | SS_PutName ;; | ----------------------------------------------------------------------------- ;; | Function : Names a given set of selection set objects (entity based) ;; | Arguments: ;; | 'eSS' - Entity based selection set (of enames) ;; | 'Name' - Name of selection set to assign ;; | 'doc' - Document (object) to check in. ;; | Returns : T or nil, depending on success ;; | Comments : ActiveX function ;; | Updated : January 24, 2004 ;; | e-mail : rakesh.rao@4d-technologies.com ;; | Web : www.4d-technologies.com ;; | ----------------------------------------------------------------------------- (defun SS_PutName ( eSS Name doc / cnt cSS ss ssl oLst arr ename oname Done ) (setq cSS (vla-get-SelectionSets doc) Done nil ) (if (not (SS_IsDefined? Name cSS)) (progn (setq ss (vla-add cSS Name) ssl (sslength eSS) cnt 0 oLst '() arr (vlax-make-safearray vlax-vbObject (cons 0 (1- ssl))) ) (repeat ssl (setq ename (ssname eSS cnt) oname (vlax-ename->vla-object ename) oLst (cons oname oLst) cnt (1+ cnt) ) ) (setq arr (vlax-safearray-fill arr oLst) arr (vlax-make-variant arr) ) (vla-additems ss arr) (setq Done T) (foreach oname oLst (vlax-release-object oname) ) )) Done )