Creo Options Modeler > Referenzen > Grundlagen > Beziehungen und Parameter > Beziehungen > In Beziehungen verwendete Operatoren und Funktionen > Allgemeine Einführung: In Beziehungen verwendete Funktionen
  
Allgemeine Einführung: In Beziehungen verwendete Funktionen
Mathematische Graph- und Kurvenauswertungsfunktionen können in Beziehungen verwendet werden.
Mathematische Funktionen
Folgende Operatoren können in Beziehungen – sowohl in Gleichungen als auch in bedingten Anweisungen – eingesetzt werden.
In Beziehungen können auch die folgenden mathematischen Funktionen verwendet werden:
sin(x), cos(x), tan(x)
Trigonometrische Standardfunktionen, wobei x ein Winkelwert in Grad ist.
asin(x)
Arkussinusfunktion, wobei der Wert von x zwischen –1,0 und 1,0 liegt. Ergebnis ist der Winkelwert in Grad.
acos(x)
Arkuskosinusfunktion, wobei der Wert von x zwischen –1,0 und 1,0 liegt. Ergebnis ist der Winkelwert in Grad.
atan(x)
Arkustangensfunktion, wobei x ein numerischer Wert ist. Ergebnis ist der Winkelwert in Grad.
atan2(y,x)
Arkustangensfunktion von y/x, wobei x und y beliebige numerische Werte sind. Ergebnis ist der Winkelwert in Grad.
sinh(x)
Hyperbelsinusfunktion (Sinus Hyperbolicus), wobei der Wert für x zwischen –85,0 und 85,0 liegt.
cosh(x)
Hyperbelkosinusfunktion (Kosinus Hyperbolicus), wobei der Wert für x zwischen –85,0 und 85,0 liegt.
tanh(x)
Hyperbeltangensfunktion (Tangens Hyperbolicus), wobei der Wert für x zwischen –85,0 und 85,0 liegt.
sign(x,y)
Vorzeichenübertragung von y auf x. Wenn y<0, lautet das Ergebnis –abs(x); wenn y>=0, lautet das Ergebnis abs(x).
mod(x,y)
Restfunktion, d.h., x–int(x/y)*y, wobei int() für "ganzzahliger Teil von" steht. Das Vorzeichen des Ergebnisses ist stets identisch mit dem Vorzeichen von x.
if(c,x,y)
Der "Wenn"-Test bzw. die Umschaltfunktion, wobei c die Bedingung ist, und x und y die zurückgegebenen Werte sind. Wenn die Bedingung in einem Wert ungleich 0 resultiert, ist das Ergebnis der Funktion x; andernfalls ist das Ergebnis der Funktion y.
bound(x,lo,hi)
Schränkt x auf einen Wert zwischen "lo" und "hi" ein. Wenn x < lo, ist das Ergebnis der Funktion lo; wenn x > hi, ist das Ergebnis hi; für alle anderen Werte von x ist das Ergebnis der Funktion x. Der "lo"-Wert muss kleiner als der "hi"-Wert sein.
dead(x,lo,hi)
Definiert einen Wertebereich für x, für den das Ergebnis der Funktion 0 ist. "lo" und "hi" legen den Wertebereich fest. Wenn x < lo, ist das Ergebnis der Funktion x–lo; wenn x > hi, ist das Ergebnis x–hi; wenn x zwischen "lo" und "hi" liegt, ist das Ergebnis der Funktion 0.
near(x,y,delta)
Testet, ob zwei Werte nahe beieinander liegen, wobei x und y die zwei Werte sind und delta ihren zulässigen Unterschied definiert. Wenn x innerhalb delta von y liegt, ist das Ergebnis der Funktion 1,0 (wahr). Wenn abs(x–y) <= delta, ist das Ergebnis der Funktion 1,0; wenn abs(x–y) > delta, ist das Ergebnis der Funktion 0,0.
min(x,y)
Gibt entweder oder x oder y zurück, je nachdem, welches der Minimalwert ist. Wenn x < y, ist das Ergebnis der Funktion x; wenn x >=y, ist das Ergebnis der Funktion y.
max(x,y)
Gibt entweder oder x oder y zurück, je nachdem, welches der Maximalwert ist. Wenn x > y, ist das Ergebnis der Funktion x; wenn x <=y, ist das Ergebnis der Funktion y.
log(x)
Dekadischer Logarithmus (Logarithmus zur Basis 10)
ln(x)
Natürlicher Logarithmus (Logarithmus zur Basis e)
exp(x)
eine Potenz der Zahl e
pow(num1, num2)
Ruft den Wert von num1 hoch num2 ab.
sqrt(x)
Quadratwurzel von x
abs(x)
Gibt den absoluten Wert von x zurück. Wenn x≥0, ist das Ergebnis der Funktion x; wenn x<0, ist das Ergebnis der Funktion –x.
ceil(x)
Rundet (x – 0.000 000 001) auf positiv unendlich.
floor(x)
Rundet (x + 0.000 000 001) auf negativ unendlich.
dbl_in_tol (arg1, arg2, arg3)
Prüft, ob arg 1 für eine Ganzzahl arg 2 einer anderen Ganzzahl in arg 3 einer angegebenen Toleranz entspricht. Gibt TRUE zurück, wenn der Wert von arg1 zwischen (arg 2 - arg 3) und (arg 2 + arg 3) liegt.
Die Funktion gibt TRUE zurück, wenn die folgende Bedingung erfüllt ist: arg1 <= arg2+arg3 && arg1 >= arg2-arg3.
Beispielsweise, um zu prüfen, ob ein bestimmter Winkel 45 Grad innerhalb einer Toleranz von 3 Grad entspricht. Wenn der angegebene Winkel (arg1) 47 ist, liegt er im Bereich von arg2-arg3 (45-3) und arg2+arg3 (45+3).
 
* Alle trigonometrischen Funktionen verwenden Gradmaße.
 
Funktion "Modus Verkabelung (Cabling Mode)"
Sie können die Funktionen des Modus Verkabelung verwenden, um die Länge und den maximalen Durchmesser eines Kabels, Drahts oder Bündels zu bestimmen.
So berechnen Sie die Länge von Kabeln
Zum Berechnen der aktuellen Länge eines Kabels oder Bündels verwenden Sie die folgende Syntax:
cable_len ("cable_name",location_id1,location_id2)
cable_name ist der Name des Kabels oder Bündels, das Sie im aktuellen Kabelbaum messen möchten.
location_id ist die interne KE-ID der Position, durch die cable_name verlegt wird, wobei location_id1 und location_id2 die Positionen angeben, zwischen denen die Länge berechnet werden soll.
Zum Berechnen der Länge des gesamten Kabels verwenden Sie die folgende Syntax:
cable_len ("cable_name",-1,-1)
So berechnen Sie den maximalen Durchmesser von Kabeln, Drähten oder Bündeln
Verwenden Sie die folgende Syntax, um den maximalen Durchmesser eines Kabels, Drahts oder Bündels an einer bestimmten Position zu berechnen:
cable_thick ("cable_name",location_id)
cable_name ist der Name des Kabels, Drahts oder Bündels, das bzw. den Sie im aktuellen Kabelbaum messen möchten.
location_id ist die interne KE-ID der Position, durch die cable_name verlegt wird.
Zum Berechnen der maximalen Länge eines Kabels, Drahts oder Bündels verwenden Sie die folgende Syntax:
cable_thick ("cable_name",-1)
Funktionen in der Fallstudie
eang(e_ID1, e_ID2)
Winkel (in Radiant) zwischen den zwei Elementen e_ID1 und e_ID2 einer Fallstudie
elen(e_ID1)
Länge des Elements e_ID1 einer Fallstudie
edistk(e_ID1, e_ID2)
Abstand zwischen den zwei Elementen e_ID1 und e_ID2
ecoordx(e_ID1)
X-Koordinate des Elements e_ID1 einer Fallstudie
ecoordy(e_ID1)
Y-Koordinate des Elements e_ID1 einer Fallstudie
 
* e_ID1 und e_ID2 sind Ganzzahlen, die die Fallstudienelemente darstellen.
 
Graphauswertungsfunktion
Die Graphauswertungsfunktion ermöglicht die Verwendung von Graph-KEs zum Steuern von Bemaßungen über Beziehungen. Bei den Bemaßungen kann es sich um Schnitt-, Teil- oder Baugruppenbemaßungen handeln. Das Format lautet folgendermaßen:
evalgraph("graph_name", x)
Dabei gilt:
graph_name – Dies ist der Name des Graphen.
x – Dies ist der Wert auf der x-Achse des Graphen, für den der Wert y zurückgegeben wird.
Bei Zug-KEs können Sie den Leitkurvenparameter trajpar als zweites Argument dieser Funktion angeben.
 
* Ein Graph-KE wird in der Regel hinsichtlich seiner definierten x-Achsenwerte ausgewertet. Wird es über den Definitionsbereich hinaus ausgewertet, werden die y-Achsenwerte extrapoliert. Pro/ENGINEER errechnet den extrapolierten Wert für Werte von x, die kleiner als der Anfangswert sind, indem eine Tangentiallinie vom Anfangspunkt des Bereichs zurück verlängert wird. Auf ähnliche Weise errechnet Pro/ENGINEER den extrapolierten Wert für Werte von x, die größer als der Endwert sind, indem eine Tangentiallinie über den Bereichsendpunkt hinaus verlängert wird.
Leitkurvenfunktion von Kurvenzügen
Der Leitkurvenparameter eines Kurvenzugs trajpar_of_pnt kann in Beziehungen verwendet werden.
Die folgende Funktion gibt einen Wert zwischen 0.0 und 1.0 zurück:
trajpar_of_pnt("trajname", "pointname")
Dabei gilt:
trajname – Dies ist der Name des Kurvenzugs.
pointname – Dies ist der Name des Bezugspunkts.
Die Leitkurve ist ein Parameter entlang des Kurvenzugs, wo die Ebene, die senkrecht zur Tangente des Kurvenzugs ist, durch den Bezugspunkt verläuft. Der Bezugspunkt muss sich nicht auf der Kurve befinden – Der Parameter wird an dem Punkt der Kurve berechnet, der sich am nächsten am Bezugspunkt befindet.
Wird der Kurvenzug als Steuerkurve für einen Zugkörper mit mehreren Leitkurven verwendet, entspricht trajpar_of_pnt entweder dem Parameter trajpar auf dieser Ebene oder aber dem Wert 1.0 – trajpar (je nach Wahl des Startpunkts für das Zugkörper-KE).