Aller au contenu

[Résolu] Propriétés personnelles d'un dessin.


DenisHen

Messages recommandés

Bonjour à la communauté.
Dans un dessin, j'ai créé des propriétés personnelles qui sont parfois vides ou à modifier, mais avec mon code, je n'arrive pas à les mettre à jour. Elles restent vides ou avec l'ancienne valeur.

  (setq sum (vla-get-summaryinfo (vla-get-activedocument (vlax-get-acad-object))))
  (and (vl-catch-all-error-p (vl-catch-all-apply 'vla-addcustominfo (list sum "NomMO" NomMO))))

Quelqu'un saurait ce que j'ai raté ?

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

Je dirais que le problème vient de la méthode appliquée (vla-ADDcustominfo).

Commande: (vlax-dump-object sum T)
; IAcadSummaryInfo: Interface IAcadSummaryInfo
; Valeurs de propriétés:
;   Author = ""
;   Comments = ""
;   HyperlinkBase = ""
;   Keywords = ""
;   LastSavedBy = "luna"
;   RevisionNumber = ""
;   Subject = ""
;   Title = ""
; Méthodes prises en charge:
;   AddCustomInfo (2)
;   GetCustomByIndex (3)
;   GetCustomByKey (2)
;   NumCustomInfo ()
;   RemoveCustomByIndex (1)
;   RemoveCustomByKey (1)
;   SetCustomByIndex (3)
;   SetCustomByKey (2)
T

Je pense que les méthodes dont tu as besoin c'est (vla-SETcustombykey) afin de mettre à jour une key existante. Tandis que (vla-ADDcustomInfo) va uniquement rajouter une nouvelle ligne SI la key renseignée n'est pas déjà présente dans la liste.

Bisous,
Luna

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Coucou @Luna.
Mille mercis pour ton aide.
Denis.

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Juste pour compléter l'excellente réponse de @Luna

Tu as dû partiellement copier un bout de code, ce qui expliquerait le : (and (vl-catch-all-error-p (vl-catch-all-apply ...))) qui était probablement là pour tester si ajouter la propriété provoquait une erreur (ce qui signifie que la propriété existe déjà) et, dans ce cas, appeler vla-SetCustomByKey.

Comme quoi il est impératif de comprendre ce qu'on copie/colle ...

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à tous.
 @(gile) : tu as raison, il me semble que ce code venait de toi, il y a très longtemps 😉.
 @bonuscad : je n'avais pas du tout pensé à ce sujet que j'avais presque oublié 😉

Du coup, je me perd dans les centaines de lignes d'aide en anglais, mais je pense avoir trouvé...

Merci à vous.

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité