77marco77
Guest
Guten Morgen.
in einer Zeichnung (die als Blockquelle für neue Designs verwendet wird) mit über 6000 Blöcken möchte ich den Standardwert des Attribut-Tags durch den bereits eingefügten Wert manuell im Block ersetzen.
Ich fand diesen Code von lee mac:
das tut, was ich brauche, aber ich muss den Blocknamen eingeben (ich kann nicht auswählen), den Tag-Namen und den neuen Standardwert des Tags, aber sie sind viele Blöcke und jeder hat zwischen 12 und 20 Attribute..
Ist es möglich, die Blockauswahl (oder mehrere Blöcke) schneller zu machen, das Attribut (oder mehrere Attribute), das den bereits eingefügten Wert liest und als neuer Standard eingeben lässt?
in einer Zeichnung (die als Blockquelle für neue Designs verwendet wird) mit über 6000 Blöcken möchte ich den Standardwert des Attribut-Tags durch den bereits eingefügten Wert manuell im Block ersetzen.
Ich fand diesen Code von lee mac:
Code:
;; lee-mac - 2017
(defun c:defatt)
(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-blöcke (vla-get-activedocument (vlax-get-acad-object)))
(wenn (und (= :vlax-false (vla-get-islayout blk) (vla-get-isxref blk))))) (wcmatch (strcase (vla-get-name blk)))))
(vlax-for obj blk)
(wenn (und (= "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)
Ist es möglich, die Blockauswahl (oder mehrere Blöcke) schneller zu machen, das Attribut (oder mehrere Attribute), das den bereits eingefügten Wert liest und als neuer Standard eingeben lässt?