CADsite forum

AutoCAD => Autolisp => Topic gestart door: Reimer op vr 19 05 2006, 13:20:40

Titel: meerdere gegevens in één mtextregel plaatsen
Bericht door: Reimer op vr 19 05 2006, 13:20:40
Ik heb in een lisp twee hoogtematen (text) en twee punten geselecteerd. Alleerst heb ik de distance tussen de twee punten bepaald (dit staat in variabele L) vervolgens heb ik het hoogteverschil tussen de twee hoogtematen bepaald (in variabele h). Op punt PT3 laat ik de gegevens in een mtext neerzetten:
(command "mtext" PT3 "j" "TC" "h" ".36" "R" PT2 "S" "BWO_style" "W" "10" L h "")
Nu worden deze teksten allebei  op een apparte regel gezet terwijl ik ze graag achter elkaar zou willen hebben. Ook zou ik graag extra text toevoegen, te weten: lengte = L, hoogteverschil = h
Kan iemand mij hiermee helpen?

Reimer
Titel: Re: meerdere gegevens in één mtextregel plaatsen
Bericht door: Joop op vr 19 05 2006, 13:24:58
Met de LISP opdracht strcat  kan men twee of meerdere teksten aan elkaar "knopen", bv:

(setq NieuweTekst (strcat "Ik ben " "(gelukkig!) " "erg lui." )
Titel: Re: meerdere gegevens in één mtextregel plaatsen
Bericht door: Reimer op vr 19 05 2006, 14:25:10
Joop

hartelijk dank. Zo kom ik steeds weer een stapje verder in de wereld van lisp.

Reimer.
Titel: Re: meerdere gegevens in één mtextregel plaatsen
Bericht door: WebRacer op za 27 05 2006, 10:00:48
"\nTekst" de \n zorgt voor een nieuwe regel, \t voor een tab en ik dacht \p ook voor iets....eens testen,
wel opletten Mtext kan slechts een beperkt aantal characters bevatten, voor meer dan toegelaten dien je nog iets toe te voegen...
Titel: Re: meerdere gegevens in één mtextregel plaatsen
Bericht door: Kenny H op do 20 07 2006, 13:26:11
Klopt;

\e  Escape character
\n  Newline character
\r  Return character
\t  Tab character

Die \e die geeft bij mij een vraagteken (?) .  :?
Titel: Re: meerdere gegevens in één mtextregel plaatsen
Bericht door: Ben Quanjer op vr 04 01 2008, 22:48:57
Misschien een beetje laat maar ik zag deze vraag pas vandaag.
Bij de codes die je kan ingeven zijn ook de volgende nog toegestaan:
\\ dit geeft de backslash terug om bv een map aan te geven.
\" dit geeft de " terug.
\e hierbij moet de e vervangen door een getal, bv  (princ "\261") geeft ± (dit is alt 241).

Bij de functie "strcat" moet je wel op passen dat de variabelen ook daadwerkelijk strings zijn. Integers omzetten met "itoa" en reals met "rtos".
(setq L (itoa L))
of
(setq L (rtos L 2 3))  2 = decimaal en 3 is aantal decimalen.

Dit haal ik uit een boek in het nederlands dat indertijd bij AutoCAD 12 zat (oktober 1992, bijna antiek dus), eentje thuis en eentje op kantoor.
BenQ