Функции в формулах переменных
Функции используются для вычисления значений для параметрических переменных. Формулы переменных всегда начинаются со знака равенства (=).
Дополнительные сведения см. в разделе Задание свойств объектов с помощью параметрических переменных.
Арифметические операторы
Арифметические операторы используются для объединения выражений, возвращающих числовые значения. Можно использовать следующие арифметические операторы:
Оператор | Описание | Примечания |
---|---|---|
+ | сложение | Также используется для создания строк параметров. |
- | вычитание | |
* | умножение | Умножение осуществляется быстрее, чем деление.
|
/ | деление |
Логические операторы и операторы сравнения
Логические операторы и операторы сравнения используются внутри выражений if. Можно использовать выражения if-then-else, чтобы проверить условие и задать значение в зависимости от результата.
Например:
=if (D1>200) then 20 else 10 endif
В выражениях с оператором if (если) можно использовать следующие операторы.
Оператор | Описание | Пример |
---|---|---|
== |
обе стороны равны |
|
!= |
стороны не равны |
|
< |
левая сторона меньше |
|
<= |
левая сторона меньше или равна правой стороне |
|
> |
правая сторона меньше |
|
>= |
правая сторона меньше или равна левой стороне |
|
&& |
логическое И оба условия должны быть истинны |
Если D1 равна 200, а D2 меньше 40, результат равен 6; в противном случае результат равен 0. |
|| |
логическое ИЛИ только одно условие должно быть истинно |
Если D1 равна 200 или D2 меньше 40, результат равен 6; в противном случае результат равен 0. |
Ссылочные функции
С помощью ссылочных функций можно обращаться к свойству другого объекта, например к толщине пластины второстепенной детали. Tekla Structures ссылается на объект на системном уровне, поэтому, если свойство объекта изменяется, изменяется и значение ссылочной функции.
Доступны следующие ссылочные функции:
Функция |
Описание |
Пример |
---|---|---|
|
Возвращает значение атрибута шаблона для объекта с заданным идентификатором GUID. |
возвращает значение массы объекта с GUID ID50B8559A-0000-010B-3133-353432373038. |
|
Возвращает значение пользовательского атрибута для объекта с заданным идентификатором GUID. |
возвращает пользовательский атрибут comment объекта с GUID ID50B8559A-0000-010B-3133-353432373038. |
|
Возвращает значение параметра. |
Выражение Выражение |
|
Возвращает значение из каталога для арматурного стержня объекта. Параметр Параметр
|
возвращает размер, назначение и массу объекта с маркой арматурного стержня A500HW. |
ASCII-файл в качестве ссылочной функции
Для получения данных можно ссылаться на файлы ASCII. Tekla Structures ищет эти файлы в следующем порядке:
-
папка модели
-
..\TeklaStructuresModels\<model>\CustomComponentDialogFiles\
-
Папка проекта (задается расширенным параметром
XS_PROJECT
) -
Папка компании (задается расширенным параметром
XS_FIRM
) -
Системная папка (задается расширенным параметром
XS_SYSTEM
)
Для чтения файлов используется следующий формат:
fVF("filename", "key_value_of_row", column_number)
-
Значение ключа строки представляет собой уникальное текстовое значение.
-
Номер столбца — это порядковый номер, отсчитываемый от 1.
Можно задать символ, используемый для разделения данных: fVF(data file, lookup value, column#[, separator character])
.
-
Разделитель столбцов может быть произвольным. Это обеспечивает поддержку пробелов в именах, профилях, формах и т. д., а также использование списков расстояний в качестве входных данных.
-
В качестве входных данных можно использовать пустые строки.
-
В качестве разделителя может использоваться только один символ. Более сложные разделители, например
"/+/"
, использовать нельзя, потому что в качестве разделителя столбцов будет рассматриваться только первый символ.
Пример
В поле Формула диалогового окна Переменные введена функция =fVF("Overlap.dat", "MET-202Z25", 5)
. Эта функция получает значение 16.0
для профиля MET-202Z25
из файла Overlap.dat.
-
Значение ключа строки (MET-202Z25)
-
Номер столбца (5)
Математические функции
С помощью математических функций можно создавать более сложные математические выражения. Предусмотрены следующие функции:
Функция | Описание | Пример |
---|---|---|
fabs(параметр) | Возвращает абсолютное значение параметра. | Функция if D1 = -15 |
exp(степень) | Возвращает e в указанной степени. e — эйлерово число. | Функция if D1 = 2 |
ln(параметр) | Возвращает натуральный логарифм параметра (по основанию e). | Функция if P2 = 15 |
log(параметр) | Возвращает логарифм значения параметра (по основанию 10). | Функция if D1=100 |
sqrt(параметр) | Возвращает квадратный корень значения параметра. | Функция if D1 = 16 |
mod(делимое, делитель) | Возвращает остаток деления. | Функция if D1 = 16 |
pow(основание, степень) | Возвращает основание, возведенное в указанную степень. | Функция if D1 = 3 and D2 = 2 |
hypot(сторона1, сторона2) |
Возвращает гипотенузу.
|
Функция if D1 = 3 and D2 = 4 |
n!(параметр) | Возвращает факториал значения параметра. | Функция if P2 = 4 (1*2*3*4) |
round(параметр, точность) | Возвращает значение параметра, округленное до заданной точности. | Функция if P1 = 10.567 |
PI | Возвращает значение пи с точностью до 31 десятичного знака | Функция |
Статистические функции
Статистические функции позволяют суммировать числа, вычислять среднее и округлять значения. Предусмотрены следующие статистические функции:
Функция | Описание | Пример (P1 = 1.4 P2 = 2.3) |
---|---|---|
ceil() | Возвращает наименьшее целое число, которое больше или равно значению параметра. | Функция |
floor() | Возвращает наибольшее целое число, которое меньше или равно значению параметра. | Функция |
min() | Возвращает наименьший параметр. | Функция |
max() | Возвращает наибольший параметр. | Функция |
sum() | Возвращает сумму значений параметров. | Функция |
sqsum() | Возвращает сумму квадратов значений параметров: (параметр1)2 + (параметр2)2. | Функция |
ave() | Возвращает среднее значений параметров. | Функция |
sqave() | Возвращает среднее квадратов значений параметров. | Функция |
Пример: статистические функции ceil и floor
В этом примере доступны следующие параметрические переменные.
-
Длина балки: P1 = 3500
-
Расстояние между стойками: P2 = 450
P1 / P2 = 7.7778
С помощью статистических функций ceil
и floor
можно округлить значение, а затем использовать его в качестве количества стоек.
-
Функция
=ceil(P1/P2)
возвращает значение 8. -
Функция
=floor(P1/P2)
возвращает значение 7.
Функции преобразования типов данных
С помощью функций преобразования типов можно преобразовывать значения в другие типы данных. Предусмотрены следующие функции преобразования типов данных:
Функция |
Описание |
Пример |
---|---|---|
int() |
Преобразует данные в целое число. |
Этой функцией особенно удобно пользоваться для вычисления размеров профилей:
|
double() |
Преобразует данные в число с двойной точностью. |
|
string() |
Преобразует данные в строку. |
|
imp() |
Преобразует британские единицы. Эта функция используется в вычислениях вместо британских единиц. Непосредственно использовать британские единицы в вычислениях нельзя. |
В следующих примерах в диалоговом окне Параметры в качестве единицы длины выбраны миллиметры, а количество десятичных разрядов задано равным 2.
Запись |
vwu(значение, единица) |
Преобразует значения длин и углов. Доступные единицы:
|
|
Единицы измерения зависят от настроек, выбранных в меню .
Операции над строками
Строковые операции можно использовать для манипулирования символьными строками. В формулах переменных строки должны быть заключены в кавычки.
Предусмотрены следующие операции над строками:
Операция |
Описание |
Пример (P1 = "PL100*10") |
---|---|---|
match(параметр1, параметр2) |
Возвращает значение 1, если значения параметров равны; в противном случае возвращает значение 0. В функции match можно также использовать подстановочные символы |
Принимает все профили с именем, начинающимся с PFC: Принимает профили с именем, начинающимся с PFC, и значением высоты, начинающимся с 2, 3, 4 или 5: Принимает профили с именем, начинающимся с PFC, значением высоты 200, 300, 400 или 500 и значением ширины, начинающимся с 7: |
length(параметр) |
Возвращает число символов в значении параметра. |
|
find(параметр, строка) |
Возвращает порядковый номер (отсчитываемый от нуля) указанной строки и -1, если указанная строка не найдена в значении параметра. |
|
getat(параметр, n) |
Возвращает n-й (отсчитываемый от нуля) символ в значении параметра. |
|
setat(параметр, n, символ) |
Заменяет n-й (отсчитываемый от нуля) символ в значении параметра указанным символом. |
|
mid(строка, n, x) |
Возвращает x символов из строки начиная с n-го (отсчитываемого от нуля) символа. Если последний аргумент (x) отсутствует, возвращает последнюю часть строки. |
|
reverse(строка) |
Обращает заданную строку. |
|
Пример 1
Чтобы задать размер профиля PL100*10 с помощью двух переменных P2=100 и P3=10, введите следующую формулу:
="PL"+P2+"*"+P3
Пример 2
Tekla Structures обрабатывает расстояния между болтами как строки. Чтобы задать расстояние между болтами, выберите в столбце Тип значения вариант Список расстояний и введите следующую формулу:
=P1+" "+P2
Результатом является 100 200, если P1=100 (длина) и P2=200 (длина).
Тригонометрические функции
Тригонометрические функции позволяют вычислять углы. Предусмотрены следующие тригонометрические функции:
Функция | Описание | Пример |
---|---|---|
sin() | Возвращает значение синуса. | Функция |
cos() | Возвращает значение косинуса. | Функция |
tan() | Возвращает значение тангенса. | Функция |
asin() |
Функция, обратная к sin(); возвращает значение в радианах. |
|
acos() |
Функция, обратная к cos(); возвращает значение в радианах. |
|
atan() |
Функция, обратная к tan(); возвращает значение в радианах. |
|
sinh() | Возвращает значение гиперболического синуса. | Функция |
cosh() | Возвращает значение гиперболического косинуса. | Функция |
tanh() | Возвращает значение гиперболического тангенса. | Функция |
atan2() | Возвращает угол, тангенс которого равен отношению двух чисел. Единицы измерения возвращаемого значения — радианы. | Функция |
При использовании в формулах переменных тригонометрических функций необходимо включать префикс для определения единицы измерения. При отсутствии префикса Tekla Structures использует радианы как единицы измерения по умолчанию.
-
Префикс d означает градусы. Например,
sin(d180)
. -
Префикс r означает радианы (по умолчанию). Например,
sin(r3.14)
илиsin(3.14)
.
Функция промышленного размера
В пользовательских компонентах можно использовать функцию промышленного размера для выбора подходящего размера пластины (обычно толщины пластины) из выпускаемых размеров. Например, толщина пластины должна соответствовать стенке балки.
Функция |
Описание |
Пример |
---|---|---|
fMarketSize(материал, толщина, шаг) |
Возвращает следующий доступный промышленный размер из файла marketsize.dat исходя из указанной толщины. Файл должен находиться в папке ..\environments\your_environment\profil или в системной папке. Шаг — это приращение до следующего размера (по умолчанию 0). |
|
Пример
В этом примере в файле marketsize.dat содержатся следующие данные:
S235JR,6,9,12,16,19,22
SS400,1.6,2.3,3.2,4.5,6,9,12,16,19,22,25,28,32,38
DEFAULT,6,9,12,16,19,22,25,28,32,38
Первый элемент в строке — это сорт материала, после которого идут доступные толщины пластин в миллиметрах. В строке DEFAULT перечислены значения толщины, доступные во всех остальных сортах материалов.
При приведенных выше данных функция =fMarketSize("S235JR",10,0)
возвращает 12, а функция =fMarketSize("S235JR",10,1)
возвращает 16 (на один размер вверх).
Функции конструктивных условий
Функции конструктивных условий возвращают углы наклона в горизонтальной плоскости, наклона в вертикальной плоскости и поворота второстепенной балки относительно главной детали (колонны или балки). Предусмотрены следующие функции конструктивных условий:
Функция |
Описание |
Пример |
---|---|---|
fAD("skew", GUID) |
Возвращает угол скоса (в горизонтальной плоскости) второстепенной детали с заданным идентификатором GUID.
|
ID50B8559A-0000-010B-3133-353432373038 — это GUID второстепенной детали, находящейся под углом 45 градусов к главной детали. |
fAD("slope", GUID) |
Возвращает угол наклона (в вертикальной плоскости) второстепенной детали с заданным идентификатором GUID.
|
|
fAD("cant", GUID) |
Возвращает угол поворота второстепенной детали с заданным идентификатором GUID.
|
|
-
Эти функции не возвращают положительных и отрицательных значений наклона и скоса. Поэтому с их помощью нельзя определить направление наклона (вверх или вниз) или скоса (влево или вправо).
-
Максимальный возвращаемый угол скоса составляет 45 градусов.
-
Tekla Structures вычисляет углы в двумерном пространстве, поэтому наклон и скос изолированы друг от друга. Например, угол скоса не учитывается при вычислении угла наклона, то есть значение угла наклона остается одинаковым вне зависимости от поворота второстепенной детали вокруг основной.
Чтобы определить истинный 3D-наклон в с учетом скоса, можно использовать следующую математическую формулу:
TRUE_SLOPE = atan( tan(SLOPE) * cos(SKEW))
Пример 1
Наклон и скос относительно балки, примыкающей к колонне.
Вид сбоку |
Вид сверху |
|
|
- колонна
- балка
- Наклон
- Скос
Пример 2
При работе с двумя балками наклон — это фактически горизонтальный скос балки, примыкающей к другой балке, а вертикальный наклон балки относительно главной детали — это фактически угол скоса.
Вид сбоку |
Вид сверху |
|
|
- Скос
- Наклон