77marco77
Utente poco attivo
- Professione: ingegnere
- Software: autocad2024
- Regione: austria
Buongiorno,
in un disegno (che viene usato come sorgente dei blocchi per nuovi disegni) con oltre 6000 blocchi vorrei sostituire il valore di default del tag dell'Attributo con il valore giá inserito manualmente nel blocco.
ho trovato questo codice di Lee Mac:
che fa quello che mi serve ma devo immettere il nome del blocco (non posso selezionare), il nome del TAG ed il nuovo valore di default del Tag, ma sono molti blocchi ed ognuno ha tra i 12 e i 20 attributi...
è possibile in maniera più veloce fare la selezione del blocco (o più blocchi), dell'attributo (o più attributi), che legga il valore già inserito e farglielo inserire come nuovo default?
in un disegno (che viene usato come sorgente dei blocchi per nuovi disegni) con oltre 6000 blocchi vorrei sostituire il valore di default del tag dell'Attributo con il valore giá inserito manualmente nel blocco.
ho trovato questo codice di Lee Mac:
Codice:
;; Lee-Mac - 2017
(defun c:defatt ( / bln def tag )
(if (= "" (setq bln (strcase (getstring t "\nSpecify block name filter (Use * for all) <*>: "))))
(setq bln "*")
)
(if (= "" (setq tag (strcase (getstring "\nSpecify tag name filter (Use * for all) <*>: "))))
(setq tag "*")
)
(setq def (getstring t "\nSpecify new default value: "))
(vlax-for blk (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))
(if (and (= :vlax-false (vla-get-islayout blk) (vla-get-isxref blk)) (wcmatch (strcase (vla-get-name blk)) bln))
(vlax-for obj blk
(if (and (= "AcDbAttributeDefinition" (vla-get-objectname obj))
(wcmatch (strcase (vla-get-tagstring obj)) tag)
(vlax-write-enabled-p obj)
)
(vla-put-textstring obj def)
)
)
)
)
(princ)
)
(vl-load-com) (princ)
che fa quello che mi serve ma devo immettere il nome del blocco (non posso selezionare), il nome del TAG ed il nuovo valore di default del Tag, ma sono molti blocchi ed ognuno ha tra i 12 e i 20 attributi...
è possibile in maniera più veloce fare la selezione del blocco (o più blocchi), dell'attributo (o più attributi), che legga il valore già inserito e farglielo inserire come nuovo default?