Параметризация функциями

Параметризация функциями представляет собой замену статичных характеристик объекта, которые определяются числами или дизайн-переменными, выражениями переменного результата, зависящими, например от координат других объектов или других параметров модели. Для использования функций параметризации необходимо в строке характеристики объекта, которую нужно параметризовать, нажать правую кнопку мыши и выбрать пункты ParametrizeExpression Builder. Раскроется окно конструктора функций (рис. 2)

Рис. 2

В этом окне необходимо указать следующие параметры:

- группу функций, на рис. 2 выбрана группа, отвечающая за параметризацию положения и ориентации объектов (Location/Orientation).

- функцию из группы, на рис. 2 выбрана функция LOC_ON_AXIS. Полный вид выбранной функции отображается в нижней части окна. При двойном щелчке левой кнопки мыши на выбранной функции, строка с ее названием и обобщенными аргументами появляется в окне редактирования.

- аргументы функции. Их можно записать вручную или указать с помощью контекстного меню в строке Getting Object Data. В последнем случае нужно предварительно определить тип нужных объектов (на рисунке этот тип определен как Markers). Аргументы функции указываются последовательно и могут быть вставлены в тело функции с помощью кнопки Insert Object Data.

После того как функция задана необходимо нажать кнопку Ok для вставки функции в строку параметризуемой характеристики. Для некоторых функций доступна кнопка Assist, которая выводит дополнительное окно задания аргументов функции с их описанием. Если возможно, значение функции можно вычислить с помощью кнопки Evaluate или построить ее график с помощью кнопки Plot.

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

- Функция LOC_ALONG_LINE(Object1, Object2, Rreal) располагает параметризуемый маркер на линии между маркерами Object1 и ObjectT2, на расстоянии REAL от маркера Object1.

- Функция LOC_ON_AXIS(Object, REAL, String) располагает параметризуемый маркер вдоль оси String маркера Object на расстоянии REAL от него. Параметр STRING может принимать значения “x”, “y” или “z”.

- Функция LOC_RELATIVE_TO({ARRAY}, Object) располагает параметризуемый объект на расстоянии заданном смещениями вдоль координатных осей, связанных с маркером Object. Эти значения указываются вместо слова ARRAY через запятую.

- Функция LOC_ON_LINE({{array1},{array2}}, s) – располагает маркер на линии проходящей через точки, координаты которых указаны в массивах array1иarray2, на расстоянии s от первой точки. Причем расстояние s отсчитывается от первой точки в сторону второй точки.

- Функция ORI_RELATIVE_TO({ARRAY}, Object) ориентирует параметризуемый маркер с помощью относительных углов поворота, указанных в массиве ARRAY вокруг осей X,Y,Z маркера Object. Углы при этом указываются через запятую.

- Функция ORI_ALONG_AXIS(Object1, Object2, String) ориентирует ось параметризуемого маркера, указанную в строке String вдоль линии между маркерами Object1 и Object2. Ориентация остальных осей параметризуемого маркера в этом случае произвольная.

- Функция ORI_ALLIGN_AXIS(Object, String) ориентирует параметризуемый маркер в соответствии с выражением Stringкоторое имеет вид “a+b” или “a-b” где ax, y или z – название оси маркера OBJECT, b - название одной из осей параметризуемого маркера. Знак «+» означает, что оси одинаково направлены, а знак «-» – противонаправлены. Например выражение “x+z” означает, что ось Z параметризуемого маркера направлена вдоль оси X параметризующего маркера.

Функции из группы Modelling позволяют получать смещения между объектами модели.

- Функция DX(object1, object2, object3) возвращает проекцию расстояния между маркерами object1 и object2 на ось Х маркера object3. Если третий параметр функции не указан, то вместо него используется глобальная система координат.

- Функции DY(object1, object2, object12)иDZ(object1, object2, object3) аналогичны функции DX, но возвращают расстояние между маркерами вдоль осей Y и Z соответственно.

- Функция DM(object1, object2) возвращает абсолютное расстояние между маркерами object1 и object2 соответственно.

- Функция AX(object1, object2) возвращает угол поворота осей Z,Y маркера object1 вокруг оси Х маркера object2. При этом оси Х обеих маркеров должны быть параллельны.

- Функции AY(object1, object2, object12)иAZ(object1, object2, object3) аналогичны функции AX, но возвращают углы поворота вокруг осей Y и Z соответственно.