acadx Posté(e) le 26 août 2010 Posté(e) le 26 août 2010 Bonjour à tous, Voila mon problème : Un client m’a envoyé un fichier de plan réseaux avec une multitude d’information (diamètre, type, etc…).Quand j’ai voulu attacher le fichier reçu en XREF dans mon plan, tous les textes avaient disparus !!!!En ouvrant le fichier client, je me suis rendu compte que toutes les informations sur les réseaux étaient en fin de compte des attributs et non du texte simple ou multiple et donc ils n’apparaissent pas !!!!!J’ai bien essayé d’exploser les attributs pour les récupérer avec la commande BURST de l’express, mais cela ne marche pas car ils ne font pas partis d’un bloc.J’ai aussi fait un bloc de tous les attributs, mais une fois créer il affiche la valeur par défaut de l’attribut et perd toutes les infos réseaux, ce qui est normal. Le problème c’est que mon fichier comporte plus de 2000 attributs, si je dois les reprendre un à un cela va me prendre un temps énorme !!! Je voulais donc savoir s’il existe un lisp pour convertir je précise bien l’étiquette d’un attribut en texte simple ou multiple ? Merci par avance.
Patrick_35 Posté(e) le 26 août 2010 Posté(e) le 26 août 2010 Salut La commande Burst est à utiliser sur les attributs ?Sans décomposer le bloc. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
acadx Posté(e) le 27 août 2010 Auteur Posté(e) le 27 août 2010 Salut Patrick, La commande BURST ne marche que sur des attributs contenu dans un bloc, hors dans mon cas (j'espère avoir était assez clair dans mon message original) il s'agit d'attribut tout simplement. Le client s'en est servis comme du texte !!!!!! et n'apparaissent pas lorsque je les charges en xref , je veux donc convertir un attribut (qui n'est pas contenu dans un bloc) en texte. Existe t-il une commande ou un lisp qui permet de le faire ? @+
Patrick_35 Posté(e) le 27 août 2010 Posté(e) le 27 août 2010 Salut Ok Quelque chose dans ce style ? (defun c:atxt(/ ent js n new) (and (setq n 0 js (ssget "x" (list (cons 0 "ATTDEF"))) ) (while (setq ent (ssname js n)) (setq ent (entget ent) new (append (list (cons 0 "TEXT") (cons 1 (cdr (assoc 2 ent))) (cons 73 (cdr (assoc 74 ent))) ) (vl-remove-if '(lambda(x)(member (car x) '(-1 0 1 2 3 5 70 73 74 100 280 330))) ent) ) ) (entmake new) (entdel (cdr (assoc -1 ent))) (and (not (assoc 62 ent)) (assoc 62 (setq ent (entget (entlast)))) (setq ent (subst (cons 62 256) (assoc 62 ent) ent)) (entmod ent) ) (setq n (1+ n)) ) ) (princ (strcat "\nConvertion de " (itoa n) " attribut(s) en texte(s).")) (princ) ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
acadx Posté(e) le 27 août 2010 Auteur Posté(e) le 27 août 2010 Salut Patrick, Bien vu, c'est exactement ce qu'il me fallait !!!!! Toujours au Top.... et merci encore. @+
nicolas.long@sogreah.fr Posté(e) le 25 novembre 2010 Posté(e) le 25 novembre 2010 Bonjour, J'ai le même problème mais sur autocad 2011. Y aurait il une commande ou autre ? Merci d'avance [Edité le 25/11/2010 par nicolas.long@sogreah.fr]
Patrick_35 Posté(e) le 25 novembre 2010 Posté(e) le 25 novembre 2010 Bonjour, J'ai le même problème mais sur autocad 2011. Il y aurait il une commande ou autre ? Merci d'avance Salut Ben, le lisp donné en réponse 3 @+ 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