| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
| NEU: SF Distance Check – Schnelle Abstandsprüfung für PTC Creo, eine Pressemitteilung
|
Autor
|
Thema: IF-Abfrage in Beziehung eingeben ??? (1274 mal gelesen)
|
nullliver Mitglied Maschinenbau-Konstrukteur
Beiträge: 150 Registriert: 12.10.2001 Pro/E WF2 M280
|
erstellt am: 23. Mai. 2002 09:06 <-- editieren / zitieren --> Unities abgeben:
|
Pitty Mitglied
Beiträge: 86 Registriert: 22.02.2002 WF4/M210 Creo 2.0 M100
|
erstellt am: 23. Mai. 2002 09:18 <-- editieren / zitieren --> Unities abgeben: Nur für nullliver
So gehts: if w < x d32 = 50 endif Versuche es mal so! Wir haben nach dieser Art jede Menge Beziehungen. Du kannst auch anstatt nur der Variablen "x" z.B. gleich eine Formel mit einbringen:
if w < (u-z) d32 = w - y endif Bis denn
Peter
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ehlers Mitglied Ingenieur
Beiträge: 1432 Registriert: 05.11.2001 Pro/E 14-2001 WF1-5
|
erstellt am: 23. Mai. 2002 09:25 <-- editieren / zitieren --> Unities abgeben: Nur für nullliver
Beispiel: IF Laenge1==100 Laenge2=50 else laenge2=40 endif if Laenge2==50 laenge2=30 endif Beispiel: Eingabe Laenge1 Ausgabe Laenge2 100 50 50 30 90 40 25 40 Man sollte immer einen Wert setzen wenn ein Vergleich nicht eintrifft. Deshalb ELSE Das ganze steht auch in der ONLINE-Hilfe unter Beziehungen und Systemparameter. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nullliver Mitglied Maschinenbau-Konstrukteur
Beiträge: 150 Registriert: 12.10.2001 Pro/E WF2 M280
|
erstellt am: 23. Mai. 2002 09:29 <-- editieren / zitieren --> Unities abgeben:
if SHUTTLE_X = 1 /* ERROR: Beziehung hat einen Fehler. d15:11 = 4400 endif Was is hier falsch? Layout ist deklariert, SHUTTLE_X ist ein Parameter aus dem Layout (aktueller Wert 800) Oli ------------------ Oliver Kraft Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nullliver Mitglied Maschinenbau-Konstrukteur
Beiträge: 150 Registriert: 12.10.2001 Pro/E WF2 M280
|
erstellt am: 23. Mai. 2002 09:30 <-- editieren / zitieren --> Unities abgeben:
|
ehlers Mitglied Ingenieur
Beiträge: 1432 Registriert: 05.11.2001 Pro/E 14-2001 WF1-5
|
erstellt am: 23. Mai. 2002 09:33 <-- editieren / zitieren --> Unities abgeben: Nur für nullliver
|
nullliver Mitglied Maschinenbau-Konstrukteur
Beiträge: 150 Registriert: 12.10.2001 Pro/E WF2 M280
|
erstellt am: 23. Mai. 2002 09:45 <-- editieren / zitieren --> Unities abgeben:
|
B. Sandriester Mitglied Administrator, Trainer, Consulter
Beiträge: 150 Registriert: 17.10.2001
|
erstellt am: 23. Mai. 2002 10:45 <-- editieren / zitieren --> Unities abgeben: Nur für nullliver
Noch eine kleine Ergänzung der Operatoren in Beziehungen: (Hinweis IF-ENDIF Beziehungen sind Prüfungen, wo Ausdrücke verglichen werden, daher Vergleichsoperatoren!) + Addition - Subtraktion / Division * Multiplikation ^ Potenz ( ) Klammerausdrücke z.B. d0=((d1+d3)+10)/2 Zuweisungsoperator: = Gleichheitszeichen Vergleichsoperatoren: == Ist gleich > Ist größer als < Ist kleiner als >= Ist größer oder gleich als <= Ist kleiner oder gleich als <> Ist ungleich als & Und | Oder ~ Nicht Mathematische Funktionen: cos() Cosinus sin() Sinus tan() Tangens acos() Arcuscosinus asin() Arcussinus atan() Arcustangens sqrt() Quadratwurzel log() Dekadischer Logarithmus ln() Natürlicher Logarithmus PI Pi-wert 3,14159 G Gravitationskonstante 9,81 m/s² exp() Eine Potenz der Zahl e ------------------ Ing. B. Sandriester BEKO - CAE Beratung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fossy Mitglied Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)
Beiträge: 943 Registriert: 07.02.2001 Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie passten auch heute noch. (George Bernard Shaw, ir. Dramatiker, 1856-1950)
|
erstellt am: 23. Mai. 2002 13:45 <-- editieren / zitieren --> Unities abgeben: Nur für nullliver
hi, eigentlich wollte ich ja hier nicht meckern, aber manchmal sollte man schon in die pro/e-hilfe schauen! ---> D:\ptc\proe2001\html\german\proe\core\operator.htm D:\ptc\proe2001\html\german\proe\core\conditio.htm D:\ptc\proe2001\html\german\proe\core\operato0.htm D:\ptc\proe2001\html\german\proe\core\function.htm usw. (pfad kann natürlich abweichen) ------------------ cu fossy meine kleine website [Diese Nachricht wurde von fossy am 23. Mai 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Günther Weber Mitglied Maschinenbautechniker
Beiträge: 439 Registriert: 15.09.2000 WildFire 5, Windows 11
|
erstellt am: 12. Apr. 2023 12:32 <-- editieren / zitieren --> Unities abgeben: Nur für nullliver
Hallo, ich wühle diesen alten Thread mal auf, weil darin ein Teil meiner Frage bereits beantwortet wird. Ich möchte eine Baugruppenbeziehung erstellen: LAENGE = LAENGE:CID_48 + LAENGE:CID_41 + LAENGE:CID_54 + LAENGE:CID_57 + D5:CID_278 + D4:CID_283 Jetzt sind aber nie alle Komponenten gleichzeitig in der Baugruppe enthalten, sondern durch ein "N" in der Familientabelle unterdrückt. Welche if-Abfrage brauche ich, um zu prüfen ob eine Komponente vorhanden ist? Oder gibt es da so etwas wie eine try / catch Abfrage, um Fehlermeldungen zu behandeln? Pro/TOOLKIT habe ich leider nicht. J-LINK lernen? Danke - Günther
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EWcadmin Moderator Konstrukteur (Dipl.-Ing. Maschinenbau), CAD-/PDM-Admin.
Beiträge: 3254 Registriert: 27.10.2005
|
erstellt am: 12. Apr. 2023 14:01 <-- editieren / zitieren --> Unities abgeben: Nur für nullliver
Ich würde das mal mit der Funktion EXISTS() und Dummy-Parametern versuchen. Habe jetzt auf die Schnelle aber nicht geprüft, ob die Syntax richtig ist. Aber das kannst Du ja ausprobieren IF EXISTS(LAENGE:CID_48) LAENGE_1 = LAENGE:CID_48 ELSE LAENGE_1 = 0 ENDIF IF EXISTS(LAENGE:CID_41) LAENGE_2 = LAENGE:CID_41 ELSE LAENGE_2 = 0 ENDIF .... LAENGE = LAENGE_1 + LAENGE_2 usw. ------------------ Grüße aus OWL, Thomas
ProE macht Spaß - viel ProE macht viel Spaß ! (Zitat, frei nach meinem ProE-Beibringer) Neu auf CAD.de? Diese Infos werden Dir den Einstieg erleichtern: Willkommen auf CAD.de Auch sehr hilfreich für ProE-/Creo-Neulinge: ProE konfigurieren Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Günther Weber Mitglied Maschinenbautechniker
Beiträge: 439 Registriert: 15.09.2000 WildFire 5, Windows 11
|
erstellt am: 12. Apr. 2023 15:27 <-- editieren / zitieren --> Unities abgeben: Nur für nullliver
Vielen Dank, aber leider geht das nicht: LAENGE = LAENGE:CID_48 IF EXISTS(LAENGE:CID_41) errorUngültige Datentyp-Kombination auf der linken Seite des Ausdrucks LAENGE = LAENGE + LAENGE:CID_41 ENDIF IF EXISTS(LAENGE:CID_54) errorUngültiges Symbol 'LAENGE:CID_54' gefunden. LAENGE = LAENGE + LAENGE:CID_54 ENDIF CID_41 ist vorhanden, CID_54 ist unterdrückt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
arni1 Ehrenmitglied V.I.P. h.c.
Beiträge: 3985 Registriert: 17.12.2002 Pro/E seit Version 11 Creo6 HP Z210 Intel Xeon 3.3GHz; 20 GB RAM NVIDIA Quadro 2000 HP ZR30w Win10 64bit
|
erstellt am: 12. Apr. 2023 15:49 <-- editieren / zitieren --> Unities abgeben: Nur für nullliver
So muß der Syntax sein: ... if exists("laenge:CID_276") ... Ohne zusätzliche Parameter gehts auch: if exists("laenge:CID_276") laenge=laenge:CID_276 endif if exists("laenge:CID_277") laenge=laenge+laenge:CID_277 endif if exists("laenge:CID_278") laenge=laenge+laenge:CID_278 endif if exists("laenge:CID_279") laenge=laenge+laenge:CID_279 endif Gruß Arni Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Günther Weber Mitglied Maschinenbautechniker
Beiträge: 439 Registriert: 15.09.2000 WildFire 5, Windows 11
|
erstellt am: 12. Apr. 2023 16:35 <-- editieren / zitieren --> Unities abgeben: Nur für nullliver
|