cg-Cad

Lisp »Tips 'n Tricks »REPL.LSP

Estrae e sostituisce le informazioni da un blocco-dati.

Autore: Michele Ingenuo - Sito Web: 3eye

(defun c:REPL ()
   ; ti fa clikkare sul nuovo blocco nel disegno 
   (prompt "seleziona i blocchi da sostituire: ")
   (setq ENT1 (ssget))
   (setq BLOCCO (car (entsel "\nSeleziona il nuovo blocco ")))
   ; estrae tutte le informazioni del blocco
   (setq DatiB (entget BLOCCO))
   ; recupera il nome del blocco selezionato
   (setq NBLOC (cdr (assoc 2 DatiB)))
   (setq NEWBL NBLOC)
  
   ;(setq NEWBL (getstring "\nNom nouveau block : "))

   (command "insert" NEWBL nil)
   (setq N (sslength ENT1))
   (setq I 0)
   (repeat N
      (setq BL1 (entget (ssname ENT1 I)))
      (setq NWNM (cons 2 NEWBL))
      (setq OLD (assoc 2 BL1))
      (setq ODNM (cdr OLD))
      (entmod (subst NWNM OLD BL1))
      (setq I (1+ I))
   )
   (prin1)
);YES

Lisp »Tips 'n Tricks