[AutoCAD LISP] Create Multiple Random Layers Instantly (RLA.lsp)
Have you ever found yourself needing a dozens of temporary or testing layers
in AutoCAD, only to waste time manually creating them one by one? Naming them,
keeping them unique, and repetitive clicking can easily derail your workflow.
Without this automation, you are forced to spend valuable drafting time on
tedious layer management.
This is where the RLA (Random Layer Creator) LISP comes into play. It
automates the entire process of layer generation, allowing you to create any
number of unique, randomly named layers with a single command so you can stay
focused on your actual design work.
Why You Should Use the 'RLA' LISP
- Eliminate Manual Tedium: No more typing out random names or repeatedly clicking the "New Layer" icon.
- Guaranteed Uniqueness: The LISP utilizes a time-based seed to generate unique 8-character hexadecimal layer names (prefixed with A$C), ensuring no conflicts with existing layers.
- Perfect for Testing & Sandboxing: Ideal for complex projects where you quickly need isolated layers to test, sort, or filter elements without cluttering your standard layer template.
- Instant Success Feedback: Once completed, the command line instantly informs you exactly how many layers were successfully generated.
How It Works (Step-by-Step Guide)
- Initialize and Input: Type RLA in the command line, and the LISP will prompt you to enter the specific number of random layers you wish to generate.
- Automated Unique Generation: The code instantly runs a background loop, calculating a dynamic seed based on your system time to generate completely unique, non-duplicating hexadecimal names.
- Database Check & Execution: It automatically verifies that the names do not already exist in your drawing database, safely creates the layers using entmake, and displays a success confirmation message.
Wrapping Up
The RLA LISP is an exceptionally lightweight and efficient tool for CAD
users who require swift, bulk layer creation for organization, filtering, or
temporary testing. By letting AutoCAD handle the naming and generation, you
can keep your focus entirely on drafting and designing.
If you are looking for a hassle-free way to spin up layers instantly, this
LISP deserves a permanent spot in your startup suite!
The LISP Code
(defun c:RLA ( / num i randName seed hex c j )
(setq num (getint "\nEnter number of layers to create: "))
(if num
(progn
(setq i 1)
(while (<= i num)
(setq randName "A$C"
seed (fix (+ (* (rem (getvar "DATE") 1) 100000) i))
hex "0123456789ABCDEF"
j 0)
(while (< j 8)
(setq seed (rem (+ (* seed 17) 11) 99991)
c (substr hex (1+ (rem seed 16)) 1)
randName (strcat randName c)
j (1+ j)))
(if (not (tblsearch "LAYER" randName))
(entmake (list '(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
(cons 2 randName)
'(70 . 0)
'(62 . 7)
))
)
(setq i (1+ i))
)
(princ (strcat "\nSuccess: " (itoa num) " random layers have been created."))
)
)
(princ)
)

Post a Comment