CadFrank Posté(e) le 2 mai 2012 Posté(e) le 2 mai 2012 Bonjour, me voici a la recherche d'information concernant les attributs dans un block. Je suis capable de trouver le ou est la valeur avec (setq blk(vlax-invoke blk 'GetAttributes)) en inspectant blk il me retourne : (#<VLA-OBJECT IAcadAttributeReference 0000000040d51648>) Je sais que le TextString est la valeur que je veux changer. J'ai essayer avec Vla-get-TextString & Vla-put-TextString. par contre il me retourne toujours une erreur. Je crois qu'il me manque quelque chose. J'ai chercher un peu partout sur le net mais j'ai rien trouver. Donc j'aimerais votre aide si possible. N'hésité pas a me poser des question si je n'est pas ete asser claire. Merci d'avance.
(gile) Posté(e) le 3 mai 2012 Posté(e) le 3 mai 2012 Salut, Et que dit le message d'erreur ?...Je parierai pour : "Type d'argument incorrect..." L'aide nous dit que la méthode GetAttribtes retourne un variant (tableau d'objets AttributeReference). En LISP, appeler cette méthode avec vlax-invoke permet d'avoir une valeur de retour de type liste plus directement utilisable qu'un variant. La propriété TextString est une propriété de l'objet AttributeReference, il faut donc l'appeler sur un objet BlockAttribute, pas sur une liste, même si celle-ci ne contient qu'un élément. Avant d'utiliser une fonction LISP, il est essentiel de connaitre le type des arguments qu'elle requiert et le type de la valeur de retour. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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