<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Visual Lisp selecting layers by description in Visual LISP, AutoLISP and General Customization Forum</title>
    <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8099550#M102966</link>
    <description>&lt;P&gt;This Seems to work perfect -&amp;nbsp;&lt;BR /&gt;just a few more questions, if i want to have the vlisp search for multiple descriptions how would that look?&lt;BR /&gt;&lt;BR /&gt;and say i wanted it to turn the layer back on with those descriptions i would just set vlax-false to vlax-true?&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 29 Jun 2018 02:55:13 GMT</pubDate>
    <dc:creator>dwattersAMXH5</dc:creator>
    <dc:date>2018-06-29T02:55:13Z</dc:date>
    <item>
      <title>Visual Lisp selecting layers by description</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8099201#M102961</link>
      <description>&lt;P&gt;i would like to build a visual lisp to select all layers with a specific description so that i can then turn all of those layers off/on/freeze/thaw/no-plot whatever.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;the basic modifying the layer isnt going to be any problem but i was wondering if anyone could point me in a direction for selecting all layers with a defined description using VLisp&lt;BR /&gt;&lt;BR /&gt;thanks!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Jun 2018 22:09:51 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8099201#M102961</guid>
      <dc:creator>dwattersAMXH5</dc:creator>
      <dc:date>2018-06-28T22:09:51Z</dc:date>
    </item>
    <item>
      <title>Re: Visual Lisp selecting layers by description</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8099217#M102962</link>
      <description>&lt;P&gt;This code will browse through all the layers in the drawing and will alert you the name of the layer if it has a desctiption "TEST".&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;(vlax-for layer (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
(if (equal (vla-get-description layer) "TEST") (alert (vla-get-name layer)))
)&lt;/PRE&gt;</description>
      <pubDate>Thu, 28 Jun 2018 22:19:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8099217#M102962</guid>
      <dc:creator>doaiena</dc:creator>
      <dc:date>2018-06-28T22:19:28Z</dc:date>
    </item>
    <item>
      <title>Re: Visual Lisp selecting layers by description</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8099224#M102963</link>
      <description>&lt;P&gt;This is from my library of snippets gathered throughout the years of browsing these forums.&lt;/P&gt;
&lt;P&gt;Give credit to phanaem...&lt;/P&gt;
&lt;PRE&gt;;phanaem 10-13-2014

(defun c:stdlayer ( / acdoc layers layerlist)
  (vl-load-com)
  (setq acdoc  (vla-get-activedocument (vlax-get-acad-object))
        layers (vla-get-layers acdoc)       
        layerlist
         '(("A-COLS" 1 "Continuous" 25 "Columns")
           ("A-BEAM" 2 "Continuous" 30 "Beams")
          )
  )
  (foreach x layerlist
    (setq layer (vla-add layers (car    x)))
    (vla-put-color       layer  (cadr   x))
    (vla-put-linetype    layer  (caddr  x))
    (vla-put-lineweight  layer  (cadddr x))
    (vla-put-description layer  (last   x))
  )
  (princ)
)
&lt;/PRE&gt;
&lt;P&gt;I think there are enough hints here to get you thinking...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;???&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Jun 2018 22:25:06 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8099224#M102963</guid>
      <dc:creator>scot-65</dc:creator>
      <dc:date>2018-06-28T22:25:06Z</dc:date>
    </item>
    <item>
      <title>Re: Visual Lisp selecting layers by description</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8099234#M102964</link>
      <description>&lt;P&gt;thank you!&amp;nbsp;&lt;BR /&gt;so would something like this turn off a layer&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;say i had specific layers that a permitting agency didn't want on the drawings (for construction or something)&lt;BR /&gt;setting those layers description to "non-permitting"&amp;nbsp;&amp;nbsp;&lt;BR /&gt;something like this should work right?&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;(vlax-for layer (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
(if (equal (vla-get-description layer) "non-permitting") (command "layer" "off" "*" "" ""))

&lt;/PRE&gt;&lt;P&gt;since this is just saying "if the layer&amp;nbsp;description&amp;nbsp;="non-permitting" then turn the layer off"&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Jun 2018 22:34:15 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8099234#M102964</guid>
      <dc:creator>dwattersAMXH5</dc:creator>
      <dc:date>2018-06-28T22:34:15Z</dc:date>
    </item>
    <item>
      <title>Re: Visual Lisp selecting layers by description</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8099246#M102965</link>
      <description>&lt;P&gt;I think this is what you are looking for:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;(vlax-for layer (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
(if (equal (vla-get-description layer) "non-permitting") (vla-put-layerOn layer :vlax-false))
)&lt;/PRE&gt;</description>
      <pubDate>Thu, 28 Jun 2018 22:39:19 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8099246#M102965</guid>
      <dc:creator>doaiena</dc:creator>
      <dc:date>2018-06-28T22:39:19Z</dc:date>
    </item>
    <item>
      <title>Re: Visual Lisp selecting layers by description</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8099550#M102966</link>
      <description>&lt;P&gt;This Seems to work perfect -&amp;nbsp;&lt;BR /&gt;just a few more questions, if i want to have the vlisp search for multiple descriptions how would that look?&lt;BR /&gt;&lt;BR /&gt;and say i wanted it to turn the layer back on with those descriptions i would just set vlax-false to vlax-true?&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 29 Jun 2018 02:55:13 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8099550#M102966</guid>
      <dc:creator>dwattersAMXH5</dc:creator>
      <dc:date>2018-06-29T02:55:13Z</dc:date>
    </item>
    <item>
      <title>Re: Visual Lisp selecting layers by description</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8100162#M102967</link>
      <description>&lt;PRE&gt;(defun c:adb-player ()
 (vl-load-com)
 (setq str "ADB-PLayers Complete"
       des1 "construction"
       des2 "DOT"
 );setq
 (vlax-for layer (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
 (cond
    ((equal (vla-get-description layer) des1) (vla-put-layerOn layer :vlax-false))
    ((equal (vla-get-description layer) des2) (vla-put-layerOn layer :vlax-false))
  ));cond
 (alert str)
)&lt;/PRE&gt;&lt;P&gt;answered my own question as far as multiple descriptions&amp;nbsp;&lt;/P&gt;&lt;P&gt;changed the if statement to a cond&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 29 Jun 2018 10:33:35 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8100162#M102967</guid>
      <dc:creator>dwattersAMXH5</dc:creator>
      <dc:date>2018-06-29T10:33:35Z</dc:date>
    </item>
    <item>
      <title>Re: Visual Lisp selecting layers by description</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8100178#M102968</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/5054491"&gt;@dwattersAMXH5&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;PRE&gt;(defun c:adb-player ()
 (vl-load-com)
 (setq str "ADB-PLayers Complete"
       des1 "construction"
       des2 "DOT"
 );setq
 (vlax-for layer (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
 (cond
    ((equal (vla-get-description layer) des1) (vla-put-layerOn layer :vlax-false))
    ((equal (vla-get-description layer) des2) (vla-put-layerOn layer :vlax-false))
  ));cond
 (alert str)
)&lt;/PRE&gt;&lt;P&gt;answered my own question as far as multiple descriptions&amp;nbsp;&lt;/P&gt;&lt;P&gt;changed the if statement to a cond&amp;nbsp;&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;If you put them into a&amp;nbsp;&lt;STRONG&gt;list&lt;/STRONG&gt; (as we're using the Auto&lt;STRONG&gt;LISP&lt;/STRONG&gt;), you can use the MEMBER function.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;  (setq dsc '("construction" "DOT"))
  
  (if (member (vla-get-description layer) dsc)
     (vla-put-layerOn layer :vlax-false))&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 29 Jun 2018 10:44:54 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8100178#M102968</guid>
      <dc:creator>ВeekeeCZ</dc:creator>
      <dc:date>2018-06-29T10:44:54Z</dc:date>
    </item>
    <item>
      <title>Re: Visual Lisp selecting layers by description</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8100200#M102969</link>
      <description>&lt;P&gt;oh that's fancy,&lt;BR /&gt;&lt;BR /&gt;now how would i go about turning the layers back on? turn that last&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;vlax-false&lt;/PRE&gt;&lt;P&gt;to&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;vlax-true &lt;/PRE&gt;&lt;P&gt;&amp;nbsp;?&lt;/P&gt;</description>
      <pubDate>Fri, 29 Jun 2018 10:52:12 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8100200#M102969</guid>
      <dc:creator>dwattersAMXH5</dc:creator>
      <dc:date>2018-06-29T10:52:12Z</dc:date>
    </item>
    <item>
      <title>Re: Visual Lisp selecting layers by description</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8101416#M102970</link>
      <description>&lt;P&gt;here's what i ended up making from this -&amp;nbsp;&lt;BR /&gt;could easily be set up to user input for dsc variable (will probably be my next step later)&lt;BR /&gt;feel free to modify for your needs&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;  ; layer-dstatus - Turns Layers On and Off by Description by Derek Watters, 2018
  (defun c:layer-dstatus ()
    (vl-load-com)
    (initget 1 "On Off")
    (setq strOff "Layer-DStatus Complete : All Layers Not Required for Permitting Have Been Turned Off. Please Run Layer-DStatus Command Again to Turn Layers On"
          strOn "Layer-DStatus Complete : All Layers Not Required for Permitting Have Been Turned On. Please Run Layer-DStatus Command Again to Turn Layers Off"
          dsc '("DESCRIPTION1" "DESCRIPTION2" "DESCRIPTION3")
          rspns (getkword "Turn Layers On or Off by Discription (ON/OFF): ")
    )appload
    (if (= rspns "Off")
      (vlax-for layer (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
        (if (member (vla-get-description layer) dsc)
        (vla-put-layerOn layer :vlax-false))
      )
      (alert strOn)
    );ifOff
    (if (= rspns "On")
      (vlax-for layer (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
        (if (member (vla-get-description layer) dsc)
        (vla-put-layerOn layer :vlax-true))
      )
      (alert strOff)
    );IfOn
    (princ)
    );&lt;/PRE&gt;</description>
      <pubDate>Fri, 29 Jun 2018 18:23:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8101416#M102970</guid>
      <dc:creator>dwattersAMXH5</dc:creator>
      <dc:date>2018-06-29T18:23:03Z</dc:date>
    </item>
    <item>
      <title>Re: Visual Lisp selecting layers by description</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8101569#M102971</link>
      <description>&lt;P&gt;FWIW .. here's a way to toggle the on off status without user input:&lt;/P&gt;&lt;PRE&gt;(defun c:layer-dstatus nil
  (vl-load-com)
  (vlax-for layer (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
    (cond ((wcmatch (strcase (vla-get-description layer)) "DESCRIPTION[1-3]")
	   (vlax-put layer 'layeron (boole 8 0 (vlax-get layer 'layeron)))
	  )
    )
  )
  (princ)
)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 29 Jun 2018 19:42:29 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/visual-lisp-selecting-layers-by-description/m-p/8101569#M102971</guid>
      <dc:creator>ronjonp</dc:creator>
      <dc:date>2018-06-29T19:42:29Z</dc:date>
    </item>
  </channel>
</rss>

