(defun c:SB () ; chiede all'utente di selezionare un blocco e cị che viene selezionato ; viene memorizzato nella variabile "entità": (if (setq entità(entsel "\n Seleziona Blocco: ")) ; se l'entità selezionata è un blocco allora fai quello che segue: (if (= (cdr (assoc 0 (entget(car entità)))) "INSERT")(progn ; estraggo il nome del blocco e lo assegno alla variabile "NomeBlocco": (setq NomeBlocco(cdr(assoc 2 (entget(car entità))))) ; creo un gruppo di selezione in AutoCAD contenente tutti i blocchi (entità INSERT) con nome ; NomeBlocco, e lo memorizzo nella variabile "grupp": (setq grupp(ssget "x" (list (cons 0 "INSERT") (cons 2 NomeBlocco) ) )) ; messaggio al prompt dei comandi che mi dice quanti blocchi sono stati selezionati: (princ "\n Selezionati: ")(princ (sslength grupp))(princ " Blocchi.") ; selezione dei blocchi con i grips: (sssetfirst nil grupp) )(princ "L'entità selezionata non è un blocco!")) ) (princ) ) ; ; ; (defun c:SL () (if (setq entità(entsel "\n Seleziona entità da cui estrarre il layer: "))(progn (setq NomePiano(cdr(assoc 8 (entget(car entità))))) (setq grupp(ssget "x" (list (cons 8 NomePiano)))) (princ "\n Selezionate: ")(princ (sslength grupp))(princ " Entità.") (sssetfirst nil grupp) )) (princ) ) (princ "\n ") (princ "\n Digitare SB, SL per lanciare il programma") (princ)