Angles are interpreted in radians if they are not followed by a
degree sign (°). You can type PI or 180° for an angle of 180°. SymbolDesigner includes a sophisticated parser for mathematical
functions. These functions may be used in any parameter cell in the
project tree view (parameter cells are marked with the
Example for a formula keyed-in by the user: Sin ( 60° ) * ( 10 *
Geometry.Cover.Geometry.L1 / 4 -
0.025 * OperatorDiameter ) The formula shows the referencing style to other nodes:
Geometry.Cover.Geometry.L1 references to the value of the Geometry.L1
sub-node of a graphical primitive named Cover (e.g. a box). The
colour/font style mark-up is automatically done by the parser: The parser also interprets several constants: These are the pre-defined operators: These functions are supported by the parser: Compares x and y and returns the smaller
operand. Please note: min (lowercase) is the unit sign for minutes. Units are defined in the Config.xls in the data subdirectory of
3D SymbolDesigner. The following non-intrinsic math functions can be derived from the
intrinsic math functions. These functions are not yet included in
3D SymbolDesigner but will be included in a future
version of the software, so please regard the names of these functions
as reserved: There are some basic rules for how parameters and objects may be
named: Inside the tree view, any combination of Latin characters and
numbers is allowed for naming parameters and objects. The parameter name
must not be a number, physical unit or reserved word and cannot contain:
-, (, ), *, /, ^, &, +. The reserved words are listed in the
Config.xls in the worksheet ReservedWords. Parameter mapping names must obey the limitations of Visual Basic
(no reserved words, no names starting with numbers) and of the database
used by SmartPlant 3D (name length). The used parameter mapping names
must be unique. Parameter mapping names must be carefully chosen; they are loaded
into the catalogue and will remain there. Please ask the SmartPlant 3D
catalogue administrator in your company which parameter names you should
use. Variant names must be shorter than 19 characters, no reserved
words and no “Default” or “” value. The variant names must be unique and
cannot be identical to the class name.
Mathematics
Angles
If you
can’t find the degree sign on your keyboard, key in dgn
instead, this will be automatically replaced by °.Intrinsic math functions
symbol).
Formula part
Font style:
Operators
Upright, blue
Numbers
Upright, black
Units
Upright, bold, black
Functions
Upright, purple
Variables
Italics, black
Constant
Value
Pi
3.1415…
None
0
Point
1
Line
2
Fill
3
Hidden
0
SimplePhysical
1
DetailPhysical
16
Insulation
32
Operation
64
Maintenance
128
ReferenceGeometry
256
The
constants are not necessarily constants in a mathematical sense. You
should use them as placeholders for the appropriate values which will be
automatically filled in by 3D SymbolDesigner: If in software A
None means 0 but in software B None means -1,
3D SymbolDesigner will properly replace None
according to the export target.
Operator
Operation
+
Addition
-
Subtraction
*
Multiplication
/
Division
\
Integer Division
^
Power
(
Left bracket
)
Right bracket
Function
Function name
Description
Abs(x)
Absolute value
Returns the absolute value of x.
Cos(x)
Cosine trigonometric function
Exp(x)
Exponential function
IIf(cond,x,y)
Returns x if condition is true, y if condition is
false. (in Visual Basic .NET)
Ln(x)
Natural logarithm
Max(x,y)
Compares x and y and returns the greater
operand.
Min(x,y)
Now(x)
Returns the date (in Visual Basic).
Rnd(x)
Returns a random number.
x <0 The same number every time, using x as the seed.
x=0 The most recently generated number.
x>0 The next random number in the sequence.
Sgn(x)
Sign function
Returns the sign of x.
Sin(x)
Sine trigonometric function
Returns the sine of x (in radians).
Sqrt(x)
Square root
Returns the square root of x.
Tan(x)
Tangent trigonometric function
Returns the tangent of x.
Time
Returns the seconds since midnight (in 3D SymbolDesigner).
Returns the time (in Visual Basic)
Truncate(x)
Returns the integer portion of the operand.
Asin(x)
Inverse sine trigonometric function
Asin(x) = Atan(x / Sqrt (-x * x
+ 1))
Acos(x)
Inverse cosine trigonometric function
Acos(x) = Atan(-x / Sqrt (-x * x
+ 1)) + 2 * Atan(1)
Atan(x)
Inverse tangent trigonometric function
Atan2(y,x)
Inverse tangent trigonometric function
Derived math functions
Function
Function name
Derived equivalents
Sec(x)
Secant
Sec(x) = 1 / Cos(x)
CoSec(x)
Cosecant
CoSec(x) = 1 /
Sin(x)
CoTan(x)
Cotangent
CoTan(x) = 1 /
Tan(x)
ArcSec(x)
Inverse Secant
ArcSec(x) = ArcTan(x /
Sqrt(x * x - 1)) + Sgn((x) -1) * (2 *
ArcTan(1))
ArcCoSec(x)
Inverse Cosecant
ArcCoSec(x) = ArcTan(x /
Sqrt(x * x - 1)) + (Sgn(x) - 1) * (2 *
ArcTan(1))
ArcCoTan(x)
Inverse Cotangent
ArcCoTan(x) = ArcTan(x)
+ 2 * ArcTan(1)
HSin(x)
Hyperbolic Sine
HSin(x) = (Exp(x) -
Exp(-x)) / 2
HCos(x)
Hyperbolic Cosine
HCos(x) =
(Exp(x) + Exp(-x)) / 2
HTan(x)
Hyperbolic Tangent
HTan(x) =
(Exp(x) - Exp(-x)) /
(Exp(x) + Exp(-x))
HSec(x)
Hyperbolic Secant
HSec(x) = 2 /
(Exp(x) + Exp(-x))
HCoSec(x)
Hyperbolic Cosecant
HCoSec(x) = 2 /
(Exp(x) - Exp(-x))
HCoTan(x)
Hyperbolic Cotangent
HCoTan(x) =
(Exp(x) + Exp(-x)) /
(Exp(x) - Exp(-x))
HArcSin(x)
Inverse Hyperbolic Sine
HArcSin(x) = Log(x +
Sqrt(x * x + 1))
HArcCos(x)
Inverse Hyperbolic Cosine
HArcCos(x) = Log(x +
Sqrt(x * x - 1))
HArcTan(x)
Inverse Hyperbolic Tangent
HArcTan(x) = Log((1 + x)
/ (1 - x)) / 2
HArcSec(x)
Inverse Hyperbolic Secant
HArcSec(x) =
Log((Sqrt(-x * x + 1) + 1) / x)
HArcCoSec(x)
Inverse Hyperbolic Cosecant
HArcCoSec(x) =
Log((Sgn(x) * Sqrt(x * x + 1) +1) /
x)
HArcCoTan(x)
Inverse Hyperbolic Cotangent
HArcCoTan(x) = Log((x +
1) / (x - 1)) / 2
Logarithm to base N
LogN(x) = Log(x) /
Log(N)
Naming rules