Code:
(defun C:TextLayer ()
(command "layer" "m" "HW-TXT" "m" "WFI-TXT" "m" "CHWS-TXT" "u" "*" "")
(and
(setq ssSelections (ssget "x" (list (cons 0 "*text"))))
(setq lstObjects (SelectionSetToList ssSelections))
(mapcar '(lambda (X)(changetextlayer X "*HW*" "HW-TXT" )) lstObjects)
(mapcar '(lambda (X)(changetextlayer X "*WFI*" "WFI-TXT" )) lstObjects)
(mapcar '(lambda (X)(changetextlayer X "*CHWS*" "CHWS-TXT")) lstObjects)
)
)
(defun ChangeTextlayer (objItem strWCMatch strLayer)
(if (wcmatch (strcase (vla-get-textstring objItem)) (strcase strWCMatch))
(vla-put-layer objItem strLayer)
)
)
(defun SelectionSetToList (ssSelections / entSelection intCount lstObjects objSelection )
(repeat (setq intCount (sslength ssSelections))
(setq intCount (1- intCount))
(setq entSelection (ssname ssSelections intCount))
(setq objSelection (vlax-ename->vla-object entSelection))
(setq lstObjects (cons objSelection lstObjects))
)
(reverse lstObjects)
)
(vl-load-com)