| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PRO.FILE 10: So gelingt der Umstieg, eine Pressemitteilung
|
Autor
|
Thema: Anfängerfehler in LISP (460 mal gelesen)
|
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2012 LT
|
erstellt am: 03. Dez. 2007 09:31 <-- editieren / zitieren --> Unities abgeben:
Hallo liebe Mitstreiter, ich bin gerade dabei mein erstes LISP auzuprobieren und scheitere (nach Angaben von AutoCAD) schon in der ersten Zeile. Ich hab wahrscheinlich gerade nur einen ganzen Baum vor dem Kopf. (defun C: test1) (setq EP (getpoint)) (setq LU ' (0 0 0)) (setq RO ' (21 29 0)) (command "rechteck" (mapcar '+ EP LU) (mapcar '+ EP RO))Bitte helft mir den oder die Fehler zu finden. Gruß Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 03. Dez. 2007 09:37 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedelzastrow
Der Aufbau von deinem CODE hat nichts mit Lisp zu tun... Das was du hast ist eine Ansammlung von Befehlen (einem Script entsprechend), welchen du ein defun vorangestellt hast. Du hast aber nicht die Übergabe von Variablen/Parameter an deine Functiondefiniton berücksichtig - desweiteren fehlt auch noch die Rücksichtnahme auf den Listenförmigenaufbau inkl. all seiner Klammernstruktur. Code:
(defun C:test1 () ;abschließendes Klammernpaar kann für Variablendeklaration/Parameterdeklaraion genutzt werden (setq EP (getpoint)) (setq LU ' (0 0 0)) (setq RO ' (21 29 0)) (command "rechteck" (mapcar '+ EP LU) (mapcar '+ EP RO)) ) ;defun wird erst nach Definition der Funktion geschlossen
Es gäbe da ein gutes Buch, welches du dir zu Gemüte führen solltest... ------------------ Grüsse Thomas Korrekturen zum Kochbuch AutoLISP NACHTRAG: Gewöhn dir gleich eine übersichtiliche Formatierung des Codes an - ebenso wie die Verwendung der CODE-Tags auf cad.de... NACHRAG2: Es gibt ein Lisp-Forum... [Diese Nachricht wurde von tunnelbauer am 03. Dez. 2007 editiert.] 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: 03. Dez. 2007 09:51 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedelzastrow
Hi, wenn man mal davon ausgeht, dass es sich um eine zusammenhängende Funktion handelt (was es so nicht ist), wurden eigentlich nur zwei kleine Fehlerleins gemacht: Ein Leerzeichen zwischen dem Befehlspräfix c: und dem Funktionsnamen test1 und das Klammernpaar für die Variablendefinition nach dem Funktionsnamen. ...OK, die schließende Klammer der Funktionsdefinition nach der letzten Zeile fehlt natürlich auch noch... Richtig muss die erste Zeile also so aussehen:
Code: (defun C:test1 (/ EP LU RO)
[Edit]Wenn man antworten will, sollte man zwischendurch nicht irgendwas anderes machen... [/Edit] Gruß CADchup ------------------ CADmaro.de [Diese Nachricht wurde von CADchup am 03. Dez. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2012 LT
|
erstellt am: 03. Dez. 2007 10:22 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke tunnelbauer und danke CADchup. Unities sind unterwegs. Das Kochbuch habe ich schon und im Moment probiere ich verschiedenes aus. Reines LISP ist noch zu schwierig (bin noch nicht weit genug) und versuche es mit bekanntem aus Buttonmakros "aufzumotzen" Danke Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |