TheSwamp

Code Red => AutoLISP (Vanilla / Visual) => Topic started by: Andrea on November 22, 2006, 12:06:15 PM

Title: Layer descriptions
Post by: Andrea on November 22, 2006, 12:06:15 PM
can anyone know how to GET and hot to PUT layer description with LISP ?
Title: Re: Layer descriptions
Post by: T.Willey on November 22, 2006, 12:12:21 PM
Code: [Select]
(vlax-for Lay
 (vla-get-Layers
  (vla-get-ActiveDocument
   (vlax-get-Acad-Object)
  )
 )
 (prompt
  (strcat
   "\n Layer name: "
   (vla-get-Name Lay)
   "  Layer description: "
   (vla-get-Description Lay)
  )
 )
)
Title: Re: Layer descriptions
Post by: Andrea on November 22, 2006, 12:21:57 PM
Woo !!....that was fast !..

Thanks Twilly. :-)
Title: Re: Layer descriptions
Post by: T.Willey on November 22, 2006, 12:25:08 PM
You're welcome Andrea.
Title: Re: Layer descriptions
Post by: TimSpangler on November 22, 2006, 12:34:18 PM
To add a description

Code: [Select]
;; Set activeX variables
(setq XAcadObject (vlax-get-acad-object))
(setq XActiveDoc (vla-get-activedocument XAcadObject))
(setq XActiveLayout (vla-get-ActiveLayout XActiveDoc))
(setq XLayersCol (vla-get-layers XActiveDoc))

;; Create layer description
(if(or(= 16.1 (atof(getvar "acadver")))(< 16.1 (atof(getvar "acadver"))))
(progn
(setq VLA-Obj(vla-add XLayersCol Layer))
(vla-Put-Description VLA-Obj "YOUR DESCRIPTION HERE")
)
)

Title: Re: Layer descriptions
Post by: T.Willey on November 22, 2006, 12:53:31 PM
This
Code: [Select]
(if(or(= 16.1 (atof(getvar "acadver")))(< 16.1 (atof(getvar "acadver"))))
could be written like
Code: [Select]
(if (<= 16.1 (atof(getvar "acadver")))
Nit picky, but thought I would point it out.  :-)
Title: Re: Layer descriptions
Post by: TimSpangler on November 22, 2006, 01:52:33 PM
Nit picky, but thought I would point it out.  :-)

Thanks for pointing that out.  Ihave it written both ways.  I gues the one I copied from was an older program that wasn't updated yet.  Oh well its changed now .

Thanks again Tim

Title: Re: Layer descriptions
Post by: Andrea on November 22, 2006, 02:19:48 PM
Code: [Select]
;; Set activeX variables
(setq XAcadObject (vlax-get-acad-object))
(setq XActiveDoc (vla-get-activedocument XAcadObject))
(setq XActiveLayout (vla-get-ActiveLayout XActiveDoc))
(setq XLayersCol (vla-get-layers XActiveDoc))

can also be write like...
Code: [Select]
(setq XAcadObject (vlax-get-acad-object) XActiveDoc (vla-get-activedocument XAcadObject)
XActiveLayout (vla-get-ActiveLayout XActiveDoc) XLayersCol (vla-get-layers XActiveDoc))

lol ! :lmao:
Title: Re: Layer descriptions
Post by: TimSpangler on November 22, 2006, 02:22:51 PM
Seems everyone is a comedian today??   :-D