To check for the existence of a Layer, Style
or a Dimstyle can be achieved in a couple of ways. To achieve it using plain old
AutoLisp and the (tblsearch) function, have a look here:
Working with Layers, DimStyles and Styles
http://www.afralisp.com/lispa/lisp31.htm
eg.
(defun C:Lon ()
(if (tblsearch "LAYER" "STEEL")
(command "layer" "on" "STEEL" "")
(princ "\nLayer STEEL not found")
)
(princ)
)
If you would like to achieve it the
"new" way, (and the preferable way I
must admit) have a look at doing it using Visual Lisp :
Visual Lisp Collections
http://www.afralisp.com/vl/collect1.htm
eg.
(defun c:layerAdd ()
(vl-load-com)
(setq acadDocument (vla-get-activedocument (vlax-get-acad-object))
theLayers (vla-get-layers acadDocument)
newLayer (vla-add theLayers "Steel"))
(vla-put-color newLayer 5)
(vla-put-linetype newLayer "Dashed2")
(princ)
);defun
This routine creates a new Layer named
"Steel" with Color "5" and a Linetype
of "Dashed2". If the Layer already exists, this routine simply does
nothing.
Visual Lisp may seem a bit daunting at first, but believe me, it's the way
to go..
|