Aller au contenu

Convertir un attribut en texte


acadx

Messages recommandés

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.

Lien vers le commentaire
Partager sur d’autres sites

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 ?

 

@+

Lien vers le commentaire
Partager sur d’autres sites

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois aprè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 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é