Rechercher dans la communauté
Affichage des résultats pour les étiquettes '(vlax-dump-object)'.
1 résultat trouvé
-
Coucou, Je me pose la question suivante : Est-il possible d'accéder à l'intégralité des propriétés d'un objet et de les récupérer sous forme de liste ? A ce jour, je connais 3 "listes" de propriétés accessibles pour un objet : (entget) permet d'afficher sous forme de liste l'ensemble des propriétés DXF d'un objet (dumpallproperties) permet d'afficher dans l'historique de la fenêtre de texte (F2) l'ensemble des propriétés génériques d'un objet (vlax-dump-object) permet d'afficher dans l'historique de la fenêtre de texte (F2) l'ensemble des propriétés Visual LISP d'un objet Autrement dit, sur les 3 méthodes de récupération d'information, seule une renvoie une liste exploitable dans un programme LISP. Pour chacune de ces méthodes, il existe des fonctions pour récupérer la valeur d'une propriété et/ou la modifier : (assoc) et (entmod) pour la fonction (entget) (getpropertyvalue) et (setpropertyvalue) pour la fonction (dumpallproperties) (vlax-get) et (vlax-put) et l'ensemble de leur écriture dérivée pour la fonction (vlax-dump-object) Cependant il faut connaître le nom de la propriété pour en récupérer la valeur puisque seule la fonction (entget) retourne une liste exploitable par un programme. Du coup j'ai regardé s'il existait un moyen de récupérer une liste pour les fonction (dumpallproperties) et (vlax-dump-object) et j'ai trouvé les fonctions suivantes sur le site de LeeMac : http://www.lee-mac.com/dumpobject.html. Cette fonction utilise la fonction (atoms-family) pour récupérer la totalité des fonctions/commandes AutoCAD enregistrée dans le dessin et utilise le principe de simplification d'écriture de la fonction (vlax-get) pour récupérer toutes les fonctions Visual dont le nom commence par "VLA-GET-". Cela permet ainsi d'obtenir habilement le nom de l'ensemble des propriétés existantes en Visual LISP, puis filtre les propriétés disponible pour l'objet sélectionné via (vlax-property-available-p). Cela permet ainsi d'obtenir le résultat de (vlax-dump-object) sous format d'une liste. On arrive donc à avoir (entget) et (vlax-dump-object) sous forme de liste mais en revanche, la méthode employée par LeeMac ne fonctionne pas pour (dumpallproperties) puisqu'il n'y a pas ces dérivés d'écriture pour les fonctions associées. Pensez-vous qu'il soit possible d'obtenir le résultat de (dumpallproperties) sous forme de liste ou bien est-ce la fameuse exception à la règle ? Peut-on avoir accès à l'historique de la fenêtre de texte ou bien est-elle intouchable en programmation ? Désolée si je n'ai pas été assez claire... Bisous, Luna
- 6 réponses
-
- (entget)
- (dumpallproperties)
-
(et 1 en plus)
Étiqueté avec :
