Справка по математическим функциям (iLogic)
iLogic предлагает набор математических функций, которые можно добавлять в правила.
В диалоговом окне редактирования правил iLogic используйте один из следующих способов доступа к математическим функциям:
- Разверните узел математический функций на вкладке "Система" в области "Фрагменты" диалогового окна редактирования правил iLogic.
- Щелкните правой кнопкой мыши область текста правила и выберите математические функции.
Стандартные математические функции
В стандартной библиотеке математических функций VB.NET содержится большинство математических функций, используемых в iLogic:
| IsNumeric | PI |
| MinOfMany | Sqrt |
| MaxOfMany | Abs |
| Round | Sign |
| Округление с точностью до десятичной дроби | Int |
| Округлить до значения, ближайшего к значению приращения | Фиксация |
| Округлить с повышением до значения приращения | Log10 |
| Округлить с понижением до значения приращения | Ln |
| Ceil | Pow |
| Floor | Min |
| Sin | Max |
| Cos | CDbl |
| Tan | EqualWithinTolerance |
Математические функции iLogic
iLogic содержит некоторые собственные математические функции. Следующие функции эмулируют функции, доступные в стандартных параметрических формулах Inventor:
Ceil (same as Math.Ceiling)
Sign0(a) = 1 if a > 0.0, = 0 otherwise
Ln (same as Math.Log)
Поскольку некоторые функции Autodesk Inventor отличаются от стандартных математических функций VB.NET с тем же именем, они преобразуются для использования в правиле iLogic:
- Функция
sign становится sign0 в правиле.
- Функция
log становится log10 в правиле.
Тригонометрические функции
| Sin(0) = 0 | Cos(PI) = -1 |
| Sin(PI) = 0 | Tan(0) = 0 |
| Sin(PI/2) = 1 | Tan(PI/4) = 1 |
| Cos(0) = 1 | PI = 3.1415926...... |
| Cos(PI/2) = 0 | |
Функции Sin(), Cos() и Tan() — это стандартные тригонометрические функции, аргументы которых выражены в радианах (не градусах).
При использовании параметра "Сохранить текущее состояние" для тригонометрических форму в диалоговом окне "Редактировать правило", она не преобразуется в код VB.NET. Вместо этого формула сохраняется как формула Inventor. Эту формулу можно редактировать вручную, чтобы преобразовать ее в формулу VB.NET (углы измеряются в радианах).
Для преобразования значения из градусов в радианы используйте следующую формулу:
radians = degrees *(PI/180)
Другие математические функции
| Функция | Цель | Примеры: |
|---|
| Abs() | Возвращает абсолютное значение аргумента. | Abs(10) = 10 Abs(-9.87) = 9.87 |
| Sqrt() | Возвращает квадратный корень из аргумента. | Sqrt(25) = 5 Sqrt(100) = 10 Sqrt(3) = 1.732051 |
| Sign() | Возвращает число, указывающее на знак аргумента. | Если значение положительно, то Sign(значение) = 1 Если значение отрицательное, то Sign(значение) = -1 Если значение равно нулю, то Sign(значение) = 0 |
| Round() | Округляет аргумент до целого числа или до заданного числа цифр после запятой. | Синтаксис: Round(аргумент, при необходимости число знаков после запятой) Round(2.55689) = 3 Round(2.55689, 1) = 2.6 Round(2.55689, 3) = 2.557 Round(PI, 4) = 3.1416 |
| Ceil() | Округляет аргумент до следующего целого числа. | Ceil(2.56) = 3 Ceil(Sqrt(3)) = 2 |
| Floor() | Округляет аргумент до предыдущего целого числа. | Floor(1.789) = 1 Floor(PI) = 3 |
| Log10() | Извлекает логарифм по основанию 10 из аргумента. | Log10(10) = 1 Log10(100) = 2 Log10(15) = 1.176091 |
| Ln() | Извлекает натуральный логарифм из аргумента. (логарифм по основанию e). | Ln(5) = 1.609438 Ln(37) = 3.610918 |
| Pow(аргумент1, аргумент2) | Возвращает результат от возведения аргумента 1 в степень, выраженную аргументом 2. | Pow(2, 2) = 2 2 = 4 Pow(2, 3) = 2 3 = 8 Pow(3, 2) = 3 2 = 9 |
Функции сравнения
| Функция | Цель | Примеры: |
|---|
| Min(аргумент1, аргумент2) | Возвращает меньший из двух аргументов. | Min(2, 4) = 2 Min(9, 4) = 4 Min(Sqrt(2), Sqrt(3)) = 1.4142..... |
| Max(аргумент1,аргумент2) | Возвращает больший из двух аргументов. | Max(2, 4) = 4 Max(9, 4) = 9 Sqrt(3)) = 1.73205..... |
| MinOfMany( ,,, ) | Возвращает меньший из нескольких аргументов. | MinOfMany(2,4,3,6,7,8) = 2 MinOfMany(9,4,5,67,3,5) = 3 MinOfMany(Sqrt(2), Sqrt(3), Sin(PI/2)) = 1 |
| MaxOfMany( ,,, ) | Возвращает больший из нескольких аргументов. | MaxOfMany(2,4,3,6,7,8) = 8 MaxOfMany(9,4,5,67,3,5) = 67 MaxOfMany(Sqrt(2), Sqrt(3), Sin(PI/ignored>/2)) = 1.73205..... |
| EqualWithinTolerance(a, b, 0.001) | Сравнивает значения двух параметров (обозначенных a и b), а затем сравнивает разность со значением допуска (здесь 0,001). Если разность между аргументами меньше значения допуска, функция возвращает логическое значение "Истина". Если разность между аргументами превышает значение допуска, функция возвращает логическое значение "Ложь". | If a = 10.00 and b=10.01 EqualWithinTolerance (a, b, 0.015) = True [Abs (a-b) меньше значения допуска 0,015 дюйма] EqualWithinTolerance (a, b, 0.001) = False [Abs (a-b) больше значения допуска 0,001] |
| EqualWithinTolerance(a,b) | Используется допуск по умолчанию, равный 0.0000001 | |