Reference Guide Expression Parameters - idea-statica/ideastatica-public GitHub Wiki

Expression Parameter Reference

The below provides further information on using expressions in IDEA StatiCa Connection. More general information on using parameters can be found here.

Table of contents

  1. Introduction
  2. Simple Functions
  3. Model Property Reference Functions

Introduction

We use a third-party expression module called NCalc to enable the evaluation of expressions both in the Parameters functionality (developer tab) and special evaluation calls available in the Connection API.

The below is an extension to the ncalc documentation where all standard math, logical operators and functions are explained.

On top of the out-of-the-box functions that are provided, several additional expressions functions are available within the Connection App to extend functionally specific to the IDEA StatiCa connection. These include providing functions that can reference existing geometric properties in a given connection, which can allow the driving of other specific connection detailing parameters.

Simple Functions

The below table provides the basic expression functions typically required to enable the use of parameters:

Expression Description Example Input Example Ouput
ToString(..) Converts a number to a string ToString(2.1578) '2.1578'
ToString(..) Concatenates multiple strings into one output ToString('M',20,' ','8.8') 'M20 8.8'
ToString(..) Each comma delineated input is also separately evaluated. spacing and bolts are previously defined parameters ToString([spacing],'*',[bolts]-1) '.075*3'
Round(..) rounds a decimal number to an Integer Round(2.1578, 0) 2
Round(..) rounds a decimal number to a precision three Round(2.1578, 3) 2.158

Model Property Reference Functions

Model property functions are an advanced feature, and should be limited where possible. Further enhancement of these will be made in the future.

Member Property Functions

The GetValue() Function can be used to extract model properties from the connection model. This enables the extraction of member information such as cross-section information, member geometry, etc.

Expression Description Example Input Example Ouput
GetValue(..) Gets a property associated with a member in the model, where B is the Member Name GetValue('B', 'cssWidth') 89

In all examples below 'B' represents the Name of the referenced member in the Connection Project

Member Cross Section Bounds

Item Expression Comment
Height GetValue('B', 'CrossSection.Bounds.Height')
Width GetValue('B', 'CrossSection.Bounds.Width')
Bottom GetValue('B', 'CrossSection.Bounds.Bottom')
Left GetValue('B', 'CrossSection.Bounds.Left')
Right GetValue('B', 'CrossSection.Bounds.Right')
Top GetValue('B', 'CrossSection.Bounds.Top')

Direct Access Member Properties

Item Expression Comment
Top Flange Thickness GetBeamPlateThickness('B', 'TopFlange')
Bottom Flange Thickness GetBeamPlateThickness('B', 'BottomFlange')
Web Thickness GetBeamPlateThickness('B', 'Web')
InsertPointOnRefLine GetValue('B', 'InsertPointOnRefLine.X')
DirVectX GetValue('B', 'DirVectX')
DirVectY GetValue('B', 'DirVectY')
DirVectZ GetValue('B', 'DirVectZ')
Length GetValue('B', 'Length')
Support Code GetValue('B', 'SupportCode')
Material Name GetValue('B','MaterialName')
Angle Alpha GetValue('B', 'AngleAlpha')
Angel Beta GetValue('B','AngleBeta')
Theoretical Length Y GetValue('B', 'TheoreticalLengthY')
Theoretical Length Z GetValue('B', 'TheoreticalLengthZ')

Further Member Properties

Item Expression Comment
Is Bearing Member GetValue('B','IsBearingMember') Gets the flag of bearing member
Connection Point - X GetValue('B', 'ConnectionPoint.X') Gets the point of connection of this segment to the joint
Connection Point - Y GetValue('B', 'ConnectionPoint.Y')
Connection Point - Z GetValue('B', 'ConnectionPoint.Z')
Position On Ref Line GetValue('B', 'PositionOnRefLine') Gets the relative position of the ConnectionPoint on the ReferenceLine
Calculated Pin Position GetValue('B', 'CalculatedPinPosition') Gets the position of the calculated pinned connection. The position is measured on the local X-axis of the beam. The calculation is done according to the sizes and positions of bolts on this member
Bounding Box in LCS - Height GetValue('B', 'BoundingBoxInLcs.Height') Gets bounding box in the local coordinate system of the beam
Bounding Box in LCS - Width GetValue('B', 'BoundingBoxInLcs.Width)
Bounding Box in LCS - Length GetValue('B', 'BoundingBoxInLcs.Length)

Beam Relating Section Properties

Item Expression Comment
Area GetValue('B', 'CrossSection.CssCharact.A') Area of Cross Section
Av1 GetValue('B','CrossSection.CssCharact.Av1') Shear area Av1 (major principal axis)
Av2 GetValue('B','CrossSection.CssCharact.Av2') Shear area Av2 (minor principal axis)
Sx GetValue('B', 'CrossSection.CssCharact.Sx') The first moment of area related to the X axis
Sy GetValue('B', 'CrossSection.CssCharact.Sy') The first moment of area related to the Y axis
Ix GetValue('B', 'CrossSection.CssCharact.Ix') The second moment of area related to the X axis
Iy GetValue('B', 'CrossSection.CssCharact.Iy') The second moment of area related to the Y axis
I1 GetValue('B', 'CrossSection.CssCharact.I1') The principal second moment of area related to the first principal axis
I2 GetValue('B', 'CrossSection.CssCharact.I2') The principal second moment of area related to the second principal axis
Alpha GetValue('B', 'CrossSection.CssCharact.Alpha') Gets the angle, in radians, between system and principal axes
It GetValue('B', 'CrossSection.CssCharact.It') Sant Vennant torsional constant
Ixy GetValue('B', 'CrossSection.CssCharact.Ixy') The product moment of area
Cgx GetValue('B', 'CrossSection.CssCharact.Cgx') Gets the centre of gravity related to the X axis
Cgy GetValue('B', 'CrossSection.CssCharact.Cgy') Gets the centre of gravity related to the Y axis
Painting Surface GetValue('B', 'CrossSection.CssCharact.PaintingSurface') Painting surface as surface of 1m long part of beam with that cros section
Wpl1 GetValue('B', 'CrossSection.CssCharact.Wpl1') Plastic modulus related to major principal axis
Wpl2 GetValue('B', 'CrossSection.CssCharact.Wpl2') Plastic modulus related to minor principal axis
Wel1 GetValue('B', 'CrossSection.CssCharact.Wel1') Section modulus related to major principal axis
Wel2 GetValue('B', 'CrossSection.CssCharact.Wel2') Section modulus related to minor principal axis
Iw GetValue('B', 'CrossSection.CssCharact.Iw') Warping Constant
C GetValue('B', 'CrossSection.CssCharact.C') Torsion Constant
Rgx GetValue('B', 'CrossSection.CssCharact.Rgx') Gets the radius of gyration related to the X axis
Rgy GetValue('B', 'CrossSection.CssCharact.Rgy') Gets the radius of gyration related to the Y axis
Rg1 GetValue('B', 'CrossSection.CssCharact.Rg1') Gets the radius of gyration related to the first principal axis
Rg2 GetValue('B', 'CrossSection.CssCharact.Rg2') Gets the radius of gyration related to the second principal axis
x0 GetValue('B', 'CrossSection.CssCharact.x0') Shear centre distance from centroidal point in X direction
y0 GetValue('B', 'CrossSection.CssCharact.y0') Shear centre distance from centroidal point in Y direction

Beam Relating Section Material

Item Expression Comment
E GetValue('B', 'Material.E') Young's modulus
G GetValue('B', 'Material.G') Shear modulus
Poisson GetValue('B', 'Material.Poissons') Poisson's ratio
Unit Mass GetValue('B', 'Material.UnitMass') UnitMass
Specific Heat GetValue('B', 'Material.SpecificHeat') Specific heat capacity
Thermal Expansion GetValue('B', 'Material.ThermalExpansion') Thermal Expansion
Thermal Conductivity GetValue('B', 'Material.ThermalConductivity') Thermal Conductivity
Is Default Materail GetValue('B', 'Material.IsDefaultMaterial') True if material is default material from the code

Operation Reference Functions

Currently operation reference functions only exist for internal use. Please let us know what model information you require to retrieve from operations and so we can add appropriate public functions.