Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Parameter größer als anderer Parameter

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:  Parameter größer als anderer Parameter (2560 mal gelesen)
ichroque13
Mitglied


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

Beiträge: 7
Registriert: 14.10.2008

erstellt am: 14. Okt. 2008 14:52    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!
Arbeite seit 4 Wochen in meinem Praktikum mit catia, ihr könnt mir bestimmt helfen. folgendes:
durch eingabe verschiedener Parameter entsteht eine Kabine. Anhand mehrerer zusammenaddierter Parameter entsteht ein weiteres Kettenmaß als Paramter y. Ein weiterer Parameter x den man eingibt darf dann nicht kleiner sein als dieser errechnete Parameter y da sonst gewisse Abstände nicht eingehalten werden. Ich will dem catia jetzt irgendwie klarmachen dass der einzugebende Parameter x auf jeden fall größer gleich dem errechneten Parameter y sein muss. man kann ja bei den parametern Wertebereiche festlegen, nur leider bringt mir das nichts weil dei sich nicht flexibel mit den parametern ändern und man nur feste werte angeben kann. dieser Bereich müsste sich aber mit den Parametern ändern.
hoff habs versdtändlich erklärt und jemand kann mir helfen. bitteeee

Danke und Grüße

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

Bertel
Mitglied



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

Beiträge: 300
Registriert: 03.04.2002

CATIA V5 R26SP3HF21
Win10
Lenovo P52
Intel Xenon 16GB Ram
NVIDIA Quadro P2000
EUKLID V14
ViCADo 2015

erstellt am: 14. Okt. 2008 15:07    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 ichroque13 10 Unities + Antwort hilfreich

Hallo ichroque13,

willkommen in Forum.

Am einfachsten ist es, wenn du als Parameter x nur die Differenz eingibst (>= 0) und den dann zu y addierst.
Falls das nich gewünscht ist, mußt du eine Regel einfügen.
Dazu brauchst du eine KWA-Lizenz (die ich leider nicht habe).

Gruß
Bertel

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

ichroque13
Mitglied


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

Beiträge: 7
Registriert: 14.10.2008

erstellt am: 14. Okt. 2008 15: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

ja so weit bin ich jetz auch das es wohl nur mit einer KWA-Lizenz geht. wir haben die sogar, aber wie läuft das da? brauchg dringend Hilfe!

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

Mörchen
Ehrenmitglied V.I.P. h.c.
CAD-Trainerin (CATIA V5)



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

Beiträge: 3830
Registriert: 14.03.2007

Release 19 SP2

erstellt am: 14. Okt. 2008 15: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 ichroque13 10 Unities + Antwort hilfreich

Hallo chroque13,

vielleicht bringt dich eine Maximumformel weiter:

Parameter_x = max(Parameter_y,Benutzerparameter)

Ich denk mir das so:
Du führst einen Parameter Typ Länge ein, dort kann der Benutzer einen beliebiegen wert eingeben.
Der Parameter_x wird durch die obige Formel gesteuert:
Gibt der Benutzer einen Wert ein, der größer ist als y, wird dieser für x verwendet. anderenfalls wird automatisch y zugewiesen.

gruß
Mörchen

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: 14. Okt. 2008 16: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 ichroque13 10 Unities + Antwort hilfreich


KWAParametervergleich.jpg

 
Hallo ichroque13,

sowas macht man wie schon erwähnt mit der KWA Lizenz (Knowledge Editor). Hier kann man einen Check definieren. Dieser Check fragt die eingegebenen Werte ab und bringt eine Fehlermeldung falls der X-Wert kleiner ist als der Y-Wert

ABER: Es ist halt nur ein Check. Sprich der Wert wird falls du es so machst trotzdem für den x-Parameter übernommen und somit könnte es immer noch zu Fehler kommen.

Ich würde das ganze mit einer "Reaction" machen. Jedes mal wenn der y-Wert geändert wird, soll die Untergrenze des X-Werts neu bestimmt werden. Hierbei gibt es dann die typische Fehlermeldung die du ja schon kennst und der Wert bleibt bei einer falschen Eingabe auf "0" stehen. Das ist dann ein bisschen offensichtlicher für die Anwender.

Dazu braucht du eine Script welches ausgeführt werden soll sobald sich der Wert ändert und die Reaction selber. Ich habe dir mal einen Screenshot gemacht. Ich hoffe du bekommst es hin ansonsten einfach nochmal melden.

Dabei könntest du deinen Sytsteminfo ausfüllen

Hier jetzt zu guter letzt der Code der dir die Untergrenze deines Parameters ändert (Wie schon Screenshot erwähnt müsst du noch die Namen deiner Parameter im Script anpassen):

Code:

Sub main

Set oDoc = CATIA.ActiveDocument
Set oProd = oDoc.Product
Set oParam = oProd.Parameters
Set oLenghtX = oParam.Item("Grosser Wert (x)")
Set oLenghtY = oParam.Item("Kleiner Wert (y)")

oLenghtX.RangeMinValidity = 1
oLenghtX.RangeMin = oLenghtY.Value
oLenghtX.RangeMaxValidity = 0

End sub


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

Die KATJA ist halt doch nur ne zickige Französin

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

ichroque13
Mitglied


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

Beiträge: 7
Registriert: 14.10.2008

erstellt am: 14. Okt. 2008 17: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

Hallo Daniel!
ja das hört sich doch sehr gut an was du da schreibst!
also die check-variante wäre es auf jeden fall ausreichend, das mit der reaction wäre natürlich ideal!!
kann es leider erst morgen testen da da erst die lizenz frei wird.
kann sein dass ich mich nochmal melde bzw. du kannst wohl sicher davon ausgehn...:-)
aber schonmal danke, is genau was ich brauch!

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: 14. Okt. 2008 17: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 ichroque13 10 Unities + Antwort hilfreich

Hallo,

bin morgen leider auf Dienstreise kann also nicht sofort antworten. Spätestens am Abned bekommst du aber Antworten auf deine Fragen. Falls du nicht weiter kommst dann nicht gleich verzweifeln und auch mal die F1 Taste drücken 

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

Die KATJA ist halt doch nur ne zickige Französin

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

ichroque13
Mitglied


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

Beiträge: 7
Registriert: 14.10.2008

erstellt am: 15. Okt. 2008 15: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

Hallo Daniel!
folgende Probleme:
das mit dem Wert 0 hat irgendwie nicht geklappt. auch muss der Eingabewert x größer gleich und nicht größer als y sein.
aber das is jetz nicht so wichtig, der projektleiter will es nun doch anders, dafür brauch man denk auch ne reaction..:

Sobald der x-wert durch ändern eines kettenmaßes unter den y-wert fällt, soll x- dem y-wert angepasst werden. dies soll aber mit einer meldung erfolgen! also nicht das einfach  der x-wert geändert wird und der bediener bekommt es gar nicht mit!
is das möglich??
hab es noch zusätzlich mit ner ampel gemacht,diese hat dann einfach bei x<y auf rot geschaltet. die lösung fand ich eigentlich nicht schlecht, aber nur ich halt...:-)

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: 15. Okt. 2008 17: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 ichroque13 10 Unities + Antwort hilfreich


Parameter_anpssen_1.jpg


Parameter_anpssen_2.jpg


Parameter_anpssen_3.jpg

 
Hallo,

zuerst mal zu dem Wert 0. Meinst du den Wert hinter oLenghtX.RangeMaxValidity. Das ist eigentlich kein Wert sondern stellt eine Art boolesche Variable dar. 0 steht für false und 1 für true. Hier wird nur angegeben welche Grenzen der Wert hat. Hier wird die Obergrenze (RangeMax) auf nichts gesetzt. Sie ist also deaktiviert.

Jetzt zu deinem Problem. Die Lösung mit der Check ist schon nicht ganz schlecht aber funktioniert leider in deinem Fall nicht. Du brauchst zum einen den Check der die Warnmeldung an den Anwender bereitstellt und zum anderen brauchst du eine Rule die den kleineren X-Wert an den Y-Wert angleicht. Hierbei tritt aber ein Konflikt auf. Die Rule ändert den Wert, der Check reagiert. Dazwischen baust du dir quasi eine Ringbeziehung auf die von CATIA nicht akzeptiert wird (Ringschleife).

Falls du aber dennoch mal einen Check braucht und das Ergebniss nicht nur an der Ampel sehen willst musst du in der Check-Definition den "typ of check" von "Silent" auf "Warning" stellen und anschließend links daneben ("Message") einen Text eingeben. Sobald der Check "ungültig" ist, poppt die Warnmeldung auf und kann vom Anwender nur mit einem OK bestätigt werden (siehe Screenshot 1)

Jetzt aber wirklich zur Lösung des Problems. In deinem Fall brauchst du eine "Reaction" da du damit erstens die Warnmeldung und zweitens das Ändern des Wertes erschlagen kannst. Hierzu musst du im Gegensatz zur ersten "Reaction" BEIDE Werte überwachen. Dazu einfach wie folgt vorgehen. Erst in die KWA Workbench welchseln, dann auf die Reaction klicken, dann die beiden zu überwachenden Werte im Strukturbaum anklicken, sodass sie im oberen Bereich stehen. (siehe Screenshot 2).

Ich habe das Script jetzt nochmal angepasst und in R18 getestet. Bei mir läuft es einwandfrei. Musst halt wie immer die Namen der Parameter im Script auf deinen Names anpassen.

Im 3. Screenshot siehst du mal wie es aussehen soll falls ein Anwender entweder für X einen kleiner Wert eingibt wie für Y oder sich der Y-Wert im Laufe der Konstruktion ändert und der X-Wert deswegen kleiner wird als der Y-Wert (könnte ja auch sein).

Hier ist der Code den du dann noch reinkopieren musst:

Code:

Sub main

Set oDoc = CATIA.ActiveDocument
Set oProd = oDoc.Product
Set oParam = oProd.Parameters
Set oLenghtX = oParam.Item("Grosser Wert (x)")
Set oLenghtY = oParam.Item("Kleiner Wert (y)")

If oLenghtX.Value < oLenghtY.Value Then
    Box = MsgBox("Der X-Wert ist kleiner als der Y-Wert" + Chr(10) + "Der X-Wert wird nun an den Y-Wert angepasst", vbCritical + vbOKOnly, "X-Wert kleiner als Y-Wert")
    oLenghtX.Value = oLenghtY.Value
End If

End sub


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

Die KATJA ist halt doch nur ne zickige Französin

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

ichroque13
Mitglied


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

Beiträge: 7
Registriert: 14.10.2008

erstellt am: 16. Okt. 2008 08:19    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

Morgen Daniel!

also das was du mit ampel und meldung schreibst hab ich gestern schonmal so hinbekommen,wäre zur not als lösung auch ok.
aber ich probier natürlich das mit der reaction, wäte so ideal. leider muss ich auf ne lizenz warten....
halt dich auf dem laufenden....

nochmal vielen dank für deine hilfe!!!
grüße

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

ichroque13
Mitglied


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

Beiträge: 7
Registriert: 14.10.2008

erstellt am: 16. Okt. 2008 09:33    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


Dokument1.pdf

 
so, der bringt mir irgendwie ne fehlermeldung und ich bring die einfach nicht weg. hab mal 2 bilder gemacht, vllt hilft es dir weiter. sorry, aber hab echt grad keine ahnung....

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

ichroque13
Mitglied


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

Beiträge: 7
Registriert: 14.10.2008

erstellt am: 16. Okt. 2008 09: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

ok, jetz gehts!! hab jetz die namen der parameter einfach reinkopiert anstatt reingetippt und es geht, unglaublich.....
is perfekt, nochmals herzlichen dank!!!!

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