and if I want to add a Warning messge to this routine's body??
(vl-load-com)
(defun c:XX (/ ss i sset oEXPERT cmde tmod llst la lnam lfrz loff)
(setq oEXPERT (getvar 'EXPERT))
(prompt "\n Select object to put on layer [PIPE_S].. ") ;unify the layer name, is it PIPE_S or PIP_S?
(if (setq ss (ssget "_:L"))
(repeat (setq i (sslength ss))
(setq sset (ssname ss (setq i (1- i))))
(if (not (tblsearch "LAYER" "PIPE_S"))
(progn
(setvar 'EXPERT 3)
(command "_.-LINETYPE" "_LOAD" "Center" "acad.lin" "") ;change *.lin if different
(entmakex (list '(0 . "LAYER")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbLayerTableRecord")
(cons 2 "PIPE_S")
(cons 70 0)
(cons 62 6)
(cons 6 "Center")
(cons 370 25)))
(vla-put-description (vlax-ename->vla-object (tblobjname "LAYER" "PIPE_S")) "Your description")
)
)
(entmod (subst (cons 8 "PIPE_S")
(assoc 8 (entget sset))
(entget sset))))
(princ "\n Nothing selected "))
(setq cmde (getvar "cmdecho") ;here was an extra left bracket
tmod (getvar "tilemode")
llst ""
la (tblnext "layer" T))
(setvar "cmdecho" 0)
(while la
(setq lnam (cdr (assoc 2 la))
lfrz (= (logand (cdr (assoc 70 la)) 1) 1)
loff (minusp (cdr (assoc 62 la))))
(if (or lfrz loff)
(progn
(if (setq ss (ssget "x" (list (cons 8 lnam))))
(command "_.-layer" "_u" lnam ""
"_.erase" ss ""))
(setq llst (strcat lnam "," llst)
la (entget (tblobjname "layer" lnam))
la (subst '(70 . 0)(assoc 70 la) la))
(entmod la)))
(setq la (tblnext "layer")))
(if (> llst "")
(command "_.tilemode" 0
"_.vplayer" "_t" llst "_a" ""))
(repeat 3
(command "_.purge" "_a" "*" "_n"))
(setvar 'EXPERT oEXPERT)
(setvar "cmdecho" cmde)
(setvar "tilemode" tmod)
(princ)
)
Thanks