Table of Contents

Below provides an introduction to the use of parameters in IDEA StatiCa Connection.

Parameters can be accessed by [enabling the Developer Mode] in the connection application.

Introduction

IDEA StatiCa Connection v23 provides an improved experience for creating and setting parameters in an IDEA StatiCa Connection Project.

Parameters can be used to facilitate many functions including:

  • Parametric templates.
  • Connection sensitivity studies.
  • Connection part optimisation.
  • Machine learning algorithms and studies.

Parameters are specific to one item in a connection project. This allows parameters to be exported inside of connection templates which are saved from a connection project item.

It is recommended, although not required, that when using parameters, only one connection item is present in the connection project.

Accessing parameters

Parameters can be accessed through the Developer Tab.

Parameters vs API

Parameters can be seen as a middle ground between API functionally and the classic UI of the program.

All functionality (input/outputs) of the program should ideally be available through the API, however, Parameters allow for certain specific inputs to be linked within a connection project.

Enabling parameters allows easy access through a high-level call in the API, making it a lot easier for a user to programmatically update specifically targeted inputs without needing to understand the finer details of the API.

Parameters also allow the passing of these high-level links across Connection projects, which is beneficial for designing similar connection types with different loading and geometry configurations.

Terminology

Item Description
Parameter A parameter is a global value that can be used as input to one or more model properties. Parameters are typeless and hold no specific type or unit information. Parameters are validated only once assigned to a model property. See below for more information.
Model property Model properties are inputs or selections that are available in a project that can be driven by a parameter. Typically, inputs should mimic the input available in the UI of the project. Only one parameter can be linked to any model property.
Model Property Type Each model property is of a specific type. The model property type provides the requirements for validation. For number-type properties, it also provides the required output unit. Output units are derived from the current unit settings in the project.
Property Item A property item is a high-level item under which model properties are grouped in the model properties selection table. Property items can be either a project item (material, etc) or specific to a connection item (member, operation etc). Some property items include materials, cross-sections, members, and operations.
Model Property Group Model properties are grouped to match different sections of the Program to allow staged application of model properties. These groups include libraries (materials and cross-sections), members, and operations.

Parameters

Parameters are type-less and unit-less. They are either a number or a string. Where a parameter needs to be applied to a model property with a number input property the parameter should be provided as an SI unit to the Model Property. A conversion will take place to convert it to the appropriate model units assigned to the current Project.

Parameter input

All parameters are now evaluated as expressions. We use an expression module called ncalc that provides access to basic math functions and operations. Inputs generally need to be separately identified between strings, decimal numbers, and integers.

The table below shows how different basic types should be provided in the expression editor.

Basic Input Type Description Example
Strings strings should be provided with single quotation marks. 'myString'
Decimal number1 decimal numbers should have a 0 or Integer prefix and contain a decimal point. 0.45
Integer Integers should be whole numbers without any decimators. Use Round( ) where a decimal number is referenced. 3
Reference reference a previous parameter in the list by using square brackets. [param1]
  1. Currently only decimal point input is allowed when defining parameters. Decimal commas, based on user PC settings will be supported in future.

Units

Currently, all parameter inputs need to be provided in basic SI Units. Please see the link here for reference.

Expression methods

Expression methods can be used to perform the transformation of basic type inputs to more complex inputs required by some Model properties. This primarily involves concatenating strings and providing referencing ability to previously defined parameters.

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'
RoundNumber(..) rounds a decimal number to an Integer Round(2.1578, 0) 2
RoundNumber(..) rounds a decimal number to a precision three Round(2.1578, 3) 2.158

For a further and full explanation of available expression methods refer to the Parameter Reference Guide

Advanced expression methods

There are further advanced Expression methods that can retrieve parameters currently available to be accessed from parts of an existing model using specific evaluation strings. This is currently an advanced feature and will be developed further in the future. Refer to the Parameter Reference Guide

Model properties

Model property validation

The below table provides basic validation criteria for different model property types.

Model Property Type Basic Type Validation1 Example
Simple String string
Boolean string 'true' or 'false'
Enum string 'Rear' or 'Both' or 'End'
Integer int 3
Float float, int 3.0 or 0.12
Complex Number groups string (format varies, ref UI) '.0075*3' or '0.075; 0.05'
Vector string (format 'X Y Z') '0.0 0.0 1.0'
Library2 Material string 'S 355'
Bolt Assembly string 'M20 8.8'
Cross-section string 'IPE220'
  1. Model properties are validated by priority, an attempt for validation will be undertaken on the primary input type. If unsuccessful a parsing/casting to the second validation type will be tried.
  2. Validation of library properties can change depending on the property item that it is assigned to. Refer below.

Library model properties

Validation of library properties such as Material, Bolt Assembly and Cross-section changes depending on the property item that it is assigned under.

A library property can be validated in two ways:

  • Method 1. Against the items currently available in the Project database or;
  • Method 2. Against the available possibilities in a user MPRL database

For a Cross-section or Plate Operation project item, Method 1 is used and the project database is searched and that material is referenced. For a Material project item, Method 2 is used, the user's MPRL is searched by name and if found that material is changed to the found material.

Therefore, parameters cannot add materials to the current Project database. These would need to be added manually or through the API.

Transferring parameters between projects

Parameters and Model Properties can be exported and used in another project using the developer mode template functionality and available API calls. When a template is saved manually from the developer tab, parameters and associated model properties are saved into the template itself.

When the template is then applied to a clean/naked connection (one without operations), those operations are assigned and parameters and model properties should also be available for editing.

Note that the developer tab ‘Templates’ functionality is like that provided through the API for saving and applying templates.

Further information and examples