Aller au contenu

Messages recommandés

Posté(e)

Bonjour à tous,

 

J'ai un tas de texte à mettre en forme... En VBA, je sais à peu près le faire, mais en Lisp, ces "chaines de contrôle" ne fonctionnent pas du tout.

 

Je m'explique : la chaine de contrôle "\P" correspont à "retour chariot" en VBA et s'insert directement dans le texte.

 

Exemple : "Cadastre :\Psection AC\Pnuméro 156" donnera :

"Cadastre :

section AC

numéro 156"

 

Mais avec le Lisp, ces chaines n'on aucun effets...

 

Quelqu'un a-t'il une explication ?

 

D'avance merci...

 

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)

Posté(e)

Salut

 

... en lisp : (princ "Cadastre :\nsection AC\nnuméro 156" )

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Merci Bred... Mais j'aimerais le reste... gras, italique et souligné

 

Et aussi, si on peut jouer sur la taille de certain mot...

 

Merci,

 

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)

Posté(e)

Pour ça, personnelement je ne vois que les codes dxf ...

 

Cherche "dxf TEXTMULT" dans l'aide du visualLisp (développeur), les codes sont expliqués...

 

 

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Merci mille fois Bred, mais ce sont des codes DXF...

 

Mais je créé mon texte par (command... comme ça :

 

(command "_-mtext" "_none" p1 "j" Just "h" 1 "_r" rot "_w" "0.00" Texte "")

 

Où Texte = "Cadastre :\nsection AC\nnuméri 125\nMonsieur LAGAFFE Gaston"

 

J'aimerai que "Cadastre :" soit souligné et que "AC" et "125" soit en gras comme :

 

Cadastre :

section AC

numéro 125

Monsieur LAGAFFE Gaston

 

Je ne sais pas faire autrement qu'avec (command...

 

Merci encore,

 

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)

Posté(e)

Bonjour Denis,

 

C'est vrai que c'est un peu compliqué la façon dont est codé l'index d'un mtext. Alors, pour ne pas se casser la tête, je te propose la méthode suivante :

 

1°) créer un mtext dans au fichier autocad tel que tu le souhaites, avec les soulignés, les gras, les italiques aux endroits que tu souhaites.

 

2°) lancer les commandes lisp sur la ligne de commande

 

(setq e (entget (car (entsel))))

puis sélectionne le texte

puis

(setq idx (cdr (assoc 1 e)))

 

dans idx, tu auras quelque chose du genre

"{\\Lcadastre :}\\Psection {\\fArial|b1|i0|c0|p34;AC}\\Pnuméro

{\\fArial|b1|i0|c0|p34;125}\\P{\\fArial|b0|i1|c0|p34;Monsieur LAGAFFE Gaston}"

 

3°) lancer la commande mtext avec idx

 

(command "_-mtext" '(0 0) "_w" 0 idx "")

 

pour voir que ça à l'air de marcher.

 

4°) Après, tu peux prendre ce qui a dans idx pour le copier/coller dans un fichier .lsp à partir de la fenêtre de texte d'Autocad. Afin de pouvoir le "saucissoner" et remplacer "AC", "125" et "Monsieur LAGAFFE Gaston" par des variables, comme ci-dessous :

 

(defun c:mytext ()
 (setq TX1 "{\\Lcadastre :}\\Psection {\\fArial|b1|i0|c0|p34;")
 (setq TX2 (getstring T "\nSection : "))
 (setq TX3 "}\\Pnuméro {\\fArial|b1|i0|c0|p34;")
 (setq TX4 (getstring T "\nNuméro : "))
 (setq TX5 "}\\P{\\fArial|b0|i1|c0|p34;")
 (setq TX6 (getstring T "\nNom : "))
 (setq TX7 "}")
 (command "_-mtext" '(0 0) "_w" 0 (strcat TX1 TX2 TX3 TX4 TX5 TX6 TX7) "")
 (princ)
) 

 

Il y a peut-être plus simple, je suis preneur

 

Amicalement

 

Zebulon_

 

[Edité le 12/10/2006 par zebulon_]

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

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é