;; | ----------------------------------------------------------------------------- ;; | SS_GetFilteredSelection ;; | ----------------------------------------------------------------------------- ;; | Function : Returns a filtered selection from a manually selected set ;; | Arguments: 'filtr' - Filter to check ;; | Returns : filtered selection set ;; | Updated : December 17, 2007 ;; | e-mail : rakesh.rao@4d-technologies.com ;; | Web : www.4d-technologies.com ;; | ----------------------------------------------------------------------------- (defun SS_GetFilteredSelection ( eLst lyrLst filterMode / ss ssl ss1 cnt ename entl en la ) (setq ss (ssget) ss1 (ssadd) ) (if ss (progn (setq ssl (sslength ss) cnt 0 ) (repeat ssl (setq ename (ssname ss cnt) cnt (1+ cnt) entl (entget ename) en (strcase (LI_item 0 entl)) la (strcase (LI_item 8 entl)) ) (cond ((= filterMode "EntityType") (if (member en eLst) (ssadd ename ss1) ) ) ((= filterMode "Layer") (if (member la lyrLst) (ssadd ename ss1) ) ) ((= filterMode "Both") (if (and (member en eLst) (member la lyrLst) ) (ssadd ename ss1) ) ) ) ) )) (if (= (sslength ss1) 0) (setq ss1 nil) ) ss1 )