Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Syntax von if-Abfragen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Syntax von if-Abfragen (12015 mal gelesen)
Zapatito
Mitglied



Sehen Sie sich das Profil von Zapatito an!   Senden Sie eine Private Message an Zapatito  Schreiben Sie einen Gästebucheintrag für Zapatito

Beiträge: 13
Registriert: 24.11.2008

erstellt am: 26. Nov. 2008 16:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Ich möchte gerne eine Fläche abhängig von der Größe eines Paramters aktivieren/deaktivieren, bekomme im Regeleditor aber ständig Syntax-Fehlermeldungen.

Könnt ihr mir mal ne korrekte Beispielsyntax für eine Abfrage in dem Stil:

if (Paramter1 <= 0,1) { Parameter2 = Unwahr}

posten?

Bitte habt Nachsicht, dass das eine etwas popelige Frage ist, aber mein Buch gibt in der Richtung nix her und im Forum hab ich leider auch keine passende Antwort gefunden.

Danke,
Stefan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

logan
Mitglied
MSc Distributed Computing Systems Engineering Dipl.-Ing. (FH) Softwaretechnik


Sehen Sie sich das Profil von logan an!   Senden Sie eine Private Message an logan  Schreiben Sie einen Gästebucheintrag für logan

Beiträge: 111
Registriert: 07.02.2005

NX 8.0.1.5
WinXP 32 Bit / WinXP 64 Bit
Dell Precision M4500 / HP Z400
4GB / 12GB
Nvidia Quadro 512MB / Nvidia Quadro 4000

erstellt am: 26. Nov. 2008 17:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Hallo Zapatito,

falls Parameter1 vom Typ Länge (Length) ist, solltest Du 0,1mm schreiben. Punkt/Komma bei Dezimalzahlen kann auch zu Problemen führen.

Habe leider gerade kein CATIA V5 zur Hand.

Viele Grüße,
Logan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAMiCADse
Mitglied



Sehen Sie sich das Profil von CAMiCADse an!   Senden Sie eine Private Message an CAMiCADse  Schreiben Sie einen Gästebucheintrag für CAMiCADse

Beiträge: 177
Registriert: 17.02.2006

V5,R19,SP9

erstellt am: 26. Nov. 2008 20:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Hallo Zapatito,

kurz&knapp:
Rule-Editor öffnen -> Fragezeichen rechts-oben anwählen -> Maus in das Editor-Fenster bewegen-> linke Maustaste drücken -> lesen

Gruß
CAMiCADse

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

denyo_1
Moderator
Manager


Sehen Sie sich das Profil von denyo_1 an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 27. Nov. 2008 08:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich


fehlerhafter_Syntax.jpg

 
Hallo,

das liegt eindeutig am dem Parameter "Unwahr". Obwohl du wahrscheinlich eine deutsche Sprachumgebung hast heißt di einterne Bezeichnung für einen booleschen Paramter "false". "Unwahr" wir IMHOIn my humble oppinion (Meiner Meinung nach) als String betrachtet. Das führt unweigerlich zu einem Syntax-Fehler.

Man kann sich die Syntaxfehler in einer Rule auch anzeigen lassen (siehe Screenshots)
Beispiel:

Code:

if ( `Hauptkörper\Skizze.7\Länge.23\Länge` > 80mm)
{`Geometrisches Set.1\Ebene.1\Aktivität` = false }

Edit: Bild eingefügt.
------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

[Diese Nachricht wurde von denyo_1 am 27. Nov. 2008 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Zapatito
Mitglied



Sehen Sie sich das Profil von Zapatito an!   Senden Sie eine Private Message an Zapatito  Schreiben Sie einen Gästebucheintrag für Zapatito

Beiträge: 13
Registriert: 24.11.2008

erstellt am: 27. Nov. 2008 10:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen!

Danke für Eure Antworten.

LEIDER spuckt mir der Editor immernoch Syntaxfehler vor die Füße.

Hier der Code:
if ( `Geometrisches Set.1\Skizze.16\Länge.45\Länge` < 0,01mm )
{`Geometrisches Set.2\Rotieren.1\Aktivität` = false}

und hier der Fehler: Syntaxfehler in Zeile 1: ungültige Struktur: syntax error (Annäherungsschlüsselwort: < , > )

@Logan: Habe Punkt und Komma probiert, keine Verbesserung.

Grüße,

Stefan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 27. Nov. 2008 10:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Servus
Gemäß Fehlermeldung ist aber das Komma das Problem: In Fomeln immer "." verwenden.
Bist du im "normalen" Formeleditor oder bearbeitest du eine Rule?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Zapatito
Mitglied



Sehen Sie sich das Profil von Zapatito an!   Senden Sie eine Private Message an Zapatito  Schreiben Sie einen Gästebucheintrag für Zapatito

Beiträge: 13
Registriert: 24.11.2008

erstellt am: 27. Nov. 2008 10:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Im Regeleditor. Über den "fog"-Button...
Wenn ich das Komma in einen Punkt änder, bekomme ich die Fehlermeldung:

"Syntaxwarnung: Eine Regel darf nur einen formalen Parameter berechnen."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 27. Nov. 2008 10:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Servus
AFAIKAs far as i know (So viel ich weiss) kann man im Regeleditor (fog) keine if Schleifen bilden. geht nur mit einem Rule (KW-Lizenz erforderlich)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Zapatito
Mitglied



Sehen Sie sich das Profil von Zapatito an!   Senden Sie eine Private Message an Zapatito  Schreiben Sie einen Gästebucheintrag für Zapatito

Beiträge: 13
Registriert: 24.11.2008

erstellt am: 27. Nov. 2008 10:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Thx, dann kann ich ja aufhören mir nen Wolf zu probieren... 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied



Sehen Sie sich das Profil von  an!

Beiträge: 4755
Registriert: 27.09.2000

Dell precision M4300, 4GB Arbeitsspeicher
NVidia FX360M
Windows XP professional SP3
CATIA V5 R16SP9, R17SP8, R18SP8, R19SP4
Adobe Acrobat 8
Linux: Ubuntu 8.04LTS

erstellt am: 27. Nov. 2008 17:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Hallo zusammen,

Zitat:
Original erstellt von bgrittmann:

AFAIK kann man im Regeleditor (fog) keine if Schleifen bilden. geht nur mit einem Rule (KW-Lizenz erforderlich)

Damit liegst du leider etwas daneben. Auch wenn viele den Eindruck haben.

Ich habe in einem Bauteil sowas:

if (FormalSchenkelLaenge< 100mm){FormalLochabstand=10}
else {FormalLochabstand=15}

Diese Rule wird mit einer Formel ausgewertet, die die Verknüpfung zwischen der Rule und dem Bauteil herstellt.

Die Formel sieht dann so aus:

Lochabstand_horizontal=`Relations\Relations.Umschaltung_Lochabstände\Auswertung_Schenkellaengen`.Evaluate(Laenge_Schenkel_vertikal/1mm) * 1mm

Damit schalte ich zwischen zwei Lochabständen um.

Die formalen Parameter sind interne Parameter in der Rule, die dort erzeugt werden und wie Variablen wirken.

Ich habe (noch) keine KWA-Lizenz.

Viele Grüße,

CEROG

------------------
Meine Firma  |  Website zum Buch Technisches Zeichnen mit CATIA V5

Wie stelle ich meine Fragen richtig?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 27. Nov. 2008 18:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Servus
Wieder was dazu gelernt: 10Us sind unterwegs.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

denyo_1
Moderator
Manager


Sehen Sie sich das Profil von denyo_1 an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 28. Nov. 2008 08:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Hallo,

@Bernd: i aggree 

@CEROG: Danke für die gute Erklärung 10 U´s sind unterwegs

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

martin2
Mitglied
Konstrukteur


Sehen Sie sich das Profil von martin2 an!   Senden Sie eine Private Message an martin2  Schreiben Sie einen Gästebucheintrag für martin2

Beiträge: 941
Registriert: 05.2002.27

erstellt am: 10. Dez. 2008 11:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Hallo!

@CEROG: Könntest Du bitte mal ein kleines Beispielpart hier veröffentlichen - ich komm damit nämlich noch nicht ganz klar.

P.S. Bitte mit R16 oder früher erstellt - sonst hab ich wieder andere Probleme...

Danke schon mal im voraus!!!

Gruß
Martin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

denyo_1
Moderator
Manager


Sehen Sie sich das Profil von denyo_1 an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 10. Dez. 2008 11:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich


SteuerungmitFOG.zip

 
Hallo Martin,

hier mal ein ganz einfaches Part (R16), das die Vorgehensweise verdeutlichen soll. Das Problem ist meiner Meinung nach, das man mit Evaluate nur reelle Zahlen in die Regel übergeben kann. D.h. man kann sich keinen Textparameter mit mehreren Werten (z.B. klein, mittel, groß) definieren und diesen auswerten lassen. Aber mit 1, 2, 3 funktioniert es auch. Dann sollte man es halt in den Commant reinschreiben damit der Anwender auch weiß was er tut 

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

martin2
Mitglied
Konstrukteur


Sehen Sie sich das Profil von martin2 an!   Senden Sie eine Private Message an martin2  Schreiben Sie einen Gästebucheintrag für martin2

Beiträge: 941
Registriert: 05.2002.27

erstellt am: 10. Dez. 2008 13:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Hallo!
Ich hab jetzt rumprobiert und es auch lauffähig hinbekommen.

Eine Frage hab ich aber noch: Wie ist Vorgehensweise bei der Erzeugung der Parameter?

Ich hab jetzt:
a) einen Parameter (Typ: Reelle Zahl, Name: Steuerungsparameter) erstellt
b) die Regel (fog) erstellt
c) bei der Bohrung "Formel bearbeiten" gemacht.

Ist das ok so - oder kann der Parameter auch direkt in der Regel (fog) erstellt werden? Falls ich das so mache, erscheint aber kein Paramter im Strukturbaum.

P.S. Danke für den Anhang!

Gruß Martin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

denyo_1
Moderator
Manager


Sehen Sie sich das Profil von denyo_1 an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 10. Dez. 2008 13:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Hallo Martin,

ja die Vorgehensweise ist die richtige. Innerhalb der Regel kannst du keine "globalen" Parameter definieren (erstellen) denn alle Parameter die du im rechten Feld der Regel erstellst, sind formale Parameter die nur innerhalb der Regel selber existieren.

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

martin2
Mitglied
Konstrukteur


Sehen Sie sich das Profil von martin2 an!   Senden Sie eine Private Message an martin2  Schreiben Sie einen Gästebucheintrag für martin2

Beiträge: 941
Registriert: 05.2002.27

erstellt am: 10. Dez. 2008 14:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Hallo!
Danke für die Info!

Was mir da etwas komisch erscheint, das man den formalen Parameter in der Regel mit dem globalen Parameter ausserhalb der Regel steuern kann. Und das offensichtlich nur dadurch, das der Name gleich ist...

Gruß Martin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied



Sehen Sie sich das Profil von  an!

Beiträge: 4755
Registriert: 27.09.2000

Dell precision M4300, 4GB Arbeitsspeicher
NVidia FX360M
Windows XP professional SP3
CATIA V5 R16SP9, R17SP8, R18SP8, R19SP4
Adobe Acrobat 8
Linux: Ubuntu 8.04LTS

erstellt am: 10. Dez. 2008 18:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Hallo Martin,

die formalen Parameter scheinen wie Variablen zu wirken. Mein Beispielpart ist mit R18 erstellt.

Was die Laws angeht: Ich habe das Gefühl, da steckt noch sehr viel mehr drin, als es den Anschein hat, wenn man in die Online-Doku schaut.

Es gibt da für mich noch einiges auszutesten: Direkter Zugriff auf Parameter, um einen anderen in Abbhängigkeit davon zu veränndern. Irgendwie kann man auch direkt auf Features zugreifen. Es sieht zumindest danach aus.

Mal sehen, was ich noch finde.

Viele Grüße,

CEROG

------------------
Meine Firma  |  Website zum Buch Technisches Zeichnen mit CATIA V5

Wie stelle ich meine Fragen richtig?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CATIA-V5-User
Mitglied



Sehen Sie sich das Profil von CATIA-V5-User an!   Senden Sie eine Private Message an CATIA-V5-User  Schreiben Sie einen Gästebucheintrag für CATIA-V5-User

Beiträge: 14
Registriert: 15.10.2009

erstellt am: 06. Aug. 2013 15:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Zitat:
Hallo zusammen,

    Zitat:Original erstellt von bgrittmann:

    AFAIK kann man im Regeleditor (fog) keine if Schleifen bilden. geht nur mit einem Rule (KW-Lizenz erforderlich)

Damit liegst du leider etwas daneben. Auch wenn viele den Eindruck haben.

Ich habe in einem Bauteil sowas:

if (FormalSchenkelLaenge< 100mm){FormalLochabstand=10}
else {FormalLochabstand=15}

Diese Rule wird mit einer Formel ausgewertet, die die Verknüpfung zwischen der Rule und dem Bauteil herstellt.

Die Formel sieht dann so aus:

Lochabstand_horizontal=`Relations\Relations.Umschaltung_Lochabstände\Auswertung_Schenkellaengen`.Evaluate(Laenge_Schenkel_vertikal/1mm) * 1mm

Damit schalte ich zwischen zwei Lochabständen um.

Die formalen Parameter sind interne Parameter in der Rule, die dort erzeugt werden und wie Variablen wirken.

Ich habe (noch) keine KWA-Lizenz.

Viele Grüße,

CEROG



Hallo CEROG,

ich bin auf der Suche nach einer Möglichkeit unter bestimmten Bedingungen unterschiedliche Formeln anzusteuern, auf deinen Beitrag gestoßen.

Diese habe ich versucht nachzustellen um sie nachvollziehen zu können. Ich denke dass ich sie weitestgehend nachvollziehen konnte,
bis auf einen Teil:

Relations.Umschaltung_Lochabstände

in

Lochabstand_horizontal=`Relations\Relations.Umschaltung_Lochabstände\Auswertung_Schenkellaengen`.Evaluate(Laenge_Schenkel_vertikal/1mm) * 1mm

- Die Evolutionsregel habe ich erstellt.
- Die entsprechenden Parameter inkl. Verknüpfungen ebenfalls.

Was ich nicht hinbekomme ist die Verknüpfung zwischen der Evolutionsregel (fog) und dem Bauteil.

Kannst du mir hier auf die Sprünge helfen?

Viele Grüße,
CATIA-V5-User

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tim2007
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Tim2007 an!   Senden Sie eine Private Message an Tim2007  Schreiben Sie einen Gästebucheintrag für Tim2007

Beiträge: 143
Registriert: 02.01.2007

Catia V5R19SP3 XP64<P>"Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean." Sir Isaac Newton

erstellt am: 11. Feb. 2015 14:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Hallo zusammen,

wollte das gerade testen, geht auch, jedoch kann ich meine Parameter - welche ich im fog erstellt habe - nicht im Baum sehen.
Ebenso kann ich keine Parameter von außerhalb des Fog verwenden.
Irgendwelche Lösungen?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 11. Feb. 2015 17:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Servus
Mit einer fog ist das auch so von Dassault gewollt.
Schau mal hier diese Beschreibung (und Forensuche zB hier) zu Konstruktionsregeln an.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tim2007
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Tim2007 an!   Senden Sie eine Private Message an Tim2007  Schreiben Sie einen Gästebucheintrag für Tim2007

Beiträge: 143
Registriert: 02.01.2007

Catia V5R19SP3 XP64<P>"Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean." Sir Isaac Newton

erstellt am: 12. Feb. 2015 09:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Hallo Bernd,

danke für den Link.
Ich habe das genauso verwendet, habe jedoch das Porblem, das die Parameter FormalSchenkellaenge und FormalLochabstand nur Formale Parameter sind, welche ich auch nur innerhalb des LAWs sehen und anfassen kann. Diese sind nicht im Part-Baum sichtbar und können auch nicht beim erstellen neuer Parameter gesichtet werden.

Ist das ab einer bestimmten Version blockiert worden?

Nachtrag:
Ok, mit Relations\Law.1 ->Evaluate(Parameter ) definierst du den "Baumparameter" als input für die "LAW-Parameter" und als Ergebnis dient die Funktion an sich selbst.
Da muss man mal drauf kommen.

Danke dir.

[Diese Nachricht wurde von Tim2007 am 12. Feb. 2015 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CharPainter
Mitglied
CAD

Sehen Sie sich das Profil von CharPainter an!   Senden Sie eine Private Message an CharPainter  Schreiben Sie einen Gästebucheintrag für CharPainter

Beiträge: 9
Registriert: 16.11.2012

Catia V5 R24 SP1
Windows 7 Prof. 64-bit
16GB RAM
NVIDIA Quadro 2000

erstellt am: 12. Jan. 2016 14:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Zapatito 10 Unities + Antwort hilfreich

Hallo liebe Community!

Ich hatte mich auch schon mal vor geraumer Zeit kurzzeitig mit der Regelerstellung beschäftigt. Bin damals aber auch nicht sehr weit gekommen.
Aktuell habe ich das vorhaben, unsere CAD-Vorlagen in der Firma zu aktualisieren und auch zu überarbeiten.

Bei einer Vorlage zur Aufnahme eines Blechteils ist es nun so, dass ich hier auch gerne wieder alles über Parameter steuern möchte, d.h. man lädt sich die Vorlage in seine Konstruktion, platziert diese über vorgegebene Geometrien und füllt eine Hand voll Parameter aus und die Aufnahme entspricht dem wie es sein soll. Nun ist es so, dass ich die Höhe der Aufnahme steuern möchte. Und zwar darf diese nur immer so hoch sein wie die Blechstärke abzüglich der Minustoleranz der Blechstärke aber jedoch mindestens 1mm. Falls letzteres der Fall ist (mindestens 1mm) muss an einem anderen Part (Klemmstecker) eine Aussparung eingebracht werden. Dies steuere ich ebenfalls über Parameter mit true/false.
Mein Problem ist nun, dass ich die Regel zur Steuerung der Aufnahmenhöhe nicht realisiert bekomme.
Ich hatte mir das in etwa so gedacht:

if ('Höhe_Raute'>=1mm)
{`Buchse_TZ 1\TZ\Block.1\Begrenzung1\Länge`='Höhe_Raute'}
else
{`Buchse_TZ 1\TZ\Block.1\Begrenzung1\Länge`=1mm}

Der Parameter 'Höhe_Raute' berechnet sich aus den Parametern 'Blechstärke' minus 'Minustoleranz_Blech', welche man händisch eingeben muss.

Eine weitere Regel über die Steuerung der Aussparung im Klemmstecker werde ich dann wohl auch noch erstellen müssen, aber eins nach dem anderen...

Ich hoffe, hier werde ich geholfen...eine KWA-Lizenz liegt mir leider nicht vor. Hoffe meine Spinnereien können über "fog" realisiert werden.

Danke schon mal für eure Unterstützung!

Greetz Michel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz