| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: multiplizieren mit Parametername ? (1293 mal gelesen)
|
copymaster Mitglied TZ
Beiträge: 33 Registriert: 15.02.2004
|
erstellt am: 11. Okt. 2006 20:49 <-- editieren / zitieren --> Unities abgeben:
Hallöchen zusammen, ich hab eine Lisp-Datei geschrieben, wo der festgelegte Maßstab (z.B. 2.0 oder 2.5) mit einer bestimmten Zahl multipliziert werden soll. ich weis nur nicht, wie ich den Parameter kenntlich machen kann..in Anführungsstriche setzen geht ja nicht... (setq xy(* "scale" 20)) und (setq xy(* (itoa scale) 20)) gibt "Fehlerhafter Argumenttyp: fixnump: 2.0" zurück (Mst: 2.0) Wäre super wenn mir da jemand weiterhelfen könnte. Besten dank schon mal Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3336 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 11. Okt. 2006 22:17 <-- editieren / zitieren --> Unities abgeben: Nur für copymaster
Hi, wieso kenntlich machen? Wenn die Zahl in der Variablen scale steckt und tatsächlich auch eine Zahl ist, reicht (* scale 20) Machmal: (type scale) Ist die Rückgabe INT (was nach deiner Erklärung nicht sein kann) oder REAL, siehe oben. Ist die Rückgabe aber STR, musst du zuerst noch in INT oder REAL umwandeln um damit rechnen zu können. Siehe auch Conversion Functions und die Infos zu (type) in der Entwicklerhilfe. Gruß CADchup ------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
copymaster Mitglied TZ
Beiträge: 33 Registriert: 15.02.2004
|
erstellt am: 12. Okt. 2006 18:41 <-- editieren / zitieren --> Unities abgeben:
Ja, ich vermute mittlerweile das das Problem auch woanders liegt. Ich hab eigentlich folgendes vor: (setq pos (strcat (* scale 15) "," (* scale 20) )) pos soll das Ergebnis der Berechnungen als Koordinateneingabe bereitgestellt werden. z.B. "30,40" Hab auch schon folgendes Probiert und für scale den Wert eingetragen aber es funktioniert nicht (Meldung: fixnump: 60.0): (setq pos (strcat (itoa(* 2.0 30)) "," (itoa(* 2.0 40)) )) Aber wenn ich eine Zahl ohne Dezimalstelle verwende funktioniert es...aber leider hilft mir das nicht, weil der Maßstab eben auch dezimalstellen aufweist: (setq pos (strcat (itoa(* 2 30)) "," (itoa(* 2 40)) )) V.G.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 12. Okt. 2006 19:30 <-- editieren / zitieren --> Unities abgeben: Nur für copymaster
Zum umwandeln von Reals, also u.a. Zahlen mit Nachkommaanteil, in Strings gibts die Funktion rtos. ... itoa ist fürs Umwandeln von Integer in Zeichenketten zuständig. Für mehr Infos zieh dir bitte erstmal das Tutorial von Mapcar zu Gemüte. ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
copymaster Mitglied TZ
Beiträge: 33 Registriert: 15.02.2004
|
erstellt am: 13. Okt. 2006 17:12 <-- editieren / zitieren --> Unities abgeben:
|