Bonjour à Toutes et à Tous,
Je cherche à afficher la liste de mes styles de texte du dessin pour connaitre lesquels sont ANNOTATIFS, simplement avec la commande STYLE DE TEXTE, option ? Et je remarque que la liste obtenue n'affiche pas cette info ??? La liste des styles de cote affichent bien cette info !
En faisant un (ENTNEXT "STYLE" T) idem rien qui précise l'ANNOTATIF ? Ce serait quoi la suite pour obtenir les données étendues (code DXF 1000) ?
Je vous remercie.
Christian
Christian REB
Résolu ! Accéder à la solution.
Résolu par _gile. Accéder à la solution.
Bonjour @rebcao
J'ai trouvé un bout de code sur la toile en anglais.
Il teste une entité, mais si tu fais une liste des styles, tu peux lancer une boucle sur la liste.
Amicalement
(defun is_annotative (ent / xdata)
(setq xdata (cadr (assoc -3 (entget ent '("AcadAnnotative")))))
(and xdata (= (cdr (nth 4 xdata)) 1)) ; returns T or nil
)
Didier Aveline
Salut,
Depuis AutoCAD 2012, les fonctions getpropertyvalue et setpropertyvalue permettent d'accéder aux propriétés des objets souvent plus facilement qu'avec les données DXF (utiliser dumpallproperties pour avoir les propriétés accessibles).
((lambda (/ style name)
(while (setq style (tblnext "style" (not style)))
(princ
(strcat
"\n"
(setq name (cdr (assoc 2 style)))
" Annotatif : "
(itoa (getpropertyvalue (tblobjname "style" name) "Annotative"))
)
)
)
(princ)
)
)
Merci Didier, merci Gilles,
Le source de Gilles est plus propre au niveau du résultat attendu...
Merci.
Christian
Christian REB
Bonjour @rebcao
Le principal étant d'avoir une solution, quant au débat Autolisp vs Visual Lisp, je dirais qu'il faut connaître les deux qui sont complémentaires.
Amicalement
Didier Aveline
Je voulais juste préciser que le source donné par Gilles, faisait tout de suite le JOB ! sans être obligé de reprendre le CODE...
LISP ou VLISP, n'était pas mon propos, je ne vois pas de quel débat tu parles ?
Christian
Christian REB
Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.