Функции в формулах переменных

Tekla Structures
2019i
Tekla Structures

Функции в формулах переменных

Используйте функции, чтобы вычислить значения для параметрических переменных. Формулы переменных всегда начинаются со знака равенства (=).

Дополнительные сведения см. в разделе Задание свойств объектов с помощью параметрических переменных.

Арифметические операторы

Арифметические операторы используются для объединения выражений, возвращающих числовые значения. Можно использовать следующие арифметические операторы.

Оператор

Описание

Примечания

+

сложение

Также используется для создания строк параметров.

-

вычитание

 

*

умножение

Умножение осуществляется быстрее, чем деление.

=D1*0.5 вычисляется быстрее, чем =D1/2

/

деление

 

Логические операторы и операторы сравнения

Логические операторы и операторы сравнения используются внутри выражений if. Можно использовать выражения if-then-else , чтобы проверить условие и задать значение в зависимости от результата.

Например:

=if (D1>200) then 20 else 10 endif

В выражениях с оператором if (если) можно использовать следующие операторы.

Оператор

Описание

Пример

==

обе стороны равны

 

!=

стороны не равны

 

<

левая сторона меньше

 

<=

левая сторона меньше или равна правой стороне

 

>

правая сторона меньше

 

>=

правая сторона меньше или равна левой стороне

 

&&

логическое И

оба условия должны быть истинны

=if (D1==200 && D2<40) then 6 else 0 endif

Если D1 равна 200, а D2 меньше 40, результат равен 6; в противном случае результат равен 0.

||

логическое ИЛИ

только одно условие должно быть истинно

=if (D1==200 || D2<40) then 6 else 0 endif

Если D1 равна 200 или D2 меньше 40, результат равен 6; в противном случае результат равен 0.

Ссылочные функции

С помощью опорных функций можно ссылаться на свойство другого объекта, например на толщину пластины второстепенной детали. Tekla Structures ссылается на объект на системном уровне, поэтому, если свойство объекта изменится, изменится и значение ссылочной функции.

Доступны следующие ссылочные функции.

Функция

Описание

Пример

fTpl("template attribute", "object GUID")

Возвращает значение атрибута шаблона для объекта с заданным идентификатором GUID.

=fTpl("WEIGHT","ID50B8559A-0000-010B-3133-353432373038")

Возвращает значение веса объекта с идентификатором GUID ID50B8559A-0000-010B-3133-353432373038.

fP("user-defined attribute", "object GUID")

Возвращает значение определенного пользователем атрибута для объекта с заданным идентификатором GUID.

=fP("comment", "ID50B8559A-0000-010B-3133-353432373038")

возвращает определенный пользователем атрибут comment объекта с идентификатором GUID ID50B8559A-0000-010B-3133-353432373038.

fValueOf("parameter")

Возвращает значение параметра.

Если уравнение имеет вид =P2+"*"+P3 , результат равен P2*P3.

В уравнении =fValueOf("P2")+"*"+fValueOf("P3") , где P2=780 и P3=480, результат равен 780*480.

fRebarCatalogValue(BarGrade, BarSize, Usage, FieldName)

Возвращает значение арматурных стержней объекта из каталога.

Значение для Usage может быть 2 ("Стяжка") или 1 ("Главн.").

Для FieldName указывается одно из следующих значений.

  • 0 NominalDiameter
  • 1 ActualDiameter
  • 2 Weight
  • 3 MinRadius
  • 4 Hook1Radius
  • 5 Hook1Angle
  • 6 Hook1Length
  • 7 HookRadius
  • 8 Hook2Angle
  • 9 Hook2Length
  • 10 Hook3Radius
  • 11 Hook3Angl
  • 12 Hook3Length
  • 13 Area

fRebarCatalogValue("A500HW", "10", 1, 2)

Возвращает размер, сферу применения и вес объекта с маркой арматурного стержня A500HW.

ASCII-файл в качестве ссылочной функции

Можно ссылаться на ASCII-файлы для получения данных. Tekla Structures ищет файлы в следующем порядке:

  1. модель

  2. ..\TeklaStructuresModels\<model>\CustomComponentDialogFiles\

  3. проект (задается расширенным параметром XS_PROJECT )

  4. компания (задается расширенным параметром XS_FIRM )

  5. система (задается расширенным параметром XS_SYSTEM )

Для чтения файлов используется следующий формат:

fVF("filename", "key_value_of_row", column_number)

  • Значение ключа строки представляет собой уникальное текстовое значение.

  • Номер столбца — это порядковый номер, отсчитываемый от 1.

Note:

В файле ASCII вводите пробел в конце каждой строки. В противном случае информация не будет считываться правильно.

Пример

Функция =fVF("Overlap.dat", "MET-202Z25", 5) указана в окне Формула диалогового окна Переменные. Функция получает значение 16.0 для профиля MET-202Z25 из файла Overlap.dat.

  1. Значение ключа строки (MET-202Z25)

  2. Номер столбца (5)

Математические функции

Создавайте более сложные математические выражения с помощью математических функций. Доступны следующие функции.

Функция

Описание

Пример

fabs(параметр)

Возвращает абсолютное значение параметра.

Функция =fabs(D1) возвращает значение 15.

if D1 = -15

exp(степень)

Возвращает e в указанной степени.

e  — эйлерово число.

Функция =exp(D1) возвращает значение 7,39.

if D1 = 2

ln(параметр)

Возвращает натуральный логарифм параметра (по основанию e ).

Функция =ln(P2) возвращает значение 2,71.

if P2 = 15

log(параметр)

Возвращает логарифм значения параметра (по основанию 10).

Функция =log(D1) возвращает значение 2.

if D1=100

sqrt(параметр)

Возвращает квадратный корень значения параметра.

Функция =sqrt(D1) возвращает значение 4.

if D1 = 16

mod(делимое, делитель)

Возвращает остаток деления.

Функция =mod(D1, 5) возвращает значение 1.

if D1 = 16

pow(основание, степень)

Возвращает основание, возведенное в указанную степень.

Функция =pow(D1, D2) возвращает значение 9.

if D1 = 3 and D2 = 2

hypot(сторона1, сторона2)

Возвращает гипотенузу.

  1. сторона1

  2. гипотенуза

  3. сторона2

Функция =hypot(D1, D2) возвращает значение 5.

if D1 = 3 and D2 = 4

n!(параметр)

Возвращает факториал значения параметра.

Функция =n!(P2) возвращает значение 24.

if P2 = 4

(1*2*3*4)

round(параметр, точность)

Возвращает значение параметра, округленное до заданной точности.

Функция =round(P1, 0.1) возвращает значение 10,600.

if P1 = 10.567

PI

Возвращает значение пи с точностью до 31 десятичного знака

Функция =PI возвращает значение 3,1415926535897932384626433832795.

Статистические функции

Статистические функции позволяют суммировать числа, вычислять среднее и округлять значения. Можно использовать следующие статистические функции.

Функция

Описание

Пример (P1 = 1.4 P2 = 2.3)

ceil()

Возвращает наименьшее целое число, которое больше или равно значению параметра.

Функция =ceil(P1) возвращает значение 2.

floor()

Возвращает наибольшее целое число, которое меньше или равно значению параметра.

Функция =floor(P1) возвращает значение 1.

min()

Возвращает наименьший параметр.

Функция =min(P1, P2) возвращает значение 1,4.

max()

Возвращает наибольший параметр.

Функция =max(P1, P2) возвращает значение 2,3.

sum()

Возвращает сумму значений параметров.

Функция =sum(P1, P2) возвращает значение 3,7.

sqsum()

Возвращает сумму квадратов значений параметров: (параметр1)2 + (параметр2)2.

Функция =sqsum(P1, P2) возвращает значение 7,25.

ave()

Возвращает среднее значений параметров.

Функция =ave(P1, P2) возвращает значение 1,85.

sqave()

Возвращает среднее квадратов значений параметров.

Функция =sqave(P1, P2) возвращает значение 3,625.

Пример: статистические функции ceil и floor

В этом примере доступны следующие параметрические переменные.

  • Длина балки: P1 = 3500

  • Расстояние между стойками: P2 = 450

P1 / P2 = 7.7778

С помощью статистических функций ceil и floor можно округлить значение, а затем использовать его в качестве количества стоек.

  • Функция =ceil(P1/P2) возвращает значение 8.

  • Функция =floor(P1/P2) возвращает значение 7.

Функции преобразования типов данных

С помощью функций преобразования типов данных конвертируйте значения соответствующим образом. Доступны следующие функции преобразования типов данных.

Функция

Описание

Пример

int()

Преобразует данные в целое число.

Этой функцией особенно удобно пользоваться для вычисления размеров профилей:

Функция =int(100.0132222000) возвращает значение 100, если для десятичных разрядов в диалоговом окне Параметры выбрано значение 0.

double()

Преобразует данные в число с двойной точностью.

 

string()

Преобразует данные в строку.

 

imp()

Преобразует британские единицы.

Эта функция используется в вычислениях вместо британских единиц. Непосредственно использовать британские единицы в вычислениях нельзя.

В следующих примерах в диалоговом окне Параметры в качестве единицы длины выбраны миллиметры, а количество десятичных разрядов задано равным 2.

Функция =imp(1,1,1,2) преобразует значение 1 фут 1 1/2 дюйма в значение 342,90 мм.

Функция =imp(1,1,2) преобразует значение 1 1/2 дюйма в значение 38,10 мм.

Функция =imp(1,2) преобразует значение 1/2 дюйма в значение 12,70 мм.

Функция =imp(1) преобразует значение 1 дюйм в значение 25,40 мм.

=3’/3" неверно. =imp(36)/imp(3) верно.

vwu (значение, единица)

Преобразует значения длин и углов. Доступные единицы:

  • "ft" ("футы", "фут")

  • "in" ("дюйм", "дюймы")

  • "м"

  • "см"

  • "мм"

  • "рад"

  • "град."

Функция =vwu(4.0,"in") возвращает значение 101,60 мм, если в диалоговом окне Параметры в качестве единицы длины выбраны миллиметры, а для десятичных разрядов задано значение 2.

Функция =vwu(2.0,"rad") возвращает значение 114,59 градусов, если в диалоговом окне Параметры в качестве единицы угла выбраны градусы, а для десятичных разрядов задано значение 2.

Note:

Единицы измерения зависят от настроек, выбранных в меню Файл > Настройки > Параметры > Единицы и десятичные разряды .

Операции над строками

Строковые операции можно использовать для манипулирования символьными строками. В формулах переменных строки должны быть заключены в кавычки.

Доступны следующие операции над строками.

Операция

Описание

Пример (P1 = "PL100*10")

match(параметр1, параметр2)

Возвращает значение 1, если значения параметров равны; в противном случае возвращает значение 0.

В функции match можно также использовать подстановочные символы * , ? и [ ].

Функция =match(P1, "PL100*10") возвращает значение 1.

Принимает все профили с именем, начинающимся с PFC: =match(P4, "PFC*")

Принимает профили с именем, начинающимся с PFC, и значением высоты, начинающимся с 2, 3, 4 или 5: =match(P4, "PFC[2345]*")

Принимает профили с именем, начинающимся с PFC, значением высоты 200, 300, 400 или 500 и значением ширины, начинающимся с 7: =match(P4, "PFC[2345]00?7*")

length(параметр)

Возвращает число символов в значении параметра.

Функция =length(P1) возвращает значение 8.

find(параметр, строка)

Возвращает порядковый номер (начиная с нуля) указанного символа и значение –1, если указанный символ не найден в значении параметра.

Функция =find(P1, "*") возвращает значение 5.

getat(параметр, n)

Возвращает n-й (отсчитываемый от нуля) символ значения параметра.

Функция =getat(P1, 1) возвращает значение "L".

setat(параметр, n, символ)

Заменяет n-й (отсчитываемый от нуля) символ параметра указанным символом.

Функция =setat(P1, 0, "B") возвращает значение "BL100*10".

mid(строка, n, x)

Возвращает x символов из строки начиная с n-го (отсчитываемого от нуля) символа. Если последний аргумент (x) отсутствует, возвращает последнюю часть строки.

Функция =mid(P1,2,3) возвращает значение "100".

reverse(строка)

Обращает данную строку.

Функция =reverse(P1) возвращает значение "01*001LP".

Пример 1

Чтобы определить размер профиля PL100*10 с двумя переменными P2=100 и P3=10 введите следующую формулу:

="PL"+P2+"*"+P3

Пример 2

Tekla Structures обрабатывает интервалы между болтами как строки. Чтобы задать расстояние между болтами, выберите в столбце Тип значения вариант Список расстояния и введите следующую формулу:

=P1+" "+P2

Результатом является 100 200, если P1=100 ( длина ) и P2=200 ( длина ).

Тригонометрические функции

Вычисляйте углы с помощью тригонометрических функций. В формулах можно использовать следующие тригонометрические функции.

Функция

Описание

Пример

sin()

Возвращает значение синуса.

Функция =sin(d45) возвращает значение 0,71.

cos()

Возвращает значение косинуса.

Функция =cos(d45) возвращает значение 0,71.

tan()

Возвращает значение тангенса.

Функция =tan(d45) возвращает значение 1,00.

asin()

Функция, обратная к sin(); возвращает значение в радианах.

=asin(1) возвращает 1.571 рад

acos()

Функция, обратная к cos(); возвращает значение в радианах.

=acos(1) возвращает 0 рад

atan()

Функция, обратная к tan(); возвращает значение в радианах.

=atan(1) возвращает 0.785 рад

sinh()

Возвращает значение гиперболического синуса.

Функция =sinh(d45) возвращает значение 0,87.

cosh()

Возвращает значение гиперболического косинуса.

Функция =cosh(d45) возвращает значение 1,32.

tanh()

Возвращает значение гиперболического тангенса.

Функция =tanh(d45) возвращает значение 0,66.

atan2()

Возвращает угол, тангенс которого равен отношению двух чисел. Единицы измерения возвращаемого значения — радианы.

Функция =atan2(1,3) возвращает значение 0,32.

Note:

При использовании в формулах переменных тригонометрических функций необходимо включать префикс для определения единицы измерения. При отсутствии префикса Tekla Structures использует радианы как единицы измерения по умолчанию.

  • Префикс d означает градусы. Например, sin(d180).

  • Префикс r означает радианы (по умолчанию). Например, sin(r3.14) или sin(3.14).

функция промышленного размера

В пользовательских компонентах можно использовать функцию промышленного размера для выбора подходящего размера пластины (обычно толщины пластины) из выпускаемых размеров. Например, толщина пластины должна соответствовать стенке балки.

Функция

Описание

Пример

fMarketSize(материал, толщина, шаг)

Возвращает следующий доступный промышленный размер из файла marketsize.dat на основе указанной пользователем толщины.

Следует указать следующий путь к файлу в папке: ..\environments\your_environment\profil. Или же его сохранить его в системной папке.

В качестве шага указывается число для определения приращения до следующего размера (по умолчанию 0).

=fMarketSize("S235JR", 10, 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.

Функция =fAD("skew","ID50B8559A-0000-010B-3133-353432373038") возвращает значение 45.

ID50B8559A-0000-010B-3133-353432373038 — это идентификатор GUID второстепенной детали, находящейся под углом 45 градусов к главной детали.

fAD("slope", GUID)

Возвращает угол уклона второстепенной детали с заданным идентификатором GUID.

=fAD("slope","ID50B8559A-0000-010B-3133-353432373038")

fAD("cant", GUID)

Возвращает угол повернутой второстепенной детали с заданным идентификатором GUID.

=fAD("cant","ID50B8559A-0000-010B-3133-353432373038")

Note:
  • Эти функции не возвращают положительных и отрицательных значений уклона и наклона. Поэтому эти функции не позволяют определить уклон вверх или вниз и наклон вправо или влево.

  • Максимальный возвращаемый угол наклона равен 45 градусам.

  • Tekla Structures вычисляет углы в двумерном пространстве, поэтому наклон и уклон не пересекаются. Например, угол наклона не учитывается при вычислении угла уклона, то есть значение угла уклона не изменяется в зависимости от поворота второстепенной детали вокруг основной.

    Чтобы определить истинный уклон в 3D-модели вместе с наклоном, можно использовать следующую математическую формулу:

    TRUE_SLOPE = atan( tan(SLOPE) * cos(SKEW))

Пример 1

Уклон и наклон определяются относительно балки, врубленной в колонну.

Вид сбоку

Вид сверху

  1. Колонна
  2. Балка
  3. Уклон
  4. Наклон

Пример 2

При работе с двумя балками уклон  — это фактически горизонтальный наклон балки, врубленной в другую балку, а вертикальный уклон балки относительно главной детали — это наклон.

Вид сбоку

Вид сверху

  1. Наклон
  2. Уклон
Была ли эта информация полезной?
Назад
Далее