Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  If Abfrage in der LAW

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:  If Abfrage in der LAW (1836 / mal gelesen)
timmyd
Mitglied
Student

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

Beiträge: 6
Registriert: 11.05.2017

HP z400, windows 7

erstellt am: 10. Aug. 2017 17:48    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


LAW.PNG

 
Hallo Zusammen,

ich versuche für meine BA eine If Abfrage in meine Konstruktion einzubringen (ohne KWA Lizenz) und habe mich dabei unter anderem an folgende Forumsbeiträgen orientiert:
http://ww3.cad.de/foren/ubb/Forum139/HTML/002967.shtml
http://ww3.cad.de/foren/ubb/Forum137/HTML/003052.shtml#000009

mein erster Versuch sah so aus

if (`Anzahl Schichten`==3)
{
`Stege Richtung 1`=1
`Stege Richtung 2`=1
}

else if (`Anzahl Schichten`==4)
{
`Stege Richtung 1`=1
`Stege Richtung 2`=2
}

else if (`Anzahl Schichten`==5)
{
`Stege Richtung 1`=2
`Stege Richtung 2`=2
}

else if (`Anzahl Schichten`==6)
{
`Stege Richtung 1`=2
`Stege Richtung 2`=3
}

else if (`Anzahl Schichten`==7)
{
`Stege Richtung 1`=3
`Stege Richtung 2`=3
}

else if (`Anzahl Schichten`==8)
{
`Stege Richtung 1`=3
`Stege Richtung 2`=4
}

else if (`Anzahl Schichten`==9)
{
`Stege Richtung 1`=4
`Stege Richtung 2`=4
}

nachdem ich die Meldung bekam, dass die Law nur einen Parameter berechnen kann habe ich das ganze aufgeteilt in zwei Laws. Der eine davon sah dann so aus:

if (`Anzahl Schichten`==3)
{
`Relations\Stege Richtung 1`=1
}

else if (`Anzahl Schichten`==4)
{
`Relations\Stege Richtung 1`=1
}

else if (`Anzahl Schichten`==5)
{
`Relations\Stege Richtung 1`=2
}

else if (`Anzahl Schichten`==6)
{
`Relations\Stege Richtung 1`=2
}

else if (`Anzahl Schichten`==7)
{
`Relations\Stege Richtung 1`=3
}

else if (`Anzahl Schichten`==8)
{
`Relations\Stege Richtung 1`=3
}

else if (`Anzahl Schichten`==9)
{
`Relations\Stege Richtung 1`=4
}

jetzt kriege ich immer die Nachricht, dass es nur einen Formalen Parameter als input geben darf?!?! Der wäre bei mir doch 'Anzahl Schichten'? Wie ihr im Anhang links, sehen könnt ist der Parameter 'Anzahl Schichten' vorhanden und vom Type=Real - er steht aber nicht in der Box mit der Überschrift "Formal Parameters" rechts im Bild. liegt es da dran? die Zwei Parameter die in der Box stehen hatte ich im Law editor erschaffen, weshalb sie dort auch zu sehen sind, den Parameter 'Anzahl Schichten' hatte ich jedoch schon viel früher erschaffen... liegt es vllt daran, dass 'Anzahl Schichten' kein "Formaler Parameter" ist?
Was ist überhaupt ein "Formaler" parameter?
Ich habe danach mal einen weiteren Formalen Parameter erstellt mit dem ich dann 'Anzahl Schichten' ersetzt hätte, dann kriege ich keine Fehlermeldung mehr, jedoch taucht keiner der drei erstellten Parameter im Baum auf und von dort will ich ja die Geometrie meines Models steuern....
Und was mache ich hier Falsch     

Vielen Dank im Vorraus,
Timmy

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: 10. Aug. 2017 18: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 timmyd 10 Unities + Antwort hilfreich

Servus Timmy

Eine Fog ist quasi eine mathematische Funktion (f(x)) die bei der Übergabe eines Inputwertes einen Ausgabewert zurück liefert.
Der Input wird dabei über eine Formel mit der Methode Evaluate übergaben (siehe auch Bild in diesem Beitrag).
Deine Fog müsste etwa so aussehn:

Code:
if (InputFormal==3)
{
FormalAnzahlStege1 = 1
}
else
{
FormalAnzahlStege1 = 2
}
Die Formel die die fog aufruft etwa:
Code:
Stege Richtung 1 = Stegschichten.1->Evaluate('Anzahl Schichten')
Wahrscheinlich ist dies aber mit einer Konstruktionstabelle einfacher.

Gruß
Bernd

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

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. Aug. 2017 13:03    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 timmyd 10 Unities + Antwort hilfreich


KWA_Formel_AnzahlStege.png

 
Servus
Ich hab mir nochmal deine Werte angeschaut.
Du könntest dies doch einfach über zwei Formeln ermitteln (siehe Bild).

Gruß
Bernd

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

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

timmyd
Mitglied
Student

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

Beiträge: 6
Registriert: 11.05.2017

HP z400, windows 7

erstellt am: 11. Aug. 2017 15:01    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

Vielen Dank für deine Mühe Bernd!

Ein Kollege hat mir eben eine Lösung erklärt bei dem man einen Parameter als Interger definiert. Ich nehme an, dass das deiner Lösung sehr ähnelt da ja bei beiden ein Wert aufgerundet wird.

Leider kannte ich vorher weder die ceiling Funktion noch den Interger, aber so hab ich wieder was gelernt 

Danke!

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