2.7 Einbindung von mathematischen Operationen
Bei der Verwendung von Attributwerten in mathematischen Operationen ist zu beachten, dass nicht verwendbare Attributwerte im Default mit dem Wert 1 in die Berechnung eingehen. Mit Parametern kann festgelegt werden, dass für verschiedene Fälle der Wert 0 zurückgegeben wird.
Mathematische Operationen können nur mit Attributen aus dem aktuellen Objekt vorgenommen werden. Um Daten von anderen Objekten zu verwenden, müssen diese in Registern zwischengespeichert (r) und abgerufen (R) werden. Mit Hilfe der Register können dann Werte aus anderen Objekten in derselben Formel in die aktuelle Berechnung einbezogen werden.
Schlüsselkennung = |
mathematische Operationen / Operatoren |
||
Syntax: = [ [r | R] <RegSel> ] ( d | f | u ) <expression> ["<formatstring> "]; |
|||
r RegSel |
Der errechnete Wert wird in einem mathematischen Register (Zwischenspeicher) gespeichert. Register: Werte von 1 – 5 sind möglich. |
||
R RegSel |
Der Wert eines Registers (1 – 5) wird ausgelesen. Register: Werte von 1 – 5 sind möglich. |
||
d |
Ganzzahlige Darstellung |
||
f |
Fließkommadarstellung (Gleitkommazahl) |
||
u |
Fließkommadarstellung inklusive zugehöriger Einheit (Unit). Es wird nur die Verwendung von mathematischen Operatoren und Quadratwurzel empfohlen. Hat nur ein Operand eine Einheit, wird diese verwendet. Haben beide Operanden eine Einheit, wird die zuerst genannte verwendet, die Vorgabe der Einheit erfolgt von links nach rechts. |
||
expression |
( + | - | * | / | & | | | ^ |Q | S | s | xy | exp ) <argument> [ <argument> ] |
||
|
+, -, *, / |
Mathematische Operatoren |
|
&, |, ^ |
Bitweise Operatoren |
||
Q |
Quadratwurzel |
||
S |
Sinus (Radiant) |
||
s |
Sinus (Grad) |
||
xy |
Potenz |
||
exp |
Exponential zur Basis e |
||
argument: <attribute> | <constant> | <expression> | <relation> |
|||
attribute |
A [n] [e] [f] <aid> [:<charpos>] |
||
n |
Fehlt das Attribut am Objekt, wird 0 statt 1 zurückgegeben. |
||
e |
Ist das Attribut am Objekt leer, wird 0 statt 1 zurückgegeben. |
||
f |
Ist kein auswertbarer numerischer Teil im Attribut am Objekt, wird 0 statt 1 zurückgegeben. |
||
charpos |
Position in der Zeichenkette, ab der zu beginnen ist. |
||
constant |
K<value> | pi | e Value ist eine feste Zahlenfolge. Bei Fließkommazahlen muss ein Dezimalpunkt verwendet werden. Es sind keine Tausendertrenner erlaubt. e = eulersche Zahl |
||
expression |
Siehe oben. |
||
relation |
#[P] <role>; Gibt die Anzahl der Objekte zurück, die miteinander verknüpft sind (die über die Rolle gefunden werden). P: die Rolle wird ausgehend vom Parent berechnet. role: Relationsidentifikation. Eine Liste der verwendbaren Rollen finden Sie unter References in der EB-WebHelp+. >0: Relationsrichtung vorwärts <0: Relationsrichtung rückwärts |
||
formatstring |
Ausgabestring mit Formatierungsinformationen. Die möglichen Formatierungen sind im Anhang aufgeführt. |
Beispiele für Formeln mit mathematischen Operationen: |
|
Formel: |
Wert des Formelattributes (Zeichenfolge): |
=#-3; |
Gibt die Anzahl der Kindobjekte aus, die dem aktuellen Objekt zugeordnet sind |
=#107; |
Anzahl der Blätter die der Baueinheit zugeordnet sind (Rolle 107 = UnitToDiagram). |
=#-107; |
Anzahl der Baueinheit, die dem Blatt zugeordnet sind. |
=f+A1234A5678; |
Addiert die Werte der Attribute mit der ID 1234 und 5678. Darstellung als Fließkommazahl. |
=u+A1234A5678; |
Addiert die Werte der Attribute mit der ID 1234 und 5678. Beispiel: A1234 = 3 cm A5678= 4 m Der Wert des Formelattributs ist 403 cm. A1234= 4,0 m A5678=3 cm Der Wert des Formelattributs ist 4,0 m. |
=d*A1234A5678; |
Multipliziert die Werte der Attribute mit der ID 1234 und 5678. Darstellung als ganze Zahl. |
=f*A1234K1.2; |
Multipliziert den Werte des Attributs mit der ID 1234 mit der Konstanten 1,2. |
=fxyA1234K3; |
Potenziert das Attribut (Basis) mit der Konstanten 3 (Exponent) |
=fxyA1A2; |
Potenziert das Attribut A1 (Basis) mit dem Attribut A2 (Exponent) |
=fexpA1; |
Bestimmt das Exponential des Attributs A1 (Exponent) zur Basis e |
=d*A10061#P126; |
Bestimmung der Menge eines Materials zu einem Hook Up. Es wird die Menge des Materials mit der Nutzung des Hook Up multipliziert. |
=d*A1234#-3; |
Multiplikation des Attributwerts mit der Anzahl der Kindobjekte. |
=r3d*A1234#-3; |
Multiplikation des Attributwerts mit der Anzahl der Kindobjekte. Das Ergebnis wird in Register 3 gespeichert. |
=d*R3K2; |
Den Inhalt aus Register 3 mit 2 multiplizieren. |
=d+*A123K3A456; |
Entspricht der mathematischen Formel (A123*3)+A456 |
=d*K2+A123A456; |
Entspricht der mathematischen Formel 2*(A123+A456) |
=d*Ane123A456; |
Entspricht der mathematischen Formel A123*A456 Bzw. 0*A456, falls A123 nicht am Objekt oder leer ist. |
=r1d*K2K2;=r2d+K3K3;=d+R1R2; |
Das Ergebnis der Multiplikation 2*2 (=4) wird im Register 1 gespeichert. Das Ergebnis der Addition 3+3 (=6) wird im Register 2 gespeichert. Die Inhalte der Register 1 und 2 werden addiert. Ergebnis: 10 |