| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | erp4cad: Das ERP für komplexe CAD-Projekte!, eine Pressemitteilung
|
Autor
|
Thema: bedingte Formel möglich (7783 mal gelesen)
|
BX-8017 Mitglied

 Beiträge: 93 Registriert: 14.10.2005
|
erstellt am: 30. Sep. 2010 14:09 <-- editieren / zitieren --> Unities abgeben:         
Hi. Ist es möglich, eine Formel abhängig von einem Parameter zu definieren, alos praktisch eine Fallunterscheidung zu machen. Beispiel: Paramter alpha ist definiert, z.B 20° eine Formel berechnet dann z.B P= 4*alpha für den Fall, dass alpha > 20° ist soll aber berechnet werden: P = 10 * alpha Das ganze ist jetzt nur ein Beispiel. Kann man so etwas abfragen vor der Berechnung? Grüße BX-8017 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)

 Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 30. Sep. 2010 14:24 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
Hallo BX-8017, das ist relativ einfach umzusetzen: Jede Formel hat einen booleschen Parameter. 1. Schritt: erste Formel erstellen P= 4*alpha und inaktivieren 2. Schritt zweite Formel erstellen: P = 10 * alpha 3. Schritt: je eine Formel erstellen zum Steuern der Boolschen Parametern der vorherigen Formeln: Formel1\boolescher Wert =alpha < 20deg (Wirkung: Wenn alpha kleiner ist als 20deg ist diese Formel aktiv, sonst nicht) Formel2\boolescher Wert =not(Formel1\boolescher Wert)
(Wirkung:Formel.2 ist aktiv, wenn Formel.1 inaktiv ist und umgekehrt. ------------------ Gruß Mörchen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BX-8017 Mitglied

 Beiträge: 93 Registriert: 14.10.2005
|
erstellt am: 30. Sep. 2010 20:59 <-- editieren / zitieren --> Unities abgeben:         
Hi Mörchen. Das muss ich mir mal anschauen. Da werden wohl noch Fragen kommen. In meinem speziellen Fall geht es eigentlich um einen Winkel der entweder =90° ist oder eben ungleich 90°. Wie mache ich das dann am besten? Ich bräuchte doch nur eine Bedingung abfragen, also am besten das = 90° Wenn das dann mit nein beantwortet wird, soll eine andere Formel benutzt werden. Oder muss man immer beide Fälle abfragen. Wenn ja wie frägt man undlgeich ab, etwas so "<>" ? Ich hoffe du vertehst was ich meine. Danke und Grüße BX-8017 PS. erste Rückmeldung: ich kann die Formel 2 nicht mit "P" benennten --> another parameter has this name already, obwohl ich Formel 1 deaktiviert habe. [Diese Nachricht wurde von BX-8017 am 30. Sep. 2010 editiert.] [Diese Nachricht wurde von BX-8017 am 30. Sep. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)

 Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 01. Okt. 2010 08:01 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
Hallo BX-8017, "P" muss sich immer auf den gleichen Parameter beziehen, da ist nix mit umbenennen mit einem genauen Wert vergleichen geht mit == ungleich:<> Formel zum aktivieren/deaktivieren der ersten Formel: Formel1\boolescher Wert = alpha == 90deg Formel zum aktivieren/deaktivieren der zweiten Formel:
Formel2\boolescher Wert = not(Formel1\boolescher Wert) ------------------ Gruß Mörchen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BX-8017 Mitglied

 Beiträge: 93 Registriert: 14.10.2005
|
erstellt am: 01. Okt. 2010 17:36 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von Mörchen:
1. Schritt: erste Formel erstellen P= 4*alpha und inaktivieren2. Schritt zweite Formel erstellen: P = 10 * alpha
Hallo. Deine Antwort hat mich leider nicht weitergebracht. Es bleibt dabei. so, wie oben beschrieben klappt das nicht. Es kommt beim 2. Schritt zu der beschriebenen Fehlermeldung. " another parameter has this name already" Ich habe auch nichts von umbenennen gesagt Grüße [Diese Nachricht wurde von BX-8017 am 01. Okt. 2010 editiert.]
[Diese Nachricht wurde von BX-8017 am 01. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)

 Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 02. Okt. 2010 14:07 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
Hallo BX-8017, schwierig, die Diagnose zu stellen ohne das Modell vor Augen zu haben... Welcher Parameter wird denn angemeckert? Wie schreibst Du Deine Formeln überhaupt im Formeleditor, Schreibst Du wirklich oder klickst Du die Parameter zusammen? Das Klickverfahren ist besser. Kannst Du mal bitte einen Screenshot der Formeln und der Fehlermeldung machen? ------------------ Gruß Mörchen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BX-8017 Mitglied

 Beiträge: 93 Registriert: 14.10.2005
|
erstellt am: 02. Okt. 2010 14:43 <-- editieren / zitieren --> Unities abgeben:         
Hallo Mörchen. Manchmal Klicke ich, manchmal schreibe ich selbst, mal so mal so. Es wird der Parameter angemeckert, den ich doppelt erstellen möchte! Die Fehlermeldung kommt, sobald ich auf Add Formula gehe, auch wenn der Paramter deaktivert ist. Klingt für mich auch logisch,da es den Paramternamen ja schon gibt...... Grüße [Diese Nachricht wurde von BX-8017 am 02. Okt. 2010 editiert.]
[Diese Nachricht wurde von BX-8017 am 02. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)

 Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 02. Okt. 2010 16:18 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
Hi, der erste Fehler ist schonmal, dass Du versehentlich einen Parameter Typ Length als Winkel verwenden willst. Und wenn Du den Parameter schon hast, wozu willst Du ihn dann nochmal erzeugen? Du verwendest den, den Du schon hast, ein zweites Mal. ------------------ Gruß Mörchen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BX-8017 Mitglied

 Beiträge: 93 Registriert: 14.10.2005
|
erstellt am: 03. Okt. 2010 18:44 <-- editieren / zitieren --> Unities abgeben:         
Hallo. Ja, das war jetzt im Eifer des Gefechts. Ich habe das nur schnell nachgestellt. Es ist natürlich ein Parameter vom Typ angle. Warum ein zweites Mal? Darum geht es doch in meiner Frage! Ich möchte einem Parameter zwei verschiedene Formeln zuweisen und je nach Fall soll die 1. oder die 2. Formel verwendet werden. So beschreibst du es ja oben in deinem Schritt1 und 2. Also, bei einem Achswinkel von <> 90° soll die Formel lauten wie im Bild, bei = 90° soll sie heissen atan (z2/z1) Grüße
[Diese Nachricht wurde von BX-8017 am 03. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MICHLICK Mitglied CAD Methodik Entwickler (CATIA; NX)
 
 Beiträge: 456 Registriert: 20.06.2001 Der Aufwand bei Änderungen ist groß, wenn die Finger schneller klicken als das Gehirn denkt.
|
erstellt am: 04. Okt. 2010 07:32 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
Das sind nach meinem Verständnis: 1 Parameter 4 Formeln (2 die dem Parameter zugewiesen sind und jeweils eine pro formel um diese zu aktivieren/deaktivieren). Falls Du eine KWA Lizenz zur Verfügung hast, dann läßt sich das auch einfacher über eine Rule verwirklichen. Damit kannst du dann inaktive Regeln vermeiden (möglicherweise sind das Q-Checker Fehler - je nach Profil).
------------------ Gruß Michael B. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)

 Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 04. Okt. 2010 08:41 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
Hallo BX-8017, Du brauchst jeden Parameter nur einmal. "P" bleibt immer derselbe. Du hast zur Fallunterscheidung 2 Formeln, die den (selben!!!) Parameter "P" bedingen, die abwechselnd aktiviert oder inaktiviert werden. ------------------ Gruß Mörchen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 04. Okt. 2010 09:22 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
Servus Also bei mir funktioniert das ganze nicht so wie es soll. Das "Umschalten" der Formel klappt nur in eine Richtung. Falls ich den Wert wieder unter den Grenzwert schalte werden kurzfristig beide Formeln aktiv und erzeugen eine Fehlermeldung (Deaktivierung der zweiten Formel wird nicht ausgeführt) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)

 Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 04. Okt. 2010 09:24 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
|
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 04. Okt. 2010 09:27 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
Servus Leider funktioniert das bei mir nicht. Scheinbar wird (ggf bedingt durch Einstellungen) zunächst die erste Formel aktiviert, dann die Fehlermeldung ausgelöst und das deaktivieren (über "not") der 2. Formel gar nicht ausgeführt. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. [Diese Nachricht wurde von bgrittmann am 04. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)

 Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 04. Okt. 2010 10:36 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
Hi Bernd, Du hast recht. Ich habe es jetzt ausgiebig getestet, Ich wollte es nicht glauben, weil ich im Kurs so ähnliche Sachen immer mache, ich suche noch, ob ich ein vergleichbares Beispiel habe... Der Knackpunkt ist, dass der Parameter P, der berechnet wird, der gleiche sein muss. Das will CATIA offenbar nicht kapieren, egal ob man das mit Formeln oder mit Regeln lösen will. Ein Umsortieren der Formeln bringt auch nichts. Also muss ich leider alles zurücknehmen, was ich bisher oben geschrieben habe. ------------------ Gruß Mörchen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BX-8017 Mitglied

 Beiträge: 93 Registriert: 14.10.2005
|
erstellt am: 04. Okt. 2010 10:47 <-- editieren / zitieren --> Unities abgeben:         
|
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)

 Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 04. Okt. 2010 10:55 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
|
BX-8017 Mitglied

 Beiträge: 93 Registriert: 14.10.2005
|
erstellt am: 04. Okt. 2010 17:22 <-- editieren / zitieren --> Unities abgeben:         
Das wäre natürlich phänomenal, wenn das so klappen würde. Wird gleich getestet. . . . geht nicht, zumindest nicht direkt im Formeleditor. Wo definiere ich diese Regel? Grüße BX-8017
[Diese Nachricht wurde von BX-8017 am 04. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 04. Okt. 2010 22:11 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
|
BX-8017 Mitglied

 Beiträge: 93 Registriert: 14.10.2005
|
erstellt am: 05. Okt. 2010 17:18 <-- editieren / zitieren --> Unities abgeben:         
Hi. Also wenn ich das, wie im Bild angehängt, mache, bekomme ich invalid Struktur! Das ganze soll ja vom Achswinkel abhängig sein. Wir dieser dann auch rechts in diesm LAW abgelegt oder kann man ihn auch als Parameter definieren. Der Auszurechnende Teilkegelwinkel muss dann wohl als Parameter im Parameterbaum gelöscht werden, oder? So jetzt bitte der Reihe nach. Was ist noch faul? Grüße BX-8017 PS. Habe jeweils eine ")" hinten vergessen. Daran liegt es aber nicht. [Diese Nachricht wurde von BX-8017 am 05. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)

 Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 05. Okt. 2010 20:10 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
Hallo BX-8017, Du benutzt das falsche Law (Dieses Law dient zur Erzeugung von Kurven). Das richtige Icon ist im Workbench "Knowledge Advisor", siehe Bild. Zweitens musst Du die Anweisungen in geschweifte Klammern schreiben {} Drittens musst Du in der Bedingung (Zeile mit "if" ein doppeltes == schreiben, weil das ein Vergleichsoperator sein muss. ------------------ Gruß Mörchen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Konstrukt1352 Mitglied

 Beiträge: 30 Registriert: 28.09.2010 CATIA V5R19 Windows XP 32-bit 4 GB RAM 64GB SSD GTS 250 SpaceNavigator
|
erstellt am: 06. Okt. 2010 12:21 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
Hallo zusammen. Korrigiert mich wenn ich falsch liege, aber KWA brauche ich für so etwas doch nicht wirklich, oder? Ich habe es bei mir lokal getestet und bin mit Erfolg so vorgegangen: 1. Parameter "alpha" mit Typ "Grad" angelegt 2. Parameter "P" ebenfalls mit Typ "Grad" angelegt 3. Regel erstellt mit 2 reellen Parametern und dem Inhalt: if (`FormalReelle Zahl.2` < 20) { `FormalReelle Zahl.3` = 4*`FormalReelle Zahl.2` } else { `FormalReelle Zahl.3` = 10*`FormalReelle Zahl.2` } 4. Formel erstellt für Parameter "P" mit folgendem Inhalt: P= Beziehungen/Regel1.Evaluate(alpha / 1deg) * 1deg Das wars. Sobald ich den Wert von "alpha" ändere, passt sich der Wert von "P" dynamisch daran an. Ist "alpha" z.B. 10deg ist P in diesem Fall 40deg. Ist "alpha" z.B. 22deg ist "P" automatisch 220deg. Ist das so ungefähr das, was du wolltest? Oder habe ich die Frage nicht richtig verstanden? Viele Grüße, Konstrukt [Diese Nachricht wurde von Konstrukt1352 am 06. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 06. Okt. 2010 12:55 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
Servus Konstrukt Danke, so geht es auch ohne KWA (Erinnert mich irgendwie an den Lösungsansatz von CEROG). 10 Us sind unterwegs. Gruß Bernd
------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Konstrukt1352 Mitglied

 Beiträge: 30 Registriert: 28.09.2010 CATIA V5R19 Windows XP 32-bit 4 GB RAM 64GB SSD GTS 250 SpaceNavigator
|
erstellt am: 06. Okt. 2010 13:03 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
|
BX-8017 Mitglied

 Beiträge: 93 Registriert: 14.10.2005
|
erstellt am: 06. Okt. 2010 18:31 <-- editieren / zitieren --> Unities abgeben:         
Hallo Konstrukt 1352. Jou, das hört sich gut an. Bin leider im Moment etwas im Stress. Wenn ich wieder da ran gehe, gebe ich dir auf jeden Fall Rückmeldung. Wo macht man jetzt bei deinem Weg diese if Abfrage genau. Im Formeleditor, Laweditor. Das habe ich noch nicht kappiert Danke und Grüße BX-8017 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Konstrukt1352 Mitglied

 Beiträge: 30 Registriert: 28.09.2010 CATIA V5R19 Windows XP 32-bit 4 GB RAM 64GB SSD GTS 250 SpaceNavigator
|
erstellt am: 11. Okt. 2010 07:40 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
Hallo nochmal, also, den ersten Teil ("Parameter "alpha" mit Typ "Grad" anlegen" und "Parameter "P" ebenfalls mit Typ "Grad" anlegen") über "Tools" -> "Formel" -> "Neuer Parameter des Typs...". Die Regel erstellst du im Regeleditor (siehe Bild im Anhang) und die abschließende Formel wieder unter "Tools" -> "Formel", allerdings wählst du dort dann "P" aus und klickst auf "Formel hinzufügen". Das wars auch schon. Ja, über Feedback würde ich mich freuen, andere vielleicht auch, ist ja doch ein Problem auf das man ab und an stößt.
------------------ Viele Grüße, Konstrukt Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
shoutz000 Mitglied Techn. Produktdesigner
 
 Beiträge: 168 Registriert: 19.08.2013 CatiaV5 R19 CatiaV5 R24 Windows 7 Professional
|
erstellt am: 14. Jun. 2015 14:35 <-- editieren / zitieren --> Unities abgeben:          Nur für BX-8017
Servus, bei mir geht es um eine Blechabwicklung die automatisch berechnet werden soll. Das mit dem Law hat auch wunderbar funktioniert. In dem Part sind alle relevanten Parameter (Blechdicke, Radius usw) übergeben tu ich den Winkel (Formel bei >90° ist anderst als bei Winkel <=90°). In dem Law wird gesteuert welche Formel verwendet wird. Die Ergebnise stimmen immer, ändere ich aber nun einen Parameter dann zeigt der gesteuerte Parameter und die Formel nur den Updatewirbel an. Wenn man das manuell immer updaten muss dann ist das aber eine sehr große Fehlerquelle! Ist es normal dass sich dies nicht automatisch updatete? Automatisches Update im Part ist jedoch eingestellt?!
[Diese Nachricht wurde von shoutz000 am 14. Jun. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |