Aller au contenu

Affectation texte dans attributs


pat06

Messages recommandés

Bonjour,

 

Je ne sais pas si ce sujet a déjà été traité ; je n'ai pas trouvé mon bonheur....

 

je recherche une fonction qui pourrait "copier" un texte" dans un attribut de bloc ; ces deux objets étant dans le même dessin. (Je dois renouveler cette opération par centaines par fichier).

 

merci d'avance

 

[Edité le 21/11/2010 par pat06]

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

Sans lisp, tu peux toujours copier ton bloc dans un autre calque (_copytolayer), puis passer les attributs en textes grâce à la commande des Express Tools (_burst), pour ensuite ne filtrer que les textes sur ce calque et supprimer les entités restantes des blocs,...

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

 

En fait, j'ai des blocs sans attributs, ainsi que des textes qui désignent des adresses pour ces blocs (des renseignements techniques). ces textes sont posés à côté des blocs.

j'ai édité les blocs en y ajoutant un attribut dans lequel je dois mettre le texte "technique".

 

un simple copier-coller serait suffisant pour quelques blocs... mais j'en ai des quantités trop importantes...

Lien vers le commentaire
Partager sur d’autres sites

Voila une fonction que j'avais fait il y a longtemps :

Bonne soirée,

 

(defun c:txt2att ( / obj-txt chn obj-att att-tag att-val obj-blc blc-val)
(setq obj-txt (nentsel "\n Choisir le texte de reference : "))
(setq chn (cdr (assoc 1 (entget (car obj-txt)))))

(setq obj-att (nentsel "\n Choisir l'attribut à modifier : "))
(setq att-tag (cdr (assoc 2 (entget (car obj-att)))))
(setq att-val (cdr (assoc 1 (entget (car obj-att)))))

(alert (strcat "\nEtiquette de l'attribut : " att-tag ".\n"
	"Valeur de " att-tag " : " att-val ".\n"
	"Nouvelle valeur de " att-tag " : " chn "."))

(command "_attedit" "oui" "" att-tag att-val (car obj-att) "v" "r" chn "")

(entdel (car obj-txt))
)

Lien vers le commentaire
Partager sur d’autres sites

  • 4 ans après...

Bonjour à tous,

 

Bon, je sais, je dépoussière un peu...

 

Je dois me faire le même genre de LiSP mais mon problème est que dans mon bloc, il y a plus de vingt attributs (donc, impossible de les rendre tous "visibles") et l'attribut que je souhaite changer est vide. Donc, impossible de le sélectionner...

 

Comment faire pour chercher l'attribut "PROFONDEUR" et lui attribuer la valeur de ma variable "Prof" ET AUSSI l'attribut "Z-PROF" avec la valeur "Zprof" ?

 

Voici ce que j'étais en train de faire :

(defun c:DHTamp_Prof_SDDEA (/ SelBlk dxf-1 Ztn TxtProf Prof ZProf)
 (princ "\nVersion 2.17\n")
 ;;Sélection du texte contenant la profondeur
 (setq Txt_Prof (car (entsel "\nSélectionnez la profondeur :")))
 (wcmatch (cdr (assoc 0 (setq elst (entget Txt_Prof)))) "*")
 (setq Prof (atof (cdr (assoc 1 elst))))
 ;;Sélection du bloc 
 (setq SelBlk (car (entsel "\nSélectionnez le bloc 'regardasst' :")))
 ;;récupération de l'attribut "Z-TN"
 (while (= Ztn nil)
   (setq SelBlk (entnext SelBlk))
   (setq dxf-1 (entget SelBlk))
   (if (and (= (cdr (assoc 0 dxf-1)) "ATTRIB") (= (cdr (assoc 2 dxf-1)) "Z-TN"))
     (setq Ztn (cdr (assoc 1 dxf-1)))
   ) ;_ Fin de if
 ) ;_ Fin de while
 (setq Ztn (atof Ztn))
 ;;Calcul du Z-PROF
 (setq ZProf (- ZTn Prof))
 (princ (strcat "\nZ-PROF=" (rtos ZProf)))
 ;;
 ;;-------------------------------------------------------------------C'est là que je me perd...
 ;;Attribution de la profondeur TxtProf dans l'attribut "PROF" du bloc
 (foreach dxf-1 (setq dxf-1 (entget SelBlk))
   (cond (and (= (cdr (assoc 0 dxf-1)) "ATTRIB") (= (cdr (assoc 2 dxf-1)) "PROFONDEUR"))
         (Mettre ICI la valeur Prof de l 'étiquette PROFONDEUR)
   ) ;_ Fin de cond
   (cond (and (= (cdr (assoc 0 dxf-1)) "ATTRIB") (= (cdr (assoc 2 dxf-1)) "Z-PROF"))
         (Mettre ICI la valeur ZProf de l 'étiquette Z-PROF)
   ) ;_ Fin de cond
 ) ;_ Fin de while
) ;_ Fin de defun

 

Et bravo à FabCad pour ce code...

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

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é