| |
| 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: if else_if und was weiß ich... (1557 mal gelesen)
|
Greskamp Mitglied Ingenieur
Beiträge: 523 Registriert: 12.03.2003
|
erstellt am: 27. Okt. 2014 08:43 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bin am verzweifeln und frage jetzt mal nach Hilfe. Ich würde gerne eine IF-Abfrage machen, die 3 Bedingungen erfüllen muss, also mit AND verbunden ist. Wenn die erste IF-Abfrage nicht erfüllt ist, soll es eine 2. IF-Abfrage geben, die auch wieder 3 Bedingungen hat. Geht bei der Makroprogrammierung überhaupt? Bis jetzt habe ich das immer nur über 2 getrennte IF-Abfragen hin bekommen, wollte aber etwas Text sparen, wird sonst lang das Makro Ihr mal die paar Textzeilen IF (((EINTRAG_SIDE = "UPSIDE") AND (Eintrag_Tool = "Durchzug M3") AND (EINTRAG_STAM_DIR = "AB")) OR ((EINTRAG_SIDE = "DOWNSIDE") AND (Eintrag_Tool = "Durchzug M3") AND (EINTRAG_STAM_DIR = "AU"))) . . END_IF Vielleicht kann mir dazu jemand einen Tipp geben. Vielen Dank im Voraus
------------------ Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
Beiträge: 2158 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.6, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook Fury 16 G9, Windows 10 Pro 64
|
erstellt am: 27. Okt. 2014 09:20 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
|
Greskamp Mitglied Ingenieur
Beiträge: 523 Registriert: 12.03.2003
|
erstellt am: 27. Okt. 2014 12:19 <-- editieren / zitieren --> Unities abgeben:
Hallo Walter, also wenn ich das recht sehe, kann man dsa garnicht verkürzen, weil nach der Bedingung immer die Befehle stehen müssen. Hab mal die beiden IF-Zeilen angehängt, wenn das von dir richtig versehe, spart sich dann ein END_If. Oder fällt dir eine vereinfachung ein? ------------------ Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
Beiträge: 2158 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.6, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook Fury 16 G9, Windows 10 Pro 64
|
erstellt am: 27. Okt. 2014 12:47 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Alle Befehlszeilen, die sich 1:1 wiederholen, lassen sich in einem eigenen Makro zusammenfassen und dann so aufrufen. Ist zumindest bei Änderungen einfacher zu handeln. Der entscheidende Unterschied ist, dass bei IF..ELSE_IF..ELSE..END_IF nur EINE Bedingung abgearbeitet wird, nämlich die erste, die zutrifft. Bei einzelnen IF-Blöcken könnten auch mehrere zutreffende Bedingungen gültig werden ------------------ meine LISP-Makros sind auf osd.cad.de Disclaimer Grüße aus Wien
Walter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Greskamp Mitglied Ingenieur
Beiträge: 523 Registriert: 12.03.2003
|
erstellt am: 28. Okt. 2014 12:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Walter, also jetzt habe ich es wohl hin bekommen. Mir hat immer das ELSE gefehlt, weil ich eigentlich kein ELSE hatte. Aber das muss wohl mit drin sein. Weißt du noch ob es auch einen Befehl wie "mache nichts" gibt. Bei mir heißt das jetzt ELSE display "nichts" Das klappt aber vielleicht gibt es da eine schönere Möglichkeit. Sonst vielen Dank für die Hilfe. ------------------ Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roman Mitglied
Beiträge: 704 Registriert: 16.01.2001 ME10 v20.4.1, Win10 SD v20.4.1, Win10 Windchill 12.02 Creo 8.0.2
|
erstellt am: 28. Okt. 2014 13:06 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
|
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 291 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 29. Okt. 2014 15:37 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Zitat: Original erstellt von Greskamp:
Weißt du noch ob es auch einen Befehl wie "mache nichts" gibt.
Wenn du nach ELSE nichts hinschreibst bzw. eine leere Klammer setzt macht er doch nichts? ------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |