| |
![](https://ww3.cad.de/php/image.php?resolution=width:20050) | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Brauche mal kurz Hilfe für Lisp (if then oder cond?) (1362 mal gelesen)
|
MC Moderator Dipl.Ing. Maschinenbau, Konstrukteur
![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif)
![Schreiben Sie einen Gästebucheintrag für MC](/foren/ubb/pmimages/gbu.gif) Beiträge: 644 Registriert: 20.10.2000
|
erstellt am: 14. Sep. 2004 11:51 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
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.
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für clausb](/foren/ubb/pmimages/gbu.gif) 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: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) 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 Moderator Dipl.Ing. Maschinenbau, Konstrukteur
![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif)
![Schreiben Sie einen Gästebucheintrag für MC](/foren/ubb/pmimages/gbu.gif) Beiträge: 644 Registriert: 20.10.2000
|
erstellt am: 14. Sep. 2004 13:47 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
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
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für Dorothea](/foren/ubb/pmimages/gbu.gif) Beiträge: 242 Registriert: 22.11.2001
|
erstellt am: 14. Sep. 2004 13:57 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) 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 |
![](https://ww4.cad.de/Ads/adview.php?what=zone:16178&n=aee1ae73)
| Facility Manager - Bauingenieur (m/w/d) | Internationaler Technologiekonzern I Mehr als 1000 Mitarbeitende in 6 Ländern I Entwicklung und Fertigung von Anlagen für die Vakuumbeschichtung I Mehr als 60 Jahre Erfahrung I Anlagen dienen der Herstellung nachhaltiger Produkte Bei VON ARDENNE zählen Persönlichkeit, ... | Anzeige ansehen | Bauwesen |
|
MC Moderator Dipl.Ing. Maschinenbau, Konstrukteur
![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif)
![Schreiben Sie einen Gästebucheintrag für MC](/foren/ubb/pmimages/gbu.gif) Beiträge: 644 Registriert: 20.10.2000 System: HP Z400, 32GB RAM nVidia Quadro 4000 Win10 Enterprise 64bit SOLIDWORKS 2020 Premium SP5.0 Creo Elements/Direct Modeling (x64) 19.0 M030 Modelmanager 19
|
erstellt am: 15. Sep. 2004 07:14 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
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 |