| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
 | MAIT übernimmt Kundenstamm von GMCAD, eine Pressemitteilung
|
Autor
|
Thema: Brauche mal kurz Hilfe für Lisp (if then oder cond?) (1490 mal gelesen)
|
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
  
 Beiträge: 644 Registriert: 20.10.2000
|
erstellt am: 14. Sep. 2004 11:51 <-- editieren / zitieren --> Unities abgeben:         
Hallo Lispler, ich stehe gerade im Wald und bräuchte mal einen Tipp (Programm anbei) : Ich habe vor, eine Kontur zeichnen zu lassen, die abhängig von einer Abfrage in der Dialogbox (mit ohne ohne Fase in diesem Fall) unterschiedlich aussehen muss. Jetzt habe ich eine Boolean-Variable "Fase" definiert, die ich abfragen möchte, ob sie gesetzt ist oder nicht (true oder false bzw. nil müßte das dann ja wohl sein). Als Ergebnis der Abfrage soll entweder die eine, oder eben die andere Kontur gezeichnet und dann gedreht werden. Mit welchem Befehl/welcher Abfrage bekomme ich sowas hin? Ich dachte an "If/else" oder mit "Cond", aber es klappt nicht wirklich. Vielleicht könnte ja mal jemand schauen, wo der Wurm drin ist? Danke Euch im Voraus, Michael p.s.: Bitte keine Klagen über mein schlechtes Lisp, ich übe mal wieder etwas.... ------------------ Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 14. Sep. 2004 12:15 <-- editieren / zitieren --> Unities abgeben:          Nur für MC
Deine Abfrage sieht so aus: Code:
((if Fase t
Das geht so nicht. Richtig schreibt man ein if in LISP so:
Code:
(if Fase (some-lisp-form-for-if) (some-lisp-form-for-else) )
Wenn Du keinen else-Zweig brauchst, kannst Du stattdessen auch "when" nehmen:
Code:
(when Fase (do-something) )
Claus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
  
 Beiträge: 644 Registriert: 20.10.2000
|
erstellt am: 14. Sep. 2004 13:47 <-- editieren / zitieren --> Unities abgeben:         
Hallo Claus, danke schonmal für Deine Antwort (UI's sind unterwegs). Allerdings klappt da irgendwas nicht so recht, aber ich bin mir nicht sicher, ob es mit der "if"-Bedingung zusammenhängt. Ich bekomme dann die angehängte Fehlermeldung. Kannst Du oder jemand anders damit was anfangen? Gruß, Michael ------------------ Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorothea Mitglied
 
 Beiträge: 242 Registriert: 22.11.2001
|
erstellt am: 14. Sep. 2004 13:57 <-- editieren / zitieren --> Unities abgeben:          Nur für MC
Hallo Michael, Wenn nach eine if -Anweisung mehr als ein Aufruf erfolgen soll, dann muss man diese Aufrufe zusammenfassen, z.B. mit progn. Bei dir steht im Moment: (if Fase ( (sd-call-cmds Diese zweite Klammer nach 'Fase' sagt nichts aus, ist falsch dort. Ersetze sie durch (if Fase (progn (sd-call-cmds Dann sollte dieses Problem geloest sein. progn wird auch ganz normal durch eine schliessende Klammer wieder beendet. Diese Klammer ist glaube ich in deinem Programm schon drinne. Gruss Dorothea
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
  
 Beiträge: 644 Registriert: 20.10.2000 System: DELL Precision 5770, 32GB RAM nVidia RTX A2000 Win10 Enterprise 64bit SOLIDWORKS 2022 Premium SP5.0 Creo Elements/Direct Modeling (x64) 19.0 M030
|
erstellt am: 15. Sep. 2004 07:14 <-- editieren / zitieren --> Unities abgeben:         
Hallo Dorothea und Claus! Klasse Tipps! Damit klappt es jetzt endlich, danke. Dank Eurer Hilfe gibt es für die Kühlbohrungsbohrer hier im Forum bald was zum Ausprobieren. Grüße aus Braunschweig, Michael ------------------ Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |