pippo.poppi
Guest
it is possible to create a file lisp to turn on and off all layers ending with "ns" or it is too complicated.. knowledge almost nothing of lisp. I tried with chat gpt but gives me error.. apart from the extra parentheses.
(defun c:accendispegnilayerns ()
(setq layer-prefix "ns") ; prefisso dei layer da accendere/spegnere
(setq layers-to-toggle nil) ; lista dei layer da accendere/spegnere
; scansione di tutti i layer nel disegno
(vlax-for layer (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))))
(if (string-match (strcat layer-prefix "$") (strcase (vla-get-name layer)))
(setq layers-to-toggle (cons (vla-get-name layer) layers-to-toggle))
)
)
(if layers-to-toggle
(progn
(foreach layer layers-to-toggle
(if (tblsearch "layer" layer)
(if (= (cdr (assoc 70 (tblsearch "layer" layer))) 0) ; se il layer ë spento, accendilo
(vla-put-on (tblsearch "layer" layer) :vlax-true)
; altrimenti, spegnilo
(vla-put-on (tblsearch "layer" layer) :vlax-false)
)
)
)
(princ (strcat "layer " (apply 'strcat layers-to-toggle) " aggiornati."))
)
(princ "nessun layer con il prefisso specificato trovato.")
)
)