bseb67 Posté(e) le 24 juillet 2007 Posté(e) le 24 juillet 2007 Salut! On récupère des plans fait comme des cochons :mad: !Je dois passer dans une liste de plans, aller sur le cartouche dans la présentationet récupérer des attributs.Le hic, c'est que c'est un tableau (plusieurs lignes et colonnes). EN interne on nomme les attributsdu style : att_x1 att_y1 att_z1att_x2 att_y2 att_z2... sauf que là j'ai ca:att_x att_y att_zatt_x att_y att_z => je fait comment pour savoir quel att_x va avec quels att_y et att_z :casstet: ? Par contre, j'ai vu que l'invite comportait un numéro, donc ma question se résume à :où peut trouver l'invite de l'attribut? Merci. Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
Bred Posté(e) le 24 juillet 2007 Posté(e) le 24 juillet 2007 Salut,exemple en passant par les codes dxf, grâce à une routine récursive de Bonuscad : (xplore (car (entsel "\n Choix du Bloc :"))) ;;; Routine de Bonuscad (defun xplore (ent / l) (while ent (setq l (entget ent)) (if (eq (cdr (assoc 0 l)) "INSERT") (xplore (cdr (assoc -2 (tblsearch "BLOCK" (cdr (assoc 2 l))))) ) ) (if (eq (cdr (assoc 0 l)) "ATTDEF") (print (strcat "Etiquette = " (cdr (assoc 2 l)) " ; Valeur = " (cdr (assoc 1 l)))) ) (setq ent (entnext ent)) ) ) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
Patrick_35 Posté(e) le 24 juillet 2007 Posté(e) le 24 juillet 2007 Salut Ou encore cette méthode en vl (setq bl (vlax-ename->vla-object (car (entsel "\nVeuillez sélectionner un bloc avec attributs : ")))) (foreach at (vlax-invoke bl 'getattributes) (princ (strcat "\nEtiquette : " (vla-get-tagstring at) ", contenant le texte : " (vla-get-textstring at))) ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
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