| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: rueckgabewert von acad befehl in variable (1363 mal gelesen)
|
1.krid Mitglied
Beiträge: 7 Registriert: 14.03.2005
|
erstellt am: 18. Mrz. 2005 10:31 <-- editieren / zitieren --> Unities abgeben:
hallo, zugleich zu Beginn: Bin blutiger Anfaenger (und das auch noch unfreiwillig :-) ) Mein Problem: Ich moechte den, von einem Acad Kommando zurueckgegebenen Text, in eine Variable abspeichern. bsp: (arxload (strcat (geniuspd) "meins.arx") ) meineFunktion y gibt einfach zurueck: 123.0932 und das soll jetyt in eine Variable. Danke fuer die Hilfe. Kann mir jemand ein Tutorial (kein Buch) empfehlen, dass fuer den Einstieg in Lisp geeignet (und nicht ungeeignet, wie viele, die ich schon gesehen hab) ist? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 18. Mrz. 2005 10:48 <-- editieren / zitieren --> Unities abgeben: Nur für 1.krid
|
1.krid Mitglied
Beiträge: 7 Registriert: 14.03.2005
|
erstellt am: 18. Mrz. 2005 10:56 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADwiesel: meinst du sowas? : (setq rückgabe (arxload (strcat (geniuspd) "meins.arx") ))
nein nicht ganz. meins.arx stellt einen Befehl (meineFunktion) zur Verfuegung, wenn ich diesen Ausfuehre, muss ich entweder y oder n eingeben und enthalte dann einen wert zurueck. Das waer dann eher so was: (arxload (strcat (geniuspd) "meins.arx") ) meineFunktion (setq rückgabe (n) ) Aber das geht eben nicht.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 18. Mrz. 2005 11:55 <-- editieren / zitieren --> Unities abgeben: Nur für 1.krid
|
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 18. Mrz. 2005 14:16 <-- editieren / zitieren --> Unities abgeben: Nur für 1.krid
Zitat: Original schrub: nein nicht ganz. meins.arx stellt einen Befehl (meineFunktion) zur Verfuegung, wenn ich diesen Ausfuehre, muss ich entweder y oder n eingeben und enthalte dann einen wert zurueck. Das waer dann eher so was:(arxload (strcat (geniuspd) "meins.arx") ) meineFunktion (setq rückgabe (n) ) Aber das geht eben nicht.
*nullcheck* Ich kapiere schon gar nicht was GENAU Du übehaupt willst. Erklär' doch noch mal komplett neu und verständlich... ------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 18. Mrz. 2005 21:27 <-- editieren / zitieren --> Unities abgeben: Nur für 1.krid
Zitat: Original erstellt von 1.krid: Bin blutiger Anfaenger... Kann mir jemand ein Tutorial (kein Buch) empfehlen, dass fuer den Einstieg in Lisp geeignet (und nicht ungeeignet, wie viele, die ich schon gesehen hab) ist?
ich zitier mich mal selber .. Wenn du dich in Lisp einarbeiten willst, kann ich dir Mapcars Tutorial wärmstens empfehlen. Hier wird eine im deutschsprachigen Raum wohl einmalige Einführung in die Programmiersprache Lisp , speziell für AutoCad gegeben. Bist du des englischen mächtig, und schon etwas weiter fortgeschritten, kannst du dir auch einmal www.afralisp.com angucken.
------------------ - 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 |
1.krid Mitglied
Beiträge: 7 Registriert: 14.03.2005
|
erstellt am: 21. Mrz. 2005 05:17 <-- editieren / zitieren --> Unities abgeben:
@cadmium: Danke, sieht nuetzlich aus. @marc.scherer: ok, versuchs nochmal zu erklaeren. Prinzipiell will ich den Rueckgabewert eines Kommandos in eine Variable speichern. Allerdings verlangt dieses Kommando erst noch nach einer Usereingabe. Ich hab versucht mit folgendem Code mein Problem zu loesen:
Code: (command "meineFunktion") (setq rueckgabe(command "n"))
1. die Funktion "meine Funktion" wird aufgerufen (durch ein arx zur Verfuegung gestellt). meineFunktion verlangt nach einer Usereingabe. Entweder y oder n ist moeglich. 2. ich "gebe" n ein, und moechte die daraufhin folgende Text-Ausgabe (z.B. 112.34 oder aber auch "Fehler aufgetreten") in die Variable rueckgabe speichern. bei der Ausfuehrung des Codes von oben bekomm ich aber zurueck:
Code: n Fehler aufgetreten Command: nil
Ich denke dafuer muss es doch eine ganz simple Loesung geben, da das wohl doch ziemlich oft benoetigt wird! Vielleicht zu einfach ... ------------------ phpMyBackupPro - the mySQL backup tool www.phpMyBackupPro.net Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 21. Mrz. 2005 07:21 <-- editieren / zitieren --> Unities abgeben: Nur für 1.krid
|
1.krid Mitglied
Beiträge: 7 Registriert: 14.03.2005
|
erstellt am: 21. Mrz. 2005 07:37 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADmium: .. vielleicht hilft dir auch schon (getvar "lastprompt") weiter ?!
Das bringt mich gar nicht weiter. Ich will doch den Rueckgabewert des letzten Prompts. Das ergibt einfach "Command: (getvar \"lastprompt\")"
------------------ phpMyBackupPro - the mySQL backup tool www.phpMyBackupPro.net Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SebZ Mitglied Bauingenieur Tiefbau
Beiträge: 189 Registriert: 17.10.2004 AutoCAD 2010 Civil 3D DACH WinXP Professional 2002 SP3 MS Office 2007 Intel Core2Duo 2.80 GHz, 3.00 GB RAM
|
erstellt am: 21. Mrz. 2005 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für 1.krid
mal ganz blauäugig vermutet: wie ists mit (setq rueckgabe (command "meineFunktion" "y")) [/"n"] Eine variable Usereingabe müsstest du dann z.B. vorher abfragen. Ist, wie gesagt, aber wirklich nur ein Schuss ins dunkle.
------------------ Gruß SebZ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 21. Mrz. 2005 13:29 <-- editieren / zitieren --> Unities abgeben: Nur für 1.krid
@SEBZ: mal aus der Lisp-Hilfe zitiert : (command [arguments] ...) Arguments: AutoCAD commands and their options. The arguments to the command function can be strings, reals, integers, or points, as expected by the prompt sequence of the executed command. A null string ("") is equivalent to pressing ENTER on the keyboard. Invoking command with no argument is equivalent to pressing ESC and cancels most AutoCAD commands. The command function evaluates each argument and sends it to AutoCAD in response to successive prompts. It submits command names and options as strings, 2D points as lists of two reals, and 3D points as lists of three reals. AutoCAD recognizes command names only when it issues a Command prompt. Return Values : nil und was soll das [/"n"] ??? ------------------ - 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 |
1.krid Mitglied
Beiträge: 7 Registriert: 14.03.2005
|
erstellt am: 22. Mrz. 2005 07:42 <-- editieren / zitieren --> Unities abgeben:
|