<?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: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer in Visual LISP, AutoLISP and General Customization Forum</title>
    <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14246640#M172494</link>
    <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/19405748"&gt;@frederick_gillis&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For unformatted texts only&lt;/P&gt;&lt;LI-CODE lang="lisp"&gt;(defun c:movt (/ text contents)
	(setq text (car (entsel "\nPick text: ")))
	(setq contents (cdr (assoc 1 (entget text))))
	(if (snvalid contents) 
		(entmod (append (entget text) (list (cons 8 (cdr (assoc 1 (entget text)))))))
		(alert (strcat "Incorrect name for layer: \"" contents "\""))
	)
	(princ)
)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 27 Aug 2026 07:06:06 GMT</pubDate>
    <dc:creator>komondormrex</dc:creator>
    <dc:date>2026-08-27T07:06:06Z</dc:date>
    <item>
      <title>Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14237662#M172368</link>
      <description>&lt;P&gt;Completely new to the idea of Lisp in general, just realizing now that it’s a thing. Wondering if it’s possible to do this - create a macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer. Any help would be appreciated, even pointing me in the right direction to learn how to do it myself, thank you!&lt;/P&gt;</description>
      <pubDate>Tue, 18 Aug 2026 19:47:48 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14237662#M172368</guid>
      <dc:creator>frederick_gillis</dc:creator>
      <dc:date>2026-08-18T19:47:48Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14237674#M172369</link>
      <description>&lt;P&gt;Hi, here you are:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="lisp"&gt;(defun c:Text2Layer ( / oldcmdecho ss i ent edata txt layName )
  (vl-load-com)
  
  ;; Store current command echo setting and turn it off for cleaner execution
  (setq oldcmdecho (getvar "CMDECHO"))
  (setvar "CMDECHO" 0)
  
  (prompt "\nSelect TEXT or MTEXT to create layers from: ")
  
  ;; Only allow selection of Text or MText objects
  (if (setq ss (ssget '((0 . "TEXT,MTEXT"))))
    (progn
      (setq i 0)
      
      ;; Loop through all selected text objects
      (while (&amp;lt; i (sslength ss))
        (setq ent (ssname ss i))
        (setq edata (entget ent))
        
        ;; Extract the text string (DXF group code 1)
        (setq txt (cdr (assoc 1 edata)))
        
        ;; Clean up text for valid layer name 
        ;; Replaces illegal AutoCAD characters with an underscore
        (setq layName (vl-string-translate "&amp;lt;&amp;gt;/\\\":;?*|=''," "______________" txt))
        
        ;; Check if the layer already exists
        (if (not (tblsearch "layer" layName))
          ;; If it doesn't exist, make it
          (command "._-layer" "_make" layName "")
        )
        
        ;; Move the entity to the new layer (Modify DXF group code 8)
        (setq edata (subst (cons 8 layName) (assoc 8 edata) edata))
        (entmod edata)
        
        (setq i (1+ i))
      )
      (princ (strcat "\nSuccess! Processed " (itoa (sslength ss)) " text object(s)."))
    )
    (princ "\nNo text selected.")
  )
  
  ;; Restore original command echo setting
  (setvar "CMDECHO" oldcmdecho)
  (princ)
)&lt;/LI-CODE&gt;</description>
      <pubDate>Tue, 18 Aug 2026 20:19:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14237674#M172369</guid>
      <dc:creator>patrick-emin</dc:creator>
      <dc:date>2026-08-18T20:19:01Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14238597#M172377</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;LI-CODE lang="lisp"&gt;....       
        ;; Check if the layer already exists
        (if (not (tblsearch "layer" layName))
          ;; If it doesn't exist, make it
          (command "._-layer" "_make" layName "")
        )
....&lt;/LI-CODE&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;A suggestion:&lt;/P&gt;
&lt;P&gt;That approach, using the&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;&lt;FONT color="#0000FF"&gt; M&lt;/FONT&gt;ake&lt;/STRONG&gt; &lt;/FONT&gt;option in the&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt; LAYER&lt;/STRONG&gt; &lt;/FONT&gt;command, will &lt;EM&gt;make each Layer current&lt;/EM&gt; in the process.&amp;nbsp; If doing that, I would suggest that you also save the initial current Layer [the&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt; CLAYER&lt;/STRONG&gt; &lt;/FONT&gt;System Variable] at the beginning, and reset it at the end, as the routine does with&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt; CMDECHO&lt;/STRONG&gt;&lt;/FONT&gt;.&lt;/P&gt;
&lt;P&gt;But instead, I recommend that you use the&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;&lt;FONT color="#0000FF"&gt; N&lt;/FONT&gt;ew&lt;/STRONG&gt; &lt;/FONT&gt;option in the&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt; LAYER&lt;/STRONG&gt; &lt;/FONT&gt;command, rather than&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;&lt;FONT color="#0000FF"&gt; M&lt;/FONT&gt;ake&lt;/STRONG&gt;&lt;/FONT&gt;.&amp;nbsp; Then the current Layer is not changed, but the New Layer will still be available to put the Text/Mtext on.&amp;nbsp; No need to save the initial current Layer and restore it later, because the initial current Layer will remain current throughout.&lt;/P&gt;
&lt;P&gt;Also, using the&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;&lt;FONT color="#0000FF"&gt; M&lt;/FONT&gt;ake&lt;/STRONG&gt; &lt;/FONT&gt;option that causes the Layer to become current will run into trouble &lt;EM&gt;if the Layer already exists but is Frozen&lt;/EM&gt;, because a Frozen Layer cannot be made current, so you should include a&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;&lt;FONT color="#0000FF"&gt; T&lt;/FONT&gt;haw&lt;/STRONG&gt; &lt;/FONT&gt;option on the Layer name first.&amp;nbsp; With the&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;&lt;FONT color="#0000FF"&gt; N&lt;/FONT&gt;ew&lt;/STRONG&gt; &lt;/FONT&gt;option, that is not a problem, unless you don't want to see the Text/Mtext disappear when it's moved to the frozen Layer.&lt;/P&gt;
&lt;P&gt;And while we're in that part of the routine, you really don't need to test whether the Layer exists.&amp;nbsp; You can just do the&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt; LAYER&lt;/STRONG&gt; &lt;/FONT&gt;command part [whether with the&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;&lt;FONT color="#0000FF"&gt; M&lt;/FONT&gt;ake&lt;/STRONG&gt; &lt;/FONT&gt;or&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;&lt;FONT color="#0000FF"&gt; N&lt;/FONT&gt;ew&lt;/STRONG&gt; &lt;/FONT&gt;option], without its being an argument within an&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt; (if)&lt;/STRONG&gt; &lt;/FONT&gt;function, and &lt;EM&gt;it won't matter if the Layer already exists&lt;/EM&gt;.&amp;nbsp; It will not cause any error -- the command will just go back to the main prompt again [to be concluded with the final Enter&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt; ""&lt;/STRONG&gt;&lt;/FONT&gt;].&lt;/P&gt;</description>
      <pubDate>Wed, 19 Aug 2026 16:52:04 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14238597#M172377</guid>
      <dc:creator>Kent1Cooper</dc:creator>
      <dc:date>2026-08-19T16:52:04Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14238958#M172381</link>
      <description>&lt;P&gt;Message 2 looks like AI generated. Shame on you.&lt;/P&gt;&lt;P&gt;There is a good chance the new layer's color will not be to your liking.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can try to entmake the layer:&lt;/P&gt;&lt;LI-CODE lang="general"&gt; (entmake (list (cons 0 "LAYER")
  (cons 100 "AcDbSymbolTableRecord")
  (cons 100 "AcDbLayerTableRecord")
  (cons 2  Name as "string")
  (cons 70 0)
  (cons 62 Color as "string")
  (cons 6 Linetype as "string")
  (cons 290 Plt)
  (cons 370 LineWeight)
 ))&lt;/LI-CODE&gt;&lt;P&gt;Some items can be left out except the first 3.&lt;/P&gt;&lt;P&gt;Study up on the DFX codes. They will be useful down the road.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 19 Aug 2026 21:37:50 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14238958#M172381</guid>
      <dc:creator>scot-65</dc:creator>
      <dc:date>2026-08-19T21:37:50Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14239545#M172394</link>
      <description>&lt;P&gt;Hello. Yes, thank you for these comments, which help improve the process. As with every AutoLISP programming request, especially when it comes from people who are unfamiliar with the language, we provide a draft version that is then discussed and refined based on feedback from the original requester. These discussions help requesters improve their skills in this area.&lt;/P&gt;</description>
      <pubDate>Thu, 20 Aug 2026 13:27:14 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14239545#M172394</guid>
      <dc:creator>patrick-emin</dc:creator>
      <dc:date>2026-08-20T13:27:14Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14239917#M172398</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/19405748"&gt;@frederick_gillis&lt;/a&gt;&amp;nbsp;Here's a quick VLA variant:&lt;/P&gt;
&lt;LI-CODE lang="lisp"&gt;(defun c:foo (/ lyrs o txt s)
  (cond	((setq s (ssget ":L" '((0 . "*TEXT"))))
	 (setq lyrs (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))))
	 (foreach e (vl-remove-if 'listp (mapcar 'cadr (ssnamex s)))
	   (setq txt (vla-get-textstring (setq o (vlax-ename-&amp;gt;vla-object e))))
	   (if (eq 'vla-object (type (vl-catch-all-apply 'vla-add (list lyrs txt))))
	     (vla-put-layer o txt)
	   )
	 )
	)
  )
  (princ)
)&lt;/LI-CODE&gt;</description>
      <pubDate>Thu, 20 Aug 2026 19:55:39 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14239917#M172398</guid>
      <dc:creator>ronjonp</dc:creator>
      <dc:date>2026-08-20T19:55:39Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14240066#M172402</link>
      <description>&lt;P&gt;Just a couple of additional comments:&lt;/P&gt;&lt;P&gt;(1) it's possible especially with MText that contain multiple lines of word wrapped content that the text string is now separated into two dxf group codes:&lt;/P&gt;&lt;P&gt;dxf group code 3 and dxf group code of 1&lt;/P&gt;&lt;P&gt;To avoid having to deal with the possibility of this I would instead of using this line of code:&lt;/P&gt;&lt;LI-CODE lang="general"&gt;(setq txt (cdr (assoc 1 edata)))&lt;/LI-CODE&gt;&lt;P&gt;I would use these lines of code to retrieve the contents for MText vs Text:&lt;/P&gt;&lt;LI-CODE lang="general"&gt;(if (eq (getpropertyvalue ent "LocalizedName") "MText")
 (setq txt (getpropertyvalue ent "Contents"))
 (setq txt (cdr (assoc 1 edata)))
)&lt;/LI-CODE&gt;&lt;P&gt;(2) If the total characters from the text string retrieved is greater than 255, then the routine will fail to create the layer.&lt;/P&gt;&lt;P&gt;So after cleaning up text for valid layer name you may want to add these lines of code to check for this:&lt;/P&gt;&lt;LI-CODE lang="general"&gt;(if (&amp;gt; (strlen layName) 255)(setq layName (substr layName 1 255)))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 20 Aug 2026 23:29:31 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14240066#M172402</guid>
      <dc:creator>paullimapa</dc:creator>
      <dc:date>2026-08-20T23:29:31Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14240074#M172403</link>
      <description>&lt;P&gt;Nice and short...but I would add check to make sure length of textstring is not greater than 255.&lt;/P&gt;&lt;P&gt;Though AutoCAD will still allow your code to create the layer that is longer, I would avoid having to deal with possible future drawing database problems with layer names that are longer than what is allowed.&lt;/P&gt;</description>
      <pubDate>Thu, 20 Aug 2026 23:42:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14240074#M172403</guid>
      <dc:creator>paullimapa</dc:creator>
      <dc:date>2026-08-20T23:42:28Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text...</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14245537#M172475</link>
      <description>&lt;P&gt;Hello &lt;SPAN style="background: var(--ck-color-mention-background); color: var(--ck-color-mention-text);"&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/19405748"&gt;@frederick_gillis&lt;/a&gt;&lt;/SPAN&gt;,&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Welcome to the community!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have any of the suggestions provided in this thread helped resolve your issue? If so, please mark the helpful response as the solution. If you’re still facing the same problem, reply to this thread with an update so the community can assist you further.&lt;/P&gt;</description>
      <pubDate>Wed, 26 Aug 2026 09:50:21 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14245537#M172475</guid>
      <dc:creator>navya_gelli</dc:creator>
      <dc:date>2026-08-26T09:50:21Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14246086#M172484</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/1137264"&gt;@paullimapa&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;....&amp;nbsp;it's possible especially with MText that contain multiple lines of word wrapped content that the text string is now separated into two dxf group codes:&lt;/P&gt;
&lt;P&gt;dxf group code 3 and dxf group code of 1&lt;/P&gt;
&lt;P&gt;....&amp;nbsp;&lt;SPAN&gt;check to make sure length of textstring is not greater than 255. ....&lt;/SPAN&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The DXF code 1 &amp;amp; 3 thing is independent of word wrapping.&amp;nbsp; It's just about total characters in the text content -- beyond 250 it brings in a 3 entry for each clump of 250 characters, with the leftovers going in the 1 entry.&amp;nbsp; However,&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/19405748"&gt;@frederick_gillis&lt;/a&gt;, can you enlighten us on the circumstances under which you need to do this?&amp;nbsp; I can't imagine a reason to make a Layer whose name is extracted text content of &lt;EM&gt;hundreds of characters&lt;/EM&gt;, even if a Layer name of up to 255 is "allowed."&lt;/P&gt;</description>
      <pubDate>Wed, 26 Aug 2026 17:32:24 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14246086#M172484</guid>
      <dc:creator>Kent1Cooper</dc:creator>
      <dc:date>2026-08-26T17:32:24Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14246165#M172489</link>
      <description>&lt;P&gt;I think we need to be especially careful with MText because the special formatting and the new lines are all carried out using additional characters which all add up to the 250 character limit causing the remainder to go towards dxf 3.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 26 Aug 2026 18:44:29 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14246165#M172489</guid>
      <dc:creator>paullimapa</dc:creator>
      <dc:date>2026-08-26T18:44:29Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14246640#M172494</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/19405748"&gt;@frederick_gillis&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For unformatted texts only&lt;/P&gt;&lt;LI-CODE lang="lisp"&gt;(defun c:movt (/ text contents)
	(setq text (car (entsel "\nPick text: ")))
	(setq contents (cdr (assoc 1 (entget text))))
	(if (snvalid contents) 
		(entmod (append (entget text) (list (cons 8 (cdr (assoc 1 (entget text)))))))
		(alert (strcat "Incorrect name for layer: \"" contents "\""))
	)
	(princ)
)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Aug 2026 07:06:06 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14246640#M172494</guid>
      <dc:creator>komondormrex</dc:creator>
      <dc:date>2026-08-27T07:06:06Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14247077#M172498</link>
      <description>&lt;P&gt;So, today I learned about snvalid. Nice. Thanks Komondormrex.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think if you run that ^ contents var through Strip MText or LM:Unformat you'll have a solid solution to the OP's query.&lt;/P&gt;</description>
      <pubDate>Thu, 27 Aug 2026 14:38:47 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14247077#M172498</guid>
      <dc:creator>DGCSCAD</dc:creator>
      <dc:date>2026-08-27T14:38:47Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14247167#M172499</link>
      <description>&lt;P&gt;Or to get contents of MText without any special formatting:&lt;/P&gt;&lt;LI-CODE lang="general"&gt;(setq contents (getpropertyvalue text "Text"))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Aug 2026 15:46:57 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14247167#M172499</guid>
      <dc:creator>paullimapa</dc:creator>
      <dc:date>2026-08-27T15:46:57Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14247210#M172500</link>
      <description>&lt;P&gt;Testing...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using MText with some formatting:&lt;/P&gt;&lt;P&gt;(1 . "TESTING SOME {\\C5;(JHSDBFJVHDB)}\\PAND THEN {\\C3;SUB1} AND {\\C3;SUB2}")&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Command: (setq text (car (entsel "\nPick text: ")))&lt;/P&gt;&lt;P&gt;Pick text: &amp;lt;Entity name: 29536b3edb0&amp;gt;&lt;/P&gt;&lt;P&gt;Command: (setq contents (getpropertyvalue text "Text"))&lt;BR /&gt;"TESTING SOME (JHSDBFJVHDB)&lt;FONT color="#FF0000"&gt;\r\n&lt;/FONT&gt;AND THEN SUB1 AND SUB2"&lt;/P&gt;&lt;P&gt;Command: (snvalid contents)&lt;BR /&gt;nil&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;...and then:&lt;/P&gt;&lt;P&gt;Command: (setq text (car (entsel "\nPick text: ")))&lt;/P&gt;&lt;P&gt;Pick text: &amp;lt;Entity name: 29536b3edb0&amp;gt;&lt;/P&gt;&lt;P&gt;Command: (setq contents (cdr (assoc 1 (entget text))))&lt;BR /&gt;"TESTING SOME {\\C5;(JHSDBFJVHDB)}\\PAND THEN {\\C3;SUB1} AND {\\C3;SUB2}"&lt;/P&gt;&lt;P&gt;Command: (setq contents (LM:UnFormat contents nil))&lt;BR /&gt;"TESTING SOME (JHSDBFJVHDB) AND THEN SUB1 AND SUB2"&lt;/P&gt;&lt;P&gt;Command: (snvalid contents)&lt;BR /&gt;T&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Looks like getpropertyvalue is carrying some formatting with it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Aug 2026 16:54:44 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14247210#M172500</guid>
      <dc:creator>DGCSCAD</dc:creator>
      <dc:date>2026-08-27T16:54:44Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14247239#M172501</link>
      <description>&lt;P&gt;You're correct. It doesn't take into account the hard returns.&lt;/P&gt;&lt;P&gt;I would use this function to remove them:&lt;/P&gt;&lt;LI-CODE lang="general"&gt;; aec_replace function to find &amp;amp; replace multiple instances
; https://www.cadtutor.net/forum/topic/68245-find-and-replace-multyple-letters/
; Arguments:
; new = new character
; old = old character
; string = string value
(defun aec_replace (new old string / pos)
  (while (setq pos (vl-string-search old string pos))
   (setq string (vl-string-subst new old string pos)
         pos    (+ pos (strlen new))
   ) ; setq
  ) ; while
  string
 )&lt;/LI-CODE&gt;&lt;LI-CODE lang="general"&gt;(setq contents (aec_replace "" "\r\n" contents))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Aug 2026 17:23:53 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14247239#M172501</guid>
      <dc:creator>paullimapa</dc:creator>
      <dc:date>2026-08-27T17:23:53Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14266747#M172621</link>
      <description>&lt;P&gt;Thanks for your suggestions everyone - I was kind of in a rush so I ended up taking the first response by&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/8899175"&gt;@patrick-emin&lt;/a&gt;&amp;nbsp;and adding some modifications based on further need and some of the posts I saw here afterwards.&lt;/P&gt;&lt;P&gt;Here is the final product that I ended up using, it could definitely be adjusted based on things I don't need - as in I'll never need to select multiple Text objects or Mtext, so that whole loop and check section is unneeded but definitely educational.&lt;/P&gt;&lt;P&gt;It takes the selected object, makes a new layer with the same name as the selection, moves the selection to the new layer, makes it lowercase, sets the current layer back to 0, checks to see if the existing layers are all on the allowed list, tells me otherwise, and finishes all while silencing and then restoring the cmdecho.&lt;/P&gt;&lt;P&gt;Thanks again for all the help everyone! Getting into lisps more and more.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;(defun c:Text2Layer ( / oldcmdecho ss i ent edata txt layName )&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; (vl-load-com)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; ;; Store current command echo setting and turn it off for cleaner execution&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; (setq oldcmdecho (getvar "CMDECHO"))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; (setvar "CMDECHO" 0)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; (defun to-lower (s / lst)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; (setq lst '())&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; (foreach c (vl-string-&amp;gt;list s)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (setq lst (cons (cond&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ((and (&amp;gt;= c 65) (&amp;lt;= c 90)) (+ c 32)) ; convert A–Z → a–z&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (c)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lst))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; )&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; (vl-list-&amp;gt;string (reverse lst))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; )&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; (prompt "\nSelect TEXT or MTEXT to create layers from: ")&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; ;; Only allow selection of Text or MText objects&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; (if (setq ss (ssget '((0 . "TEXT,MTEXT"))))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; (progn&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (setq i 0)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ;; Loop through all selected text objects&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (while (&amp;lt; i (sslength ss))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (setq ent (ssname ss i))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (setq edata (entget ent))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;; Extract the text string (DXF group code 1)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (setq txt (cdr (assoc 1 edata)))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;; Clean up text for valid layer name&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;; Replaces illegal AutoCAD characters with an underscore&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (setq layName (vl-string-translate "&amp;lt;&amp;gt;/\\\":;?*|=''," "______________" txt))&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;(setq layName (to-lower layName))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;; Check if the layer already exists&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (if (not (tblsearch "layer" layName))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;; If it doesn't exist, make it&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (command "._-layer" "_make" layName "")&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;; Move the entity to the new layer (Modify DXF group code 8)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (setq edata (subst (cons 8 layName) (assoc 8 edata) edata))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (entmod edata)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (setq i (1+ i))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (setvar "CLAYER" "0")&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (setq allowed (list "0" "COLUMN" layName))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (setq lst (tblnext "LAYER" T))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (setq found nil)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (while lst&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (if (not (member (cdr (assoc 2 lst)) allowed))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (setq found T)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (setq lst (tblnext "LAYER"))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (if found&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (prompt "\nOther layers exist.")&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (prompt "\nOnly allowed layers found.")&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (princ (strcat "\nSuccess! Processed " (itoa (sslength ss)) " text object(s)."))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; )&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; (princ "\nNo text selected.")&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; )&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; ;; Restore original command echo setting&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; (setvar "CMDECHO" oldcmdecho)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; (princ)&lt;/DIV&gt;&lt;DIV&gt;)&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 14:09:38 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14266747#M172621</guid>
      <dc:creator>frederick_gillis</dc:creator>
      <dc:date>2026-09-15T14:09:38Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14266797#M172622</link>
      <description>&lt;P&gt;FYI&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/69526"&gt;@Kent1Cooper&lt;/a&gt;&amp;nbsp; had mentioned this in another post but when &lt;STRONG&gt;entmod&lt;/STRONG&gt; is used, it’ll automatically create a layer that does not exist. So there’s no need for the section of code that checks if the layer exists and makes it if it does not.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 14:27:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14266797#M172622</guid>
      <dc:creator>paullimapa</dc:creator>
      <dc:date>2026-09-15T14:27:28Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14266926#M172623</link>
      <description>&lt;P&gt;A more direct and &lt;EM&gt;much shorter&lt;/EM&gt; way to make all alphabetic characters in a string lower-case:&lt;/P&gt;
&lt;LI-CODE lang="general"&gt;  (defun to-lower (s) (strcase s T))&lt;/LI-CODE&gt;
&lt;P&gt;No list to build or string to re-build from the list, no stepping through, no calculation of adjusted ASCII values, no effect on non-alphabetic characters, etc.&amp;nbsp; Read about the&lt;FONT face="courier new,courier"&gt;&lt;EM&gt;&lt;STRONG&gt; [which]&lt;/STRONG&gt; &lt;/EM&gt;&lt;/FONT&gt;argument in the AutoLisp Reference's &lt;A href="https://help.autodesk.com/view/OARX/2026/ENU/?guid=GUID-108DCD2C-6597-4548-856D-937787AFE5E0" target="_blank" rel="noopener"&gt;entry for the&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt; (strcase)&lt;/STRONG&gt; &lt;/FONT&gt;function&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Maybe shorter enough that you could just omit that sub-routine entirely, and use&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt; (strcase)&lt;/STRONG&gt; &lt;/FONT&gt;directly where needed.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 15:53:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14266926#M172623</guid>
      <dc:creator>Kent1Cooper</dc:creator>
      <dc:date>2026-09-15T15:53:30Z</dc:date>
    </item>
    <item>
      <title>Re: Macro or Lisp that takes selected text, makes a new layer with the same name as selected text and then puts selected text on that new layer</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14267221#M172624</link>
      <description>&lt;P&gt;Oh my, that'll do for sure - this is what I get for relying on copilot to help me out in a pinch, it told me to use "vl-string-lower" which AutoCAD was saying there was no function definition for, and then it wrote me that manual "to-lower" sub routine which ended up working. If I had just asked google (which I just tested) then (strcase) would have popped up immediately haha&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 20:34:43 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/macro-or-lisp-that-takes-selected-text-makes-a-new-layer-with/m-p/14267221#M172624</guid>
      <dc:creator>frederick_gillis</dc:creator>
      <dc:date>2026-09-15T20:34:43Z</dc:date>
    </item>
  </channel>
</rss>

