i try to add more block in this lisp,and i change the nome of the blocks and i have some error, But i canot understand why?
(defun c:Test (/ *error* l1 l2 l3 l4 l5 l6 l7 s lst i e x en)
;; Tharwat 02.12.2013 ;;
(or doc
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
)
(defun *error* (u)
(if lst
(mapcar '(lambda (u) (vla-put-lock u :vlax-true)) lst)
)
(princ "\*Cancel*")
)
(setq l1 "point"
l2 "station"
l3 "trigonom"
l4 "REPERS"
l5 "koryfes"
l6 "kokaek"
l7 "korot"
)
(if
(and
(if (tblsearch "LAYER" l1)
t
(progn
(alert (strcat "Layer < " l1 " > is not found !!"))
nil
)
)
(if (tblsearch "LAYER" l2)
t
(progn
(alert (strcat "Layer < " l2 " > is not found !!"))
nil
)
(if (tblsearch "LAYER" l3)
t
(progn
(alert (strcat "Layer < " l3 " > is not found !!"))
nil
)
(if (tblsearch "LAYER" l4)
t
(progn
(alert (strcat "Layer < " l4 " > is not found !!"))
nil
)
(if (tblsearch "LAYER" l5)
t
(progn
(alert (strcat "Layer < " l5 " > is not found !!"))
nil
)
(if (tblsearch "LAYER" l6)
t
(progn
(alert (strcat "Layer < " l6 " > is not found !!"))
nil
)
(if (tblsearch "LAYER" l7)
t
(progn
(alert (strcat "Layer < " l7 " > is not found !!"))
nil
)
)
(setq s
(ssget
"_X"
'((0 . "INSERT")
(66 . 1)
(2
.
"station,point,trigonom,repers,koryfes,kokaek,korot"
)
)
)
)
)
(progn
(vlax-for layer (vla-get-layers doc)
(if (eq :vlax-true (vla-get-lock layer))
(vla-put-lock
(car (setq lst (cons layer lst)))
:vlax-false
)
)
)
(vla-StartUndoMark doc)
(repeat (setq i (sslength s))
(setq e (entget (setq x (ssname s (setq i (1- i))))))
(entmod
(subst (cons 8
(if (eq (cdr (assoc 2 e)) "point")
l1
l2
l3
l4
l5
l6
l7
)
)
(assoc 8 e)
e
)
)
)
(vla-EndUndoMark doc)
(if lst
(mapcar '(lambda (u) (vla-put-lock u :vlax-true)) lst)
)
(vla-regen doc AcAllViewports)
)
)
(princ)
)
(vl-load-com)
)
)
)
)
)