77marco77
Guest
Bonsoir.
pour changer le nom de l'étiquette de l'attribut J'ai trouvé ce lisp
pour block attribut tag renommeret faire ce qu'il devrait.
Je voudrais pouvoir le modifier pour qu'il complète les instructions même lorsqu'ils choisissent entre les autres un bloc ou un élément qui ne contient pas l'étiquette (au moment par erreur et sort de la commande).
si vous pouviez également demander à l'attribut de changer et le nouveau nom sans avoir à changer à chaque fois le lisp serait le maximum, mais je serais ravi d'une aide même pour la première partie
pour changer le nom de l'étiquette de l'attribut J'ai trouvé ce lisp
HTML:
(defun c:c1 ( / oldtagname newtagname tagname ss x n blk att atts )
(vl-load-com)
(setq oldtagname "aukstis")
(setq newtagname "ag")
(setq ss nill)
(prompt "\npick tous les blocs à changer: ")
(setq ss)
(si (et (/= oldtagname "")(/= newtagname "")(/= ss zéro))
(progrès
(setq x 0 n 0)
(répéter (longueur ss)
(setq blk (vlax-ename->vla-objet (ssname ss x))
(si (valeur sûre (valeur variable vlax (vla-getattributes blk)))
(progrès
(setq atts (vlax-safearray->list (valeur vlax-variant-variante (vla-getattributes blk))))
(pour chaque att.
(setq tagname (strcase (vla-get-tagstring att))); tagname
(si (et (/= newtagname "")(= tagname oldtagname))
(progrès
(vla-put-tagstring att newtagname)
(setq n (+ n 1))
); pronostic
); si
); pour chaque
); pronostic
); si
(setq x (+ x 1))
); longueur de répétition ss
(noms d ' étiquette " changés " (itoa n) " à " newtagname ")
); pronostic
); si
(principal)
); fonction
Je voudrais pouvoir le modifier pour qu'il complète les instructions même lorsqu'ils choisissent entre les autres un bloc ou un élément qui ne contient pas l'étiquette (au moment par erreur et sort de la commande).
si vous pouviez également demander à l'attribut de changer et le nouveau nom sans avoir à changer à chaque fois le lisp serait le maximum, mais je serais ravi d'une aide même pour la première partie
