Beziehungen/Familientabelle/2000i / Pro ENGINEER
|
By Wolf
|
05. August 2002, 15:39
|
Hallo zusammen,in unserer Familientabelle befinden sich eine ganze Reihe von Einträgen, die wir nun mit Lauftoleranzen versehen wollen, und zwar abhängig vom Innendurchmesser di. Ich habe nun folgendes probiert: if (DI>0)& (DI<59.9) g0 = 0.02 endif if (DI>60)& (DI<99.9) g0 = 0.03 /* ERROR: Beziehung hat einen Fehler. endif if (DI>0)& (DI<59.9) g2 = 0.02 endif if (DI>60)& (DI<99.9) g2 = 0.03 /* ERROR: Beziehung hat einen Fehler. endif Mein Problem ist wohl sichtbar. Und noch das: if (di>0)& (di<59.9) g0 = 0.02 g2 = 0.02 g3 = 0.02 else if (di>60)& (di<99.9) g0=0.03 /* ERROR: Beziehung hat einen Fehler. g2=0.03 /* ERROR: Beziehung hat einen Fehler. g3=0.03 /* ERROR: Beziehung hat einen Fehler. endif Auch hier ist das Problem wohl sichtbar. (mir ist klar, das hier ein endif fehlt). Weiß hier jemand Rat? Ach so, in dieser Form funktioniert es problemlos: if (di>0)& (di<59.9) g0 = 0.02 g2 = 0.02 g3 = 0.02 endif Ich brauche doch aber auch noch die anderen Durchmesser
|
|
By sadolf
|
05. August 2002, 16:16
|
Vielleicht liegt es daran, daß Deine Bereiche Lücken haben, also logisch nicht sauber beschrieben sind. Probier doch mal:if di<60 g0 = 0.02 g2 = 0.02 g3 = 0.02 endif if (di=>60)& (di<100) g0=0.03 g2=0.03 g3=0.03 endif
|
|
By Armin
|
05. August 2002, 16:21
|
Hmmm...wenn du da an den Toleranzen herumspielen willst, wäre es dann nicht einfacher, eine Toleranztabelle zu editieren und unter anderm Namen wieder abzuspeichern? Dann bekommst Du den Beziehungstext geschenkt, und kannst die Werte in einer schönen (noch schönen alten Pro/E-Editor-) Tabelle eingeben.
|
|
By Wolf
|
05. August 2002, 17:44
|
Hallo zusammen,zunächst einmal Danke für Eure Beiträge. @sadolf: Ich habe deinen Vorschlag geprüft, es funktioniert nicht. @Armin: Da brauche ich bestimmt noch Nachhilfe bei der Geschichte mit den Toltabellen. Ich habe aber auch noch probiert. Wechselt man im Teilemodus von Mass auf Symbol, so wird bei den Lauftoleranzen g2 angezeigt. Ändert man jedoch den Wert mit Ändern GeomToleranz, steht hier gp2. So habe ich es gemacht: if (DI>0)& (DI<60) lauttoloben = 0.02 LAUFTOLUNTEN = 0.02 GP0 = 0.02 endif if (DI=>60)& (DI<100) LAUFTOLOBEN = 0.03 LAUFTOLUNTEN = 0.03 GP0 = 0.03 endif if (DI=>100)& (DI=<195) LAUFTOLOBEN = 0.04 LAUFTOLUNTEN = 0.04 GP0 = 0.04 endif if (DI=>195.1)& (DI<215) LAUFTOLOBEN = 0.05 LAUFTOLUNTEN = 0.05 GP0 = 0.05 endif if (DI=>215) LAUFTOLOBEN = 0.07 LAUFTOLUNTEN = 0.07 GP0 = 0.07 endif In der Familientabelle wird jedoch nicht der Eintrag gp0 geändert (währe wohl naheliegend), sondern g0. Und auf allen Zeichnungen ist nun die Geometrische Toleranz richtig. Grüße Wolfgang
|
|
By sadolf
|
05. August 2002, 21:47
|
Fein dass es jetzt geklappt hat. Aber warum hat er die erste Beziehung nicht angemeckert, und die zweite dann doch? Es wird doch nicht an den fehlenden Blanks vor und nach dem = liegen? Eigentlich füllt er die alleine auf.
|
|
By giatsc
|
06. August 2002, 12:16
|
Hallo alle!Ohne es (um diese Zeit!) nachprüfen zu können, glaube ich, dass der Fehler von der &-Verschlaufung kommt. Ich verwende diese nie., Der Syntax schein ein wenig "heikel" zu sein... Anstelle davon würde ich den (lückenlosen) Weg von sadolf konsequent weiterziehen und auf den Kopf stellen, um die &-Anweisung vermeiden zu können, also etwa so: *\Funktion beschreiben if di>=100 g0=0.04 g2=0.04 g3=0.04 else if di>=60 g0=0.03 g2=0.03 g3=0.03 else g0=0.02 g2=0.02 g3=0.02 endif endif By the way: Solche Beziehungen werden in jedes Teil kopiert und bedeuten Stress, wenn der User aus irgend einem Grund weitere Beziehungen eingeben oder edditieren muss. Meist wird dann das falsche gelöscht. (Ist mir mal bei einem UDF für Passfedernut, welche sich automatisch dem Wellendurchmesser angepasst hat, so passiert. Gut, bei einem Normteil wird dies nicht tragisch sein (Schreibschutz). Tipp für diesen Fall: KE-Beziehungen verwenden. (Escheinen nicht in Teil-Beziehungen...)
|
|
|