acadx Posté(e) le 26 septembre 2008 Posté(e) le 26 septembre 2008 J'ai créé un cartouche en bloc dynamique avec un paramètre de visibilité, mais la commande gatte ne fonctionne pas. Lorsque j'enlève le paramètre, gatte marche à nouveau !!! Il y a t-il une solution pour résoudre le problème ?
(gile) Posté(e) le 26 septembre 2008 Posté(e) le 26 septembre 2008 Salut, Les Express Tools datent d'avant la version 2006 et les blocs dynamiques et les développeurs d'Autodesk semblent préférer créer de nouvelles interfaces dont personne (ou presque) ne veut plutôt que de mettre à jour des outils dont beaucoup se servent... Tu peux utiliser le LISP MAT de Patrick_35 sur cette page. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 26 septembre 2008 Posté(e) le 26 septembre 2008 Il semble qu'il y ait un petit bug dans MAT (je le signale à Patrick_35 dans le sujet approprié).En attendant, je te propose GATT, une version de GATTE à ma façon qui fonctionne ave les blocs dynamiques. ;;; GATT (gile) ;;; Modifier la valeur d'un attribut dans une sélection de blocs (defun c:gatt (/ *error* att tag blk name val ss) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) ) (defun *error* (msg) (or (= msg "Fonction annulée") (princ (strcat "\nErreur: " msg)) ) (vla-EndUndoMark *acdoc*) (princ) ) (if (and (setq att (car (nentsel "\nSélectionnez l'attribut à modifier: ")) ) (setq att (vlax-ename->vla-object att)) (= (vla-get-ObjectName att) "AcDbAttribute") (setq tag (vla-get-TagString att)) (setq blk (vla-ObjectIDToObject *acdoc* (vla-get-OwnerID att))) (setq name (if (vlax-property-available-p blk 'EffectiveName) (vla-get-EffectiveName blk) (vla-get-Name blk) ) ) ) (if (and (princ (strcat "\n\tBloc : " name "\tEtiquette d'attribut : " tag ) ) (setq val (getstring T "\nNouvelle valeur pour l'attribut: ")) ) (progn (vla-StartUndoMark *acdoc*) (princ "\nSélectionnez les blocs ou :") (or (ssget (list '(0 . "INSERT") (cons 2 (strcat "`*U*," name))) ) (ssget "_X" (list '(0 . "INSERT") (cons 2 (strcat "`*U*," name))) ) ) (vlax-for b (setq ss (vla-get-ActiveSelectionSet *acdoc*)) (if (or (= (vla-get-Name b) name) (and (vlax-property-available-p b 'EffectiveName) (= (vla-get-EffectiveName b) name) ) ) (foreach a (vlax-invoke b 'GetAttributes) (if (= (vla-get-TagString a) tag) (vla-put-TextString a val) ) ) ) ) (vla-delete ss) (vla-EndUndoMark *acdoc*) ) ) (princ "\nEntité non valide.") ) (princ) ) [Edité le 26/9/2008 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lecrabe Posté(e) le 26 septembre 2008 Posté(e) le 26 septembre 2008 Hello Gilles Ton GATT fonctionne bien mais Le Decapode est perfectionniste ! :) Et donc il faudrait signaler qu'il n'est utilisable que sur des versions 2006 et superieures :P Ce qui est normal mais par exemple sur une 2004 ou 2005, il ne se plante pas mais fait simplement RIEN DU TOUT ce qui pourrait etre trompeur ... :o Le Decapode Autodesk Expert Elite Team
(gile) Posté(e) le 26 septembre 2008 Posté(e) le 26 septembre 2008 Merci lecrabe pour ce retour/test sur des versions "anciennes". De toutes façons, l'intérêt de ce LISP est surtout pour les versions 2006 et + sur des blocs dynamiques.gatte des Express Tools fait bien l'affaire pour les versions plus anciennes et MAT de Patrick_35 est plus convivial et permet plus d'options (quand Patrick aura réparé le bug que je pense avoir décelé. Quoi qu'il en soit, j'ai modifié le code de GATT qui doit désormais fonctionner sur toutes les versions (à partir de 2000 Visual LISP oblige...) [Edité le 26/9/2008 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
acadx Posté(e) le 29 septembre 2008 Auteur Posté(e) le 29 septembre 2008 Merci lecrabe pour ce retour/test sur des versions "anciennes". De toutes façons, l'intérêt de ce LISP est surtout pour les versions 2006 et + sur des blocs dynamiques.gatte des Express Tools fait bien l'affaire pour les versions plus anciennes et MAT de Patrick_35 est plus convivial et permet plus d'options (quand Patrick aura réparé le bug que je pense avoir décelé. Quoi qu'il en soit, j'ai modifié le code de GATT qui doit désormais fonctionner sur toutes les versions (à partir de 2000 Visual LISP oblige...) [Edité le 26/9/2008 par (gile)]
acadx Posté(e) le 29 septembre 2008 Auteur Posté(e) le 29 septembre 2008 Merci bien Gile, Le lisp fonctionne bien, cela me convient parfaitement.
lecrabe Posté(e) le 29 septembre 2008 Posté(e) le 29 septembre 2008 Hello Pas de souci, je teste le plus souvent possible sur de nombreuses versions pour voir ...( 2002 - 2009 ) Car parfois il y a des surprises ! Le Decapode Autodesk Expert Elite Team
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant