Aller au contenu

Texte Ligne en MultiLigne


Messages recommandés

Posté(e)

Bonjour et Bonne Année à Tous, surtout la Santé...*

 

Precedement, javai un souci de polyligne en ligne de repere....... Merci encore pour l'aide apportée par Gile ki m'a été tres précieuse..

 

(Explication : Digitalisation de cadastre, il y a un outil avec extension Covadis ki permet de fermée des polylignes representant des parcelles, je devais nommer les parcelles avec un texte au bout d'une polyligne, ensuite l'outil selectionne la poly et le texte en fermant la poly ki devient donc parcelle avec l'attribution du numero le plus proche....)

 

Maintenant le probleme est que javai des numéros au bout de c polylignes maintenant transformées en Ligne de reperes et les numéros doivent etre en multiligne et bien sur j'ai inscrit les texte en Ligne dés le depart DONC si qqun avait une soluce pour transformer txt ligne en txt multiligne et de pouvoir lier la ligne de repere avec le numéro le + proche, je l'accepte avec JOIE car apres jaurai fini........ :mad: :D

 

Merci pour votre coup d'oeil..

 

Joff

Le ridicule ne tue pas, il te rend plus fort!

Posté(e)

Bonne année à tous aussi.

 

Si tu as les express tools d'installés, tu utilises la commande txt2mtxt

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Posté(e)

Salut,

 

Quand tu as changé tous tes textes en mtextes avec txt2mtxt, tu peux essayer le LISP suivant pour associer le mtexte à lea ligne de repère.

 

Pour éviter toute erreur il faut spécifier tour à tour une ligne de repère puis le mtexte qui doit lui être associé.

Il reste sûrement quelques imperfections (du genre ajout d'un segment horizontal à la ligne repère) mais le principe semble fonctionner.

 

(defun c:mtext2lead (/ lead llst text tlst haut larg extr insp d213)
 (vl-load-com)
 (vla-StartUndoMark
   (vla-get-ActiveDocument (vlax-get-acad-object))
 )
 (while (and (setq lead (car (entsel "\nSélectionnez un repère: ")))
      (= "LEADER" (cdr (assoc 0 (setq llst (entget lead)))))
 )
   (if	(and (setq
       text (car (entsel "\nSélectionnez le texte à associer: "))
     )
     (= "MTEXT" (cdr (assoc 0 (setq tlst (entget text)))))
)
     (progn
(setq larg (cdr (assoc 42 tlst))
      haut (cdr (assoc 40 tlst))
      extr (cdr (assoc 10 (reverse llst)))
      insp (cdr (assoc 10 tlst))
      d213 (if
	     (		       (distance insp extr)
	       (distance
		 (list (+ larg (car insp)) (cadr insp) (caddr insp))
		 extr
	       )
	     )
	      (list 0.0 (/ haut -2) 0.0)
	      (list larg (/ haut -2) 0.0)
	   )
)
(entmod
  (subst (cons 340 text)
	 (assoc 340 llst)
	 (subst	'(73 . 0)
		(assoc 73 llst)
		(subst (cons 213 d213) (assoc 213 llst) llst)
	 )
  )
)
(entmod	(append	(trunc (assoc 330 tlst) tlst)
		(list '(102 . "{ACAD_REACTORS")
		      (cons 330 lead)
		      '(102 . "}")
		)
		(member (assoc 330 tlst) tlst)
	)
)
     )
   )
 )
 (vla-EndUndoMark
   (vla-get-ActiveDocument (vlax-get-acad-object))
 )
 (princ)
)

(defun trunc (expr lst)
 (if (and lst
   (not (equal (car lst) expr))
     )
   (cons (car lst) (trunc expr (cdr lst)))
 )
) 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Bonjour,

 

remerciement Gile pour ton lisp mais le probleme est que ma ligne de repere se deplace... :( Second probleme, quand je fais une selection globale de mes texte ligne pour les changer en multiligne, tous les textes transformés se rassemble à un endroit du dessin et ne se trouve plu sur les lignes de reperes.. :(

 

Merci pour l'aide en tout cas

 

Joff

Le ridicule ne tue pas, il te rend plus fort!

Posté(e)

tous les textes transformés se rassemble à un endroit du dessin

 

TXT2MTXT regroupe plusieurs textes en un seul MText. Pour éviter cela il faut le faire individuellement.

 

Utilise la procédure suivante si tu en as beaucoup à traiter

 

((lambda ( / js n ename)
(princ "\nChoix des Textes à transformer en MTexte individuel.")
(setq js (ssget '((0 . "TEXT"))))
(cond
	(js
		(setq n -1)
		(if (not (member "leaderex.arx" (arx)))
			(arxload "leaderex.arx")
		)
		(repeat (sslength js)
			(setq ename (ssname js (setq n (1+ n))))
			(command "_txt2mtxt" ename "")
		)
	)
	(T
		(princ "\nAucun Texte sélectionné!")
	)
)
(prin1)
))

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Re,

 

Merci, il y une amélioration mais les textes bouge quand meme... Je ne c'est pas quoi faire??....

 

:( :(

 

A +

Le ridicule ne tue pas, il te rend plus fort!

Posté(e)

Salut,

 

GRAND MERCI à Gile et Bonuscad, CA MARCHE c'est super... :D :o

 

A+++

 

Joff

 

[Edité le 4/1/2007 par Joffoon]

Le ridicule ne tue pas, il te rend plus fort!

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é