Ik wil een real waarde gebruiken in dit commando:
(setq radcode (strcat dsa "-" dsh "-" dst))
waarvan ik dsa definieer als getreal, dhs als getsrting en dst als getkword.
Nu is het probleem dat ie dsh en dst wel in de regel zet maar dsa niet.
Dit komt omdat dit getallen zijn en geen text. Ik krijg dan ook een foutmelding.
Is er een manier om getreal om te zetten?
Ik kan deze regel niet veranderen in getstring omdat er ook met deze waarde gerekend moet worden.
Of is er misschien een ander commando dan strcat om de 3 waardes op 1 regel te krijgen?
Lyrix
m.b.v. de functie rtos kun je real omzetten in een string:
(rtos number [mode [precision]])
waarbij number de waarde van jouw dsa is.
mode kan de volgende waarde hebben
1 Scientific
2 Decimal
3 Engineering (feet and decimal inches)
4 Architectural (feet and fractional inches)
5 Fractional
2 is de meest gangbare
precision geeft aan hoeveel cijfers achter de komma.
bv.:
(setq dsa 25.2585)
(rtos dsa 2 2)
autocad geeft "25.26" weer
hopelijk heb ik je hiermee een beetje geholpen.
Dat werkt niet, althans niet bij mij.
Probeer maar eens. Als ik de getreal invoer gebruik krijg ik een foutmelding. (zie test) Of moet er nog iets bij?
(defun c:test ()
(setq dsa (getreal "\nLengte: "))
(rtos dsa 2 2)
(setq dsh (getstring "\nhoogte :"))
(setq dst (getstring "\ntype :"))
(setq radcode (strcat dsa "-" dsh "-" dst))
(command "_text" "0.0" "25" "0" radcode)
)
Bij test2 doet ie het wel maar ik moet dsa niet als getstring definieren maar als getreal.
(defun c:test2 ()
(setq dsa (getstring "\nLengte :"))
(setq dsh (getstring "\nhoogte :"))
(setq dst (getstring "\ntype :"))
(setq radcode (strcat dsa "-" dsh "-" dst))
(command "_text" "0.0" "25" "0" radcode)
)
Dit is de oplossing:
(defun c:test ()
(setq dsa (getreal "\nLengte: "))
(setq dsa (rtos dsa))
(setq dsh (getstring "\nhoogte :"))
(setq dst (getstring "\ntype :"))
(setq radcode (strcat dsa "-" dsh "-" dst))
(command "_text" "0.0" "25" "0" radcode)
)
Nu zet ie de realwaarde wel om in string en plakt ie em aan elkaar.
:lol: