Aller au contenu

Récupérer les attributs d\'un bloc


LUDWIG

Messages recommandés

Bonjour à tous,

 

Je me perds un peu dans mon lisp avec le code 66 et le SEQUEND etc...

Je souhaite écrire dans un fichier texte les étiquettes et les valeurs du bloc que je choisis à l'écran...

 

Un expert pourrait me donner un exemple svp ?

 

Merci d'avance !

Autocad 2021 - Revit 2022 - Windows 10

Lien vers le commentaire
Partager sur d’autres sites

Voilà déjà le code pour lire les attributs d'une insertion de bloc :

 

(setq ent(car(entsel)))

(if(=(cdr(assoc 0(entget ent)))"INSERT")
 (if(=(cdr(assoc 66(entget ent)))1);attributs suivent
   (progn
     (setq liste nil )
     (while(if ent(not(=(cdr(assoc 0(entget ent)))"SEQEND"))); sinon ira lire tous les blocs
(if(=(cdr(assoc 0(entget ent)))"ATTRIB")
  (setq liste(append liste (list (cdr(assoc 1(entget ent)))))))
(setq ent(entnext ent))
)
     )
   )
 )liste

 

en complet ça donne :

 

(setq ent(car(entsel)))

(if(=(cdr(assoc 0(entget ent)))"INSERT")
 (if(=(cdr(assoc 66(entget ent)))1);attributs suivent
   (progn
     (setq a (open "c:/filelist.txt" "w"))
     (while(if ent(not(=(cdr(assoc 0(entget ent)))"SEQEND")))
(if(=(cdr(assoc 0(entget ent)))"ATTRIB")
  (write-line(strcat(cdr(assoc 2(entget ent))) " -|- " (cdr(assoc 1(entget ent)))) a))
(setq ent(entnext ent))
)
     (close a)
     )
   )
 )

 

[Edité le 2/12/2005 par Tramber]

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
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é