Lisp to Set layers

jwylie2020
Advocate

Lisp to Set layers

jwylie2020
Advocate
Advocate

Can someone give me some insight on why the lisp code doesn't work for all layers. The lisp is below.

Example: (command "_.LAYER" "_COLOR" "253" "*P*ELECTRIC*" "") does not turn the electric layer color to 253

The *UTIL* layers do not thaw, there is a variety of layers that should thaw

 P-UTIL Sanitary UG

 P-UTIL Sanitary STR

 P-UTIL Water UG

 P-UTIL Water STR

The (command "_.LAYER" "_THAW" ",*SURF*,*CONT*" "") was part of the first layer thaw code line and did not work but when I moved it to a second line it worked?

 

Is there something I have wrong not giving me the best 100% results. It seems like I am at 75% expected results.

 

Thanks

John

-------------------------------------------------------------------------------

 

;TYPE SETDRAINLAYERS TO SET THE SITE LAYERS OF A PROJECT
 
(defun c:SETDRAINLAYERS ()
(COMMAND "UNDO" "BE")
(command "_.LAYER" "_THAW" "0","*ANNO*,*BNDY*,*ALIGN*,*UTIL*,*VIEWPORT*,*PVMT*" "")
(command "_.LAYER" "_THAW" ",*SURF*,*CONT*" "")
(command "_.LAYER" "_FREEZE" "*PNT*,*BREAK*,*UG,*DEMO,*REM,*GND*SHOT*,*X*PVMT*CENTER*,*MARKING*,*X-LAND*,*P*SETBACK*,*TAP*,*|*NoPlot*" "")
(command "_.LAYER" "_COLOR" "1" "*P-BNDY*" "")
(command "_.LAYER" "_COLOR" "3" "*P*BASIN*,*P*DITCH*CENTERLINE*" "")
(command "_.LAYER" "_COLOR" "12" "*P*LOTS*" "")
(command "_.LAYER" "_COLOR" "4" "*P-ANNO*,*P*EASEMENT*" "")
(command "_.LAYER" "_COLOR" "7" "*P*STORM*CASTING*,P*SANITARY*,*P*WATER*" "")
(command "_.LAYER" "_COLOR" "41" "*NoPLOT" "")
(command "_.LAYER" "_COLOR" "136" "*P-PVMT*" "")
(command "_.LAYER" "_COLOR" "210" "*P*STORM*" "")
(command "_.LAYER" "_COLOR" "212" "*P*STORM*STR*,*STORM*SUBDRAIN*" "")
(command "_.LAYER" "_COLOR" "214" "*P*ANNO*STORM*" "")
(command "_.LAYER" "_COLOR" "230" "*P-BNDY RW*" "")
(command "_.LAYER" "_COLOR" "250" "*MASK*" "")
(command "_.LAYER" "_COLOR" "252" "*RIPRAP*,*X-ANNO*,*CONST*LIMITS*,P-GND*PAD*,*P*ANNO*LOT*" "")
(command "_.LAYER" "_COLOR" "253" "*P*ELECTRIC*" "")
 
(princ "\nRelayering complete")
(COMMAND "UNDO" "END")
)
JL
C3D 2024
Win 11 Pro
0 Likes
Reply
Accepted solutions (2)
366 Views
5 Replies
Replies (5)

paullimapa
Mentor
Mentor
Accepted solution

I see some errors with these 2 lines:

(command "_.LAYER" "_THAW" "0","*ANNO*,*BNDY*,*ALIGN*,*UTIL*,*VIEWPORT*,*PVMT*" "")
(command "_.LAYER" "_THAW" ",*SURF*,*CONT*" "")

should be:

(command "_.LAYER" "_THAW" "0,*ANNO*,*BNDY*,*ALIGN*,*UTIL*,*VIEWPORT*,*PVMT*" "")
(command "_.LAYER" "_THAW" "*SURF*,*CONT*" "")

 


Paul Li
IT Specialist
@The Office
Apps & Publications | Video Demos
0 Likes

jwylie2020
Advocate
Advocate

Thanks Paul

I will update and check (early tomorrow) the rest of the code format.

 

John 

JL
C3D 2024
Win 11 Pro
0 Likes

ВeekeeCZ
Consultant
Consultant
Accepted solution

This simple adjustment makes in one undo record and one layer state record (layerp). 

 

(defun c:SETDRAINLAYERS ()
  
  (command "_.LAYER"
	   
	   "_THAW" "0,*ANNO*,*BNDY*,*ALIGN*,*UTIL*,*VIEWPORT*,*PVMT*"
	   "_THAW" ",*SURF*,*CONT*"
	   "_FREEZE" "*PNT*,*BREAK*,*UG,*DEMO,*REM,*GND*SHOT*,*X*PVMT*CENTER*,*MARKING*,*X-LAND*,*P*SETBACK*,*TAP*,*|*NoPlot*"
	   "_COLOR" "1" "*P-BNDY*"
	   "_COLOR" "3" "*P*BASIN*,*P*DITCH*CENTERLINE*"
	   "_COLOR" "12" "*P*LOTS*"
	   "_COLOR" "4" "*P-ANNO*,*P*EASEMENT*"
	   "_COLOR" "7" "*P*STORM*CASTING*,P*SANITARY*,*P*WATER*"
	   "_COLOR" "41" "*NoPLOT"
	   "_COLOR" "136" "*P-PVMT*"
	   "_COLOR" "210" "*P*STORM*"
	   "_COLOR" "212" "*P*STORM*STR*,*STORM*SUBDRAIN*"
	   "_COLOR" "214" "*P*ANNO*STORM*"
	   "_COLOR" "230" "*P-BNDY RW*"
	   "_COLOR" "250" "*MASK*"
	   "_COLOR" "252" "*RIPRAP*,*X-ANNO*,*CONST*LIMITS*,P-GND*PAD*,*P*ANNO*LOT*"
	   "_COLOR" "253" "*P*ELECTRIC*"

	   "" )
  
  (princ "\nRelayering complete")
  )

 

0 Likes

jwylie2020
Advocate
Advocate

Thanks, both of you.

This is simpler and can be modified for various sheets.

I do not see a layer state being created before or after an undo but, that is ok.

 

;TYPE SETDRAINLAYERS TO SET THE SITE LAYERS OF A PROJECT
 
(defun c:SETDRAINLAYERS ()
  
  (command "_.LAYER"
   
   "_THAW" "0,*ANNO*,*BNDY*,*ALIGN*,*UTIL*,*VIEWPORT*,*PVMT*,*SURF*,*CONT*"
   "_FREEZE" "*PNT*,*BREAK*,*DEMO,*REM,*GND*SHOT*,*X*PVMT*CENTER*,*MARKING*,*X-LAND*,*P*SETBACK*,*TAP*,*|*NoPlot*"
   "_COLOR" "1" "*P-BNDY*"
   "_COLOR" "3" "*P*BASIN*,*P*DITCH*CENTERLINE*"
   "_COLOR" "12" "*P*LOTS*"
   "_COLOR" "4" "*P-ANNO*,*P*EASEMENT*"
   "_COLOR" "7" "*P*STORM*CASTING*,P*SANITARY*,*P*WATER*"
   "_COLOR" "41" "*NoPLOT"
   "_COLOR" "136" "*P-PVMT*"
   "_COLOR" "210" "*P*STORM*"
   "_COLOR" "212" "*P*STORM*STR*,*STORM*SUBDRAIN*"
   "_COLOR" "214" "*P*ANNO*STORM*"
   "_COLOR" "230" "*P-BNDY RW*"
   "_COLOR" "250" "*MASK*"
   "_COLOR" "252" "*RIPRAP*,*X-ANNO*,*CONST*LIMITS*,P-GND*PAD*,*P*ANNO*LOT*"
   "_COLOR" "253" "*P*ELECTRIC*,*LIGHT*"
 
   "" )
  
  (princ "\nRelayering complete")
  )
JL
C3D 2024
Win 11 Pro
0 Likes

paullimapa
Mentor
Mentor

glad to have helped...cheers!!!


Paul Li
IT Specialist
@The Office
Apps & Publications | Video Demos