Операторы, функции и параметры, используемые в Мастере функций

Операторы, функции и параметры, используемые в Мастере функций

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

Полный перечень операторов, функций и параметров приведен в таблице:

Раздел. Наименование. Описание применения.

1. Объектная структура. Структура текущего параметрического объекта. Данный раздел активен только в параметризаторе. Предназначен для обращения к параметрам произвольного элемента структуры параметрического объекта.

2. Параметры Раздел содержит список доступных параметров.

Список доступных параметров завис от места использования Мастера функций:

• Мастер функций используется при работе с параметрическим объектом, то раздел будет содержать только параметры данного параметрического объекта.

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

• Мастер функций используется в Настройках Model Studio CS, тогда раздел содержит список всех параметров, имеющихся в Model Studio CS.

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

Имя параметра отображается в квадратных скобках.

Шаблон: [аргумент]

Пример: [TRANSFORMATOR_GROUND_GAP]

Подробнее о Параметрах, используемых в Model Studio CS см. Приложение3.

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

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

Имя параметра

Пример: Х

В табличном документе получим значение координаты Х=3.5455.

Подробнее о Параметрах, используемых в Model Studio CS см. Приложение3.

3. Операторы. Отображает арифметические, строковые и логические операторы.

Арифметические

3.1. Оператор «-». Вычитание. Вычисляет разность целых или действительных чисел.

Шаблон: аргумент - аргумент, где аргумент число или параметр.

Пример: 3865-[TRANSFORMATOR_GROUND_GAP]

Результат: 200

3.2. Оператор «+». Сложение. Вычисляет сумму целых или действительных чисел.

Шаблон: аргумент + аргумент, где аргумент число или параметр.

Пример: 5 + 4

Результат: 9

3.3. Оператор «*». Умножение. Вычисляет произведение целых или действительных чисел.

Шаблон: аргумент * аргумент, где аргумент число или параметр.

Пример: 5 * 4

Результат: 20

3.4. Оператор «/». Деление. Вычисляет частное целых или действительных чисел.

Шаблон: аргумент / аргумент, где аргумент число или параметр.

Пример: 20 / 5

Результат: 4

3.5. Оператор «%». Остаток от деления. Вычисляет остаток от деления первого целого числа на второе.

Шаблон: аргумент % аргумент, где аргумент число или параметр.

Пример: 24 % 5

Результат: 4

3.6. Оператор «^». Возведение в степень. Возведение первого аргумента в степень, заданную вторым аргументом.

Оба аргумента - действительные, первый аргумент должен быть больше 0.

Шаблон: аргумент ^ аргумент, где аргумент число или параметр.

Пример: 4.0 ^ 2.5

Результат: 32

Строковые

3.7. Оператор «&». Объединение строк. Присоединение второй строки к концу первой.

Шаблон: аргумент & аргумент, где аргумент строка или параметр.

Пример: "Наименование" & [PART_COMMENT]

Результат: Наименование: Комментарий

3.8. Оператор «\». Строковое вычитание.

Удаление из первой строки всех вхождений второй строки.

Шаблон: аргумент \ аргумент, где аргумент строка или параметр.

Пример: "ТДН-1000" \ “-1000”

Результат: ТДН

Логические

3.9. Оператор «<». Меньше. Сравнивает два аргумента и возвращает логическую истину («true»), если первый аргумент меньше второго.

Шаблон: аргумент < аргумент, где аргумент значение или параметр.

Пример: "AABB " < “BBCC”

Результат: true

3.10. Оператор «<=».Меньше или равно. Сравнивает два аргумента и возвращает логическую истину («true»), если первый аргумент меньше или равен второму.

Шаблон: аргумент <= аргумент, где аргумент значение или параметр.

Пример: 10 <= 10

Результат: true

3.11. Оператор «<>».Не равно. Сравнивает два аргумента и возвращает логическую истину («true»), если первый аргумент не равен второму.

Шаблон: аргумент <> аргумент, где аргумент значение или параметр.

Пример: 10 <> 50

Результат: true

3.12. Оператор «=». Равно. Сравнивает два аргумента и возвращает логическую истину («true»), если первый аргумент равен второму.

Шаблон: аргумент = аргумент, где аргумент значение или параметр.

Пример: [PART_MANUFACTURER]= “Электросила”

Результат: true

3.13. Оператор «>». Больше. Сравнивает два аргумента и возвращает логическую истину («true»), если первый аргумент больше второго.

Шаблон: аргумент > аргумент, где аргумент значение или параметр.

Пример: 10 > 50

Результат: false

3.14. Оператор «>=».Больше или равно. Сравнивает два аргумента и возвращает логическую истину («true»), если первый аргумент больше или равен второму.

Шаблон: аргумент >= аргумент, где аргумент значение или параметр.

Пример: [PART_MANUFACTURER]>= “Электросила”

Результат: true

3.15. Оператор «and». Логическое И. Возвращает логическую истину, если истинны оба аргумента.

Шаблон: аргумент and аргумент, где аргумент значение или параметр.

3.16. Оператор «if». Условный оператор. В случае логической истинности первого аргумента возвращает второй аргумент, в противном случае возвращает третий аргумент.

Шаблон: If (аргумент, аргумент, аргумент).

3.17. Оператор «like». Соответствие строки маске. Сравнение строки с маской.

Шаблон: like (аргумент)

Пример: [PART_NAME] like "Трансформатор %"

Результат: true для всех элементов у которых PART_NAME начинается со слов «Трансформатор».

3.18. Оператор «not». Логическое отрицание. Инвертирует значение логического аргумента.

Шаблон: not (аргумент)

Пример: not (“true” )

Результат: false

3.19. Оператор «or». Логическое ИЛИ. Возвращает логическую истину, если истинен хотя бы один аргумент.

Шаблон: аргумент or аргумент, где аргумент значение или параметр.

3.20. Оператор «xor». Логическое исключение ИЛИ.

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

Шаблон: аргумент xor аргумент, где аргумент значение или параметр.

4. Функции. Отображает алгебраические, тригонометрические функции и функции преобразования типов.

Алгебраические

4.1. ads (аргумент). Модуль числа. Вычисляет модуль числа.

Шаблон: ads (аргумент) Пример: ads (-2) Результат: 2

4.2. exp (аргумент). Экспонента. Вычисляет экспоненту (ex) числа.

Шаблон: exp (аргумент)

Пример: exp (1)

Результат: 2.7182818285

4.3. log (аргумент). Натуральный логарифм.

Вычисляет натуральный логарифм числа.

Шаблон: log (аргумент)

Пример: log (exp(5))

Результат: 5

4.3. sqr (аргумент). Квадрат числа. Возводит произвольное действительное или целое число в квадрат.

Шаблон: sqr (аргумент)

Пример: sqr (-5)

Результат: 25

4.5. sqrt (аргумент). Квадратный корень. Вычисляет квадратный корень числа. Аргумент должен быть больше или равен 0.

Шаблон: sqrt (аргумент)

Пример: sqrt (5)

Результат: 5

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

4.5. sin (аргумент). Синус. Вычисляет синус угла. Значение угла приводится в радианах.

Шаблон: sin (аргумент)

Пример: sin (0.5235235)

Результат: 0.499934808

4.6. cos (аргумент). Косинус. Вычисляет косинус угла. Значение угла приводится в радианах.

Шаблон: cos (аргумент)

Пример: cos (0)

Результат: 1

4.7. tan (аргумент). Тангенс. Вычисляет тангенс угла. Значение угла приводится в радианах.

Шаблон: tan (аргумент)

Пример: tan (0.7853981634)

Результат: 1

4.8. atan (аргумент). Арктангенс. Вычисляет арктангенс угла. Возвращает значение в радианах.

Шаблон: atan (аргумент)

Пример: atan (1)

Результат: 0.7853981634

4.9. asin (аргумент). Арксинус. Вычисляет арксинус угла. Возвращает значение в радианах.

Шаблон: asin (аргумент)

Пример: asin (0.499934808)

Результат: 0.5235235

4.10. acos (аргумент). Арккосинус. Вычисляет арккосинус угла. Возвращает значение в радианах.

Шаблон: acos (аргумент)

Пример: acos (1)

Результат: 0

4.11. pi. Константа «Пи». Значение константы «Пи»

Пример: pi*R^2

Результат: 25

Преобразование типов

4.11. format (аргумент). Форматированное преобразование к строке.

Функция format(<строка формата>, <выражение>) позволяет преобразовать значение выражения к строке, формат которой определяется аргументом «строка формата». При помощи строки формата можно определить тип данных (строка, целое число, действительное число), к которому будет преобразован результат выражения, точность (число знаков после запятой) для действительных чисел и другие параметры. Спецификация формата начинается с символа «%» и заканчивается буквой, определяющей, к какому типу значение будет преобразовано (например: s-строка, d-целое число, f-действительное число). Число символов, используемых для вывода значения (если это требуется), указывается после символа «%».

Например, format(“%5d“, 15) выведет строку « 15» (впереди 3 пробела). Если нужно перед числом добавить незначащие нули, символ «0» указывается перед числом символов. Например, format(“%05d“, 15) выведет строку «00015». Точность действительного числа указывается после символа «.» (точка), который может следовать либо за шириной поля, либо, если ширина поля не указана, непосредственно за символом «%». Например, format(“%.1f“, 15.784378) выведет строку «15.8», format(“%.3f“, 11.7) выведет строку «11.700», format(“%010.2f“, 11.236) выведет строку «0000011.24».

Пример:

[PARAM]=23.5646376

format(”%f”,[PARAM]) результат: 23

format(”%.1f”,[PARAM]) результат: 23.6

format(”%s”,[PARAM]) результат: 23.5646376

format(”%.5s”,[PARAM]) результат: 23.45

format(”%d”,[PARAM]) результат: 23

format(”%g”,[PARAM]) результат: 2e+001

format(”%x”,[PARAM]) результат: 17

format(”%.5x”,[PARAM]) результат: 00017

format(”%o”,[PARAM]) результат: 27

format(”%.5o”,[PARAM]) результат: 00027

format(”%u”,[PARAM]) результат: 23

format(”%.5u”,[PARAM]) результат: 00023

format(”%i”,[PARAM]) результат: 23

format(”%.5i”,[PARAM]) результат: 00023

format(”%e”,[PARAM]) результат: 2.345679e+001

format(”%.5e”,[PARAM]) результат: 2.34568e+001

Кроме того, в строку формата можно добавлять какие-то дополнительные символы:

format(”X = %.1f”,[PARAM]) результат: X = 23.6

Подробнее о строке формата см. Приложение 2

4.12. int (аргумент). Преобразовать в целое.

Преобразует аргумент к целому числу. Если аргумент - действительное число, результатом будет его целая часть.

Шаблон: int (аргумент)

Пример: int (50.3467)

Результат: 50

4.13. real (аргумент). Преобразовать в действительное число.

Преобразует аргумент к действительному числу.

Шаблон: real (аргумент)

Пример: real (“50.3467”)

Результат: 50.3467

4.14. string (аргумент). Преобразовать в строку.

Преобразует аргумент к строковому типу.

Шаблон: string (аргумент)

Пример: “Итого: “ & string(50)

Результат: Итого: 50

5. Структурные операции. В круглых скобках можно использовать только цифры и строки. Строки вводятся в кавычках - “F”. Древовидная структура параметрического объекта позволяет автоматически формировать (строить) структурные операции. Для этого достаточно выбрать нужный объект из дерева. Параметризуемый в данный момент элемент выделяется в структуре синий галкой.

5.1. child (). Первый подчиненный элемент.

Операторы, функции и параметры, используемые в Мастере функций

5.2. childLast. Последний подчиненный элемент.

Операторы, функции и параметры, используемые в Мастере функций

5.3. next. Следующий соседний элемент.

Операторы, функции и параметры, используемые в Мастере функций

5.4. parent. Родительский элемент.

Операторы, функции и параметры, используемые в Мастере функций

5.5. previous. Предыдущий соседний элемент.

Операторы, функции и параметры, используемые в Мастере функций

5.6. root. Корневой элемент.

Операторы, функции и параметры, используемые в Мастере функций

Порядок использования структурных операций

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

Операторы, функции и параметры, используемые в Мастере функций

В данном случае параметризуется подчиненный элемент Трансформатор - отмечен синий галкой. Один и тот же результат можно получить используя разные структурные операции.

Пример 1: Z=parent.child(2).[TRANSFORMATOR_TANK_LENGTH]

Для элемента Трансформатор вычислять координату Z через параметр [TRANSFORMATOR_TANK_LENGTH] подчиненного элемента номер №2 (Бак_расширитель).

Результат: Z=1000

Пример 2: Z= next.[TRANSFORMATOR_TANK_DIAMETER]

Для элемента Трансформатор вычислять координату Z через параметр [TRANSFORMATOR_TANK_LENGTH] следующего элемента

(Бак_расширитель).

Результат : Z=1000

Порядок вычисления формул и выражений

Порядок действий в формулах SchematiCS соответствует общепринятому порядку действий.

Тип термов. Операторы и функции.

1. Функции и оператор «not». If, int, real, string, sin, cos, tan, asin, acos, atan, exp, log, sqr, sqrt, not.

2. Арифметические операторы высшего приоритета. *, /, %, ^.

3. Арифметические операторы низшего приоритета. +, -.

4. Строковые операторы. &, \.

5. Операторы сравнения. =, >, <, >=, <=, <>.

6. Логические операторы высшего приоритета. And.

7. Логические операторы низшего приоритета. Or, Xor.

На порядок действий можно повлиять, используя круглые скобки.

Пример:

5 + 5 * 2 = 15

( 5 + 5 ) * 2 = 20

В первом случае происходит умножение 5 * 2 = 10, после чего к 10 прибавляется 5.

Во втором случае сначала происходит суммирование 5 + 5 = 10, после чего сумма умножается на 2.

Преобразование типов

Формулы Model Studio CS нечувствительны к начальному типу аргументов. Аргументы автоматически преобразуются в зависимости от типа, который требуется в данном операторе. В случаях, когда оператор воспринимает различные типы аргументов, автоматического преобразования не происходит.

Аргументы, которые основаны на параметрах объектов Model Studio CS, по умолчанию имеют тип «Строка». При преобразовании строк в действительное число нужно учитывать, что в качестве десятичной точки формулы Model Studio CS всегда используется символ «.» (точка) - независимо от национальных настроек.

Результаты сравнений могут быть преобразованы в разные типы данных и, соответственно, по-разному отображаться и интерпретироваться:

Значение

Тип string

Тип real

Тип int

Истина

true

1.0

1

Ложь

false

0.0

0

Пример:

(“5” & ”5”)*2=110

Результат конкатенации строк в примере дает строку «55», которая перед операцией умножения автоматически преобразуется в число 55. Соответственно 55 * 2 = 110.

Пример:

(“1.0” = ”1”) = false

(real(“1.0”) = real(“1”)) = true

В первом случае происходит сравнение двух строковых значений. Соответственно, результат сравнения - false (ложь).

Во втором случае сначала происходит преобразование типов, а затем сравнение двух действительных чисел. Результат сравнения - true (истина).

Предыдущая