Специальные функции

Предыдущая страницаВ началоСледующая страница

В T-FLEX CAD доступны следующие специальные функции:

check(,)

distance(,)

distance_u(,,)

measure(,,)

measure_u(,,,)

error()

message()

fixnodename()

get(,)

get_u(,)

get_lcs(,)

get_lcs_u(,)

getv(,)

setv(,)

graph(,)

isfragment()

tget(,)

switch(,,)

select(,)

tgetv(,)

tmgetv(,)

getg(,)

setg(,)

tgetg(,)

tsetg(,)

 

check("Имя файла", Тип)  -   Проверяет наличие файла (имя файла указывается с расширением). Тип файла задаётся следующими значениями:

0 - неопределённый,

1 - документ системы T-FLEX CAD,

2 - шрифт,

3 - база данных,

4 - текстура,

5 - спецификация.

Поиск ведётся в текущей директории, а затем в директориях, заданных в команде Настройка системы, закладка Папки. При обнаружении заданного файла функция возвращает 1, иначе возвращает 0.

distance("Имя1", "Имя2")   -   Получить значение расстояния между указанными 2D или 3D элементами (в параметрах задаются имена элементов или их идентификаторы).

Данная функция автоматически подставляется в выражение переменной, если в команде Измерить создаётся переменная на основе найденного расстояния между двумя 2D или 3D объектами.

Синтаксис функции:

distance ( "имя1",  "имя2" );

distance ( "имя1",  "имя2", "имя_ЛСК") – если указана ЛСК;

distance_u ( "имя1",  "имя2", "имя_ЕИ" ) – если указаны единицы измерения;

distance_u ( "имя1",  "имя2", "имя_ЛСК", " имя_ЕИ") – если указана ЛСК и единицы измерения.

имя1 - имя первого элемента или его идентификатор;

имя2 - имя второго элемента или его идентификатор;

имя_ЛСК – имя ЛСК;

имя_ЕИ – краткое имя ЕИ.

Определить расстояние с помощью функции distance() можно для следующих пар 2D и 3D объектов:

2D элементы – расстояние можно измерить между 2D узлом и другим 2D узлом, линией построения, линией изображения или штриховкой (порядок выбора измеряемых элементов не важен);

3D объекты – расстояние можно измерить между любыми двумя 3D объектами, являющимися 3D элементами построения (кроме ЛСК) или операциями.

Функция distance() также позволяет измерять расстояния для таких топологических 3D объектов, как вершины, рёбра, циклы, грани. Это возможно только для предварительно именованных топологических объектов. Присвоение имени (например, "Вершина_1" или "Ребро_3") осуществляется автоматически в команде Измерить или при использовании данного объекта в какой-либо 3D операции. Присвоенное объекту имя и нужно использовать в качестве его идентификатора при работе с функцией distance().

Примеры использования функции distance

Вычислить расстояние между двумя 3D узлами с именами "3D Узел_1" и "3D Узел_2", можно с помощью следующего вызова функции distance():

distance ( "3D Узел_1", "3D Узел_2" )

Расстояние между линией изображения, имеющей идентификатор 0x3000014, и 2D узлом с именем "Узел 1", также можно вычислить с помощью функции distance():

distance ( "0x3000014", "Узел 1" )

Для работы с функцией distance() рекомендуется использовать команду Измерить.

measure("Имя1", "Имя2", "Отношение")  -   Получить указанное отношение между двумя заданными 2D или 3D элементами (задаются имена элементов или их идентификаторы и тип отношения).

Данная функция автоматически подставляется в выражение переменной, если в команде Измерить создаётся переменная на основе любого найденного отношения (кроме расстояния) между двумя 2D или 3D объектами.

Синтаксис функции:

measure( "имя1", "имя2",  "отношение");

measure( "имя1", "имя2","имя_ЛСК", "отношение") – если указана ЛСК;

measure_u( "имя1", "имя2", "отношение","имя_ЕИ") – если указаны единицы измерения;

measure_u( "имя1", "имя2", "имя_ЛСК", "отношение","имя_ЕИ") – если указана ЛСК и единицы измерения.

имя1 – имя первого элемента или его идентификатор;

имя2 – имя второго элемента или его идентификатор;

отношение – имя вычисляемого отношения.

имя_ЛСК – имя ЛСК;

имя_ЕИ – краткое имя ЕИ.

Функция позволяет вычислить следующие типы отношений:

для 2D элементов:

"Angle" – Угол между двумя прямыми, отрезками или прямой и отрезком;

"DX" – Cмещение двух 2D узлов относительно друг друга по оси X;

"DY" – Cмещение двух 2D узлов относительно друг друга по оси Y;

для 3D объектов:

"Angle" – Угол между векторами направления двух 3D объектов.

Ниже перечислены 3D объекты, для которых можно определить направление (и, соответственно, вычислить данное отношение). Также указано, что будет выбрано в качестве вектора направления для каждого объекта:

3D путь или разомкнутый 3D профиль, лежащие на прямой, – направление прямой;

3D путь или разомкнутый 3D профиль, лежащие на эллипсе (окружности), – вектор, направленный из центра эллипса (окружности) по нормали к плоскости эллипса (окружности);

Плоский 3D профиль; рабочая плоскость; тело операции, состоящее из одной грани, лежащей на плоскости, – нормаль к плоскости;

Цилиндрическая рабочая поверхность; 3D профиль, лежащий на цилиндре; тело операции, состоящее из одной грани, лежащей на цилиндре, – ось цилиндра;

3D профиль, лежащий на конусе; тело операции, состоящее из одной грани, лежащей на конусе, – ось конуса;

Тороидальная рабочая поверхность; 3D профиль, лежащий на торе; тело операции, состоящее из одной грани, лежащей на торе, – ось тора.

"AxisDistance" – Расстояние между осями двух 3D объектов. В качестве объектов измерения можно выбирать те же 3D объекты, что и в предыдущем случае (при нахождении "Angle"), за исключением рабочих плоскостей. Оси выбранных объектов совпадают с их векторами направления.

"DX" – Cмещение двух 3D узлов или 3D точек относительно друг друга по оси X;

"DY" – Cмещение двух 3D узлов или 3D точек относительно друг друга по оси Y;

"DZ" – Cмещение двух 3D узлов или 3D точек относительно друг друга по оси Z.

Функция measure(), как и функция distance(), может измерять отношения между топологическими 3D объектами (вершины, рёбра, циклы, грани), если данные объекты уже использовались в какой-либо операции и были при этом автоматически именованы.

Для двух топологических объектов типа вершина, ребро, грань, а также пары топологический объект – 3D узел возможно также определить дополнительное отношение:

"GeomDistance" – Расстояние между 3D точками, 3D кривыми или поверхностями, соответствующими двум 3D объектам типа: 3D узел, вершина, ребро, грань.

Как и при использовании функции get(), названия параметров функций distance() и measure() можно указывать как заглавными, так и строчными буквами. Если имя элемента или отношения задано неверно, то функция возвращает значение 0.

Примеры использования функции measure

Вычислить расстояние между осями двух тел, например, цилиндра, полученного в результате операции "Выталкивание_1", и тора, построенного с помощью операции "Вращение_2", можно с помощью следующего вызова функции measure():

measure("Выталкивание_1", "Вращение_2", "AxisDistance")

Для работы с функцией measure() рекомендуется использовать команду Измерить.

error(" ")  -  Вывести сообщение пользователя на экран в окне предупреждения об ошибке.

Functionspecial13

Functionspecial14

warn(" ")  -   Выводит сообщение пользователя в окно диагностики, но в отличие от предыдущей команды не прерывает процесс пересчёта модели. Вместо имени может использоваться идентификатор элемента, например "0x01000010".

Functionspecial15

Functionspecial14

message(" ")  -  Вывести сообщение пользователя на экран в окне сообщения.

Functionspecial16

Functionspecial17

fixnodename(n)  -   Получить имя узла фрагмента, который используется для привязки текущего документа в качестве фрагмента при помощи точек привязки. Данная функция полезна для создания библиотеки элементов логических и алгоритмических схем. Она позволяет правильно ориентировать направление соединительных стрелок между элементами. Параметром функции является номер точки привязки фрагмента.

get("STR","P")  -   Получить значение вещественного параметра P элемента системы с именем STR. Вместо имени элемента можно указывать его идентификатор (ID).

Данная функция позволяет получить значение свойства 2D или 3D элемента, а также страниц текущего чертежа. Набор доступных свойств зависит от типа измеряемого элемента.

Данная функция автоматически подставляется в выражение переменной, если в команде Измерить создаётся переменная на основе измеренной характеристики 2D или 3D объекта.

Синтаксис функции:

get("строка1", "строка2")

get("строка1",…,"строка1_n", "строка2)

get_u("строка1", "строка2","строка3") – если указаны единицы измерения

get_lcs("строка1", "строка2","строка3") – если указана ЛСК

get_lcs_u("строка1", "строка2","строка3","строка4",) – если указаны ЛСК и ЕИ

строка1 - имя элемента или его идентификатор;

строка1_n - имена элементов или их идентификаторы при множественном измерении;

строка2 – имя параметра;

строка3 – имя ЕИ (краткое обозначение), если суффикс "_u", имя ЛСК, если суффикс "_lcs" или суффикс "_lcs_u";

строка4 – имя ЕИ (краткое обозначение), если суффикс "_lcs_u".

Множественное измерение допустимо для всех типов функций: get_u(), get_lcs(), get_lcs_u(). При множественном измерении расстояния измеряются функцией get(), с именем параметра "distance".

Все 3D элементы и операции имеют идентификатор и параметр Имя, значение которых по умолчанию автоматически заполняется системой, но имя, при необходимости, может быть изменено пользователем. 2D элементы по умолчанию имеют только идентификатор, а имя можно задать некоторым из них (2D узлам, линиям изображения) в командах редактирования (например, в Изменить узел или Изменить изображение) с помощью опции <Ctrl><N>или NameObject.

Функция get() позволяет в Редакторе переменных получить определенные значения графических элементов. Элементами, параметры которых можно получить с помощью данной функции являются:

2D страницы чертежа;

линии построения;

2D узлы;

линии изображения;

тексты;

фрагменты;

штриховки;

3D элементы построения;

3D операции;

грани, рёбра, циклы.

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

Зарезервированные имена параметров, которые вы можете получить:

для 2D страниц чертежа:

"ZONES_STEP_X" - размер одной зоны по оси X (величина шага по оси X);

"ZONES_STEP_Y" - размер одной зоны по оси Y (величина шага по оси Y_;

"ZONES_OFFSET_X" - смещение разбиваемой на зоны области относительно точки (0,0) - по оси X;

"ZONES_OFFSET_Y" - смещение разбиваемой на зоны области относительно точки (0,0) - по оси Y;

"ZONES_COUNT_X" - количество зон по оси X;

"ZONES_COUNT_Y" - количество зон по оси Y.

Параметры разбивки страницы чертежа на зоны задаются в команде Задать параметры документа, на закладке Зоны.

для узлов:

"X" – X-координата узла;

"Y" – Y-координата узла;

для линий построения:

прямых:

"X", "Y" - координаты первой точки, через которую проходит линия построения – прямая;

"P1", "P2" - координаты второй точки, через которую проходит линия построения – прямая;

окружностей и эллипсов:

"LENGTH" – длина окружности;

"P1" – радиус окружности (данная характеристика присутствует только у окружностей);

"X", "Y" – координаты центра окружности;

сплайнов, 2D путей, функций и эквидистант:

"LENGTH" – длина элемента;

для узлов

"X", "Y" - координаты узла.

для линий изображения:

отрезков:

"LENGTH" - длина отрезка;

"Имя или ID страницы", "IMAGES_LENGTH" - суммарная длина всех линий изображений;

"START_X", "START_Y" – координаты начальной точки отрезка;

"END_X", "END_Y" – координаты конечной точки отрезка;

построенных на основе окружностей:

"LENGTH" - длина дуги окружности;

"CENTER_X", "CENTER_Y" – координаты центра окружности;

"ANGLE" - угол дуги линии изображения;

"RADIUS" – радиус окружности;

построенных на основе эллипсов, сплайнов, 2D путей, эквидистант и функций:

"LENGTH" – длина элемента

для линий изображения, построенных как дуга окружности или эллипса, часть сплайна, 2D пути, эквидистанты или функции, добавляются следующие характеристики:

"START_X", "START_Y" – координаты начальной точки дуги;

"END_X", "END_Y" – координаты конечной точки дуги;

для текстов

"WIDTH" - высота текста.

"HEIGHT" - ширина текста

"X", "Y" – координаты X и Y точки привязки текста;

"TEXT" – содержимое текста.

для фрагментов

В качестве "строки1" выступает имя или идентификатор фрагмента, в качестве "строки2" - имя переменной фрагмента. Функция возвращает значение переменной.

Кроме того, для 2D фрагментов доступны параметры:

"BoundBoxLeft" – левая граница охватывающего прямоугольника (координата X);

"BoundBoxRight" – правая граница охватывающего прямоугольника (координата X);

"BoundBoxTop" – верхняя граница охватывающего прямоугольника (координата Y);

"BoundBoxBottom" –нижняя граница охватывающего прямоугольника (координата Y);

"BoundBoxCenterX" – координата X центра охватывающего прямоугольника фрагмента;

"BoundBoxCenterY" – координата Y центра охватывающего прямоугольника фрагмента.

для размеров:

"FIT" – посадка размера;

"LOWER_DEVIATION" – нижнее значение допуска;

"UPPER_DEVIATION" – верхнее значение допуска;

"TEXT_BEFORE" – текст перед (размерным числом);

"TEXT_AFTER" – текст после (размерного числа);

"TEXT_UNDER" – текст под (размерным числом);

"TOLERANCE" – допуск размера;

"VALUE" – значение размера;

для надписей:

"INSCR_TEXT" – текст надписи;

"INSCR_TEXT_UNDER" – текст под полкой надписи;

"TEXT_ON_LEADER" – текст на стрелке;

"TEXT_UNDER_LEADER" – текст под стрелкой;

для 2D коннекторов – в качестве характеристик коннектора возвращаются значения коннектора.

для штриховок

"AREA" - площадь штриховки.

"XMASS" - Х-координата центра масс.

"YMASS" - У-координата центра масс.

"PERIMETER" - периметр штриховки.

"XAREAMOMENT" – Компонента Ix момента инерции;

"YAREAMOMENT" - Компонента Iу момента инерции;

"PRODUCTAREAMOMENT" - Центробежный момент инерции;

"XINERTIARADIUSVALUE" - Радиус инерции X;

"YINERTIARADIUSVALUE" - Радиус инерции Y;

"XAREAMOMENTMAINVALUE" - Компонента Ix главного момента инерции относительно центра масс;

"YAREAMOMENTMAINVALUE" - Компонента Iу главного момента инерции относительно центра масс;

"MAINAXESROTATIONVALUE" - Угол поворота главных осей инерции.

Для 3D элементов системы можно получать свойства следующих объектов:

для операций:

"Area" – площадь поверхности;

"Mass" – масса тела (учитывается плотность материала);

"Xmass", "Ymass", "Zmass" - X,Y,Z-координаты центра масс;

"IX", "IY", "IZ" – Моменты инерции относительно осей X, Y, Z;

"IXY", "IYZ", "IZX" – Значение инерции относительно плоскостей XY, YZ, ZX;

"Volume" – объём;

"Density" - плотность.

для операции "Наложение материала" добавляется свойство:

"MaterialArea" – общая площадь граней, на которые назначен материал;

для 3D массивов операций, Тел и элементов построения любых видов добавляется свойство:

"CopyCount" – фактическое количество копий в массиве (с учётом ограничений и исключений);

для 3D узлов:

"POINTX", "POINTY", "POINTZ" - X, Y, Z-координаты 3D узла;

для 3D профиля:

"Area" - площадь поверхности 3D профиля;

"Perimeter" - периметр замкнутого 3D профиля или длина разомкнутого;

для 3D пути:

"Perimeter" – длина 3D пути;

для грани:

"Area" - площадь поверхности;

"Perimeter" - периметр грани;

для плоской грани добавляются свойства:

"LocationX", "LocationY", "LocationZ" – X, Y, Z-координаты начальной точки плоскости грани;

"NormalX", "NormalY", "NormalZ" – X, Y, Z-компоненты нормали плоскости грани;

"RefDirectionX", "RefDirectionY", "RefDirectionZ" – X, Y, Z-компоненты вектора плоскости (вектор плоскости определяет направление оси X плоскости грани);

для цилиндрической грани добавляются свойства:

"Radius" - радиус цилиндра;

"Diameter" – диаметр цилиндра;

"CenterX", "CenterY", "CenterZ" – X, Y, Z-координаты центра;

"AXISX", "AXISY", "AXISZ" – X, Y, Z-компоненты оси цилиндра;

для тороидальной грани добавляются свойства:

"MaxRadius", "MinRadius" -  максимальный и минимальный радиусы тора;

"CenterX", "CenterY", "CenterZ" – X, Y, Z-координаты центра тора;

"AxisX", "AxisY", "AxisZ" – X, Y, Z-компоненты оси тора;

для сферической грани добавляются характеристики:

"Radius" – радиус сферы;

"Diameter" – диаметр сферы;

"CenterX", "CenterY", "CenterZ" – X, Y, Z-координаты центра сферы;

для ребра:

"Perimeter" – длина ребра;

"StartX", "StartY", "StartZ" – X, Y, Z-координаты начальной точки;

"EndX", "EndY", "EndZ" – X, Y, Z-координаты конечной точки;

для прямого ребра добавляются свойства:

"VECTORX", "VECTORY", "VECTORZ" – X, Y, Z-компоненты направления отрезка;

для ребра по окружности или по дуге окружности:

"Radius" – радиус окружности;

"Diameter" – диаметр окружности;

"CenterX", "CenterY", "CenterZ" – X, Y, Z-компонента центра окружности;

"AxisX", "AxisY", "AxisZ" – X, Y, Z-компоненты нормали к плоскости окружности;

"StartAngle" – начальный угол дуги окружности;

"EndAngle" – конечный угол дуги окружности;

для эллиптического ребра добавляются свойства:

"MajorRadius" – радиус большой полуоси эллипса;

"MinorRadius" – радиус малой полуоси эллипса;

"CenterX", "CenterY", "CenterZ" – X, Y, Z-компонента центра эллипса;

"AxisX", "AxisY", "AxisZ" – X, Y, Z-компоненты нормали к плоскости эллипса;

"MaxDirectionX", "MaxDirectionY", "MaxDirectionZ" – X, Y, Z-компонента большой полуоси эллипса;

"MinDirectionX", "MinDirectionY", "MinDirectionZ" – X, Y, Z-компонента малой полуоси эллипса;

"StartAngle" – начальный угол дуги эллипса;

"EndAngle" – конечный угол дуги эллипса;

для цикла:

"Perimeter" – периметр цикла.

для 3D коннекторов – в качестве характеристик коннектора возвращаются значения коннектора.

Имена параметров могут задаваться как заглавными, так и строчными буквами.  Если имя элемента или его свойство задано неверно, то функция возвращает значение 0.

Примеры использования функции get

Для узла, имеющего имя NODE_1, для того,чтобы получить значение его X-координаты необходимо осуществить следующий вызов функции get():

get ( "NODE_1", "X" )

Функция возвратит значение X-координаты узла с именем NODE_1.

get("0x9000001","PERIMETER")

Функция возвратит длину периметра контура штриховки, имеющей идентификатор 0x9000001.

get("3D фрагмент_11","volume")

Функция возвратит объём тела 3D фрагмента с именем 3D фрагмент_11.

Несколько простых применений функции get():

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

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

Определение координат любой точки, которые трудно рассчитать.

Функции getv() и setv()

Функции getv() и setv() позволяют получать и задавать значения вещественных служебных характеристик документов T-FLEX CAD, таких как количество страниц документа, масштаб и размер шрифта, установленные для каждой страницы, координаты углов форматок страниц, объём всех тел в 3D сцене (если документ содержит 3D модель) и т.п. Значения данных характеристик можно использовать, например, для передачи данных между сборочным чертежом и фрагментами.

getv("NAME",N)  -   Получить значение служебного параметра документа с именем NAME. Некоторые параметры определяются отдельно для каждой 2D страницы документа. В этом случае к имени параметра добавляется "_Страница", где "Страница" – имя нужной страницы текущего документа. Если имя страницы не указано, возвращается значение параметра для первой страницы документа.

setv("NAME",N) - Установить значение N для глобального параметра системы с именем NAME.

В системе T-FLEX CAD определены несколько служебных параметров, которые влияют на отображение чертежа на экране. Такими параметрами являются:

SCALE - масштаб чертежа.

XL        - координата X левой границы чертежа.

XH        - координата X правой границы чертежа.

YL        - координата Y нижней границы чертежа.

YH        - координата Y верхней границы чертежа

_XL        - координата X левой границы сборочного чертежа при использовании текущего чертежа в качестве фрагмента.

_XH        - координата X правой границы сборочного чертежа при использовании текущего чертежа в качестве фрагмента.

_YL        - координата Y нижней границы сборочного чертежа при использовании текущего чертежа в качестве фрагмента.

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

FSIZE        - размер шрифта чертежа.

LTHICK        - толщина основных линий чертежа.

TLTHICK        - толщина тонких линий документе

EXPLODE        - режим разборки фрагментов чертежа.

XSIZE, YSIZE, ZSIZE – измеряют габаритные размеры 3D модели по осям X, Y и Z глобальной системы координат.

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

APAGES - возвращает общее количество страниц, в документе, в который включен данный фрагмент

APAGE - возвращает номер страницы, на которую нанесен данный фрагмент

DPAGE- текущий номер чертёжной (обычной) страницы

DPAGES - число чертёжных (обычных) страниц

BOMPAGES - возвращает общее количество страниц в спецификации в документе, в который включен данный фрагмент

BOMPAGE - возвращает номер страницы спецификации, на которую нанесен данный фрагмент

getv_u позволяет возвращать единицы измерения.

Для трёхмерных моделей предусмотрены следующие служебные параметры:

getv("mass",0) - значение массы всех тел в сцене, либо значение массы, заданное вручную в параметрах документа. Масса, заданная вручную, имеет приоритет над массой тел.

getv("volume",0) - значение объёма всех тел в сцене;

getv("area",0) - значение площади поверхности всех тел в сцене;

В функции setv параметры _XL, _XH, _YL, _YH, EXPLODE, APAGES, APAGE, BOMPAGES, BOMPAGE не используются.

Кроме этих параметров вы можете создать свои служебные параметры.

Функции setv() и getv() позволяют в редакторе переменных соответственно устанавливать и получать значения служебных параметров.

Функции setv() и getv() могут получать и устанавливать значения параметров, задаваемых в команде Параметры документа любой страницы. Для этого необходимо при вызове этой функции сформировать имя первого операнда из старого имени (их список приведён выше), знака подчёркивания и имени страницы. Например, для получения масштаба второй страницы, необходимо вызвать функцию

getv("SCALE_Страница 2",0)

Если имя страницы не указано, возвращается значение параметра для первой страницы документа.

Синтаксис функций:

getv("NAME",N)

Этот вызов означает: получить значение служебного параметра системы, где NAME - имя служебного параметра, N - значение, которое вернет функция, если не найдет указанного параметра.

Вы можете получить значение любого параметра чертежа, установленного функцией setv().

setv("NAME",M)

Этот вызов означает: установить значение служебного системы, где NAME - имя служебного параметра, M - значение, которое будет установлено для указанного параметра. В качестве M может использоваться переменная или выражение.

Если вы зададите новое имя, то система создаст для текущего чертежа новый служебный параметр. Служебные параметры могут использоваться при передаче значений между сборочным чертежом и его составными частями (фрагментами).

Например, в сборочном чертеже вы с помощью функции

setv ("TMP", 50)

создаете служебный параметр TMP со значением 50, а во фрагментах с помощью функции

getv ("TMP", 0)

получаете значение служебного параметра TMP равное 50.

graph("Имя графика",X) - Получить значение функции F(x), соответствующее значению аргумента X, для графика c именем "Имя графика".

isfragment( )   -    Получить признак использования чертежа в качестве фрагмента. Данная функция возвращает значение 0 в том случае, если чертёж является текущим (загруженным для редактирования), 1 если чертёж является фрагментом первого уровня вложенности, 2 - второго и т. д.

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

tget( , )   -   Функция позволяет получить текстовые свойства элементов: имя материала 3D операций, значения текстовых переменных фрагмента.

$text = tget("0xD000001","$razrab") – получаем фамилию разработчика чертежа.

$mater = tget("Выталкивание_1","Material")  – определение материала операции "Выталкивание_0".

switch(Условие, Значение1, Результат1, Значение2, Результат2, … , Результат по умолчанию)  -   Функция используется для выбора варианта значения по одному условию.

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

FunctionSpecial11

select(Условие1, Результат1, Условие2, Результат2, … , Результат по умолчанию)  -  Функция используется для выбора варианта значения по нескольким условиям.

Через запятую перечисляются условия и результаты, которые будут заданы в случае выполнения условия.

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

FunctionSpecial12

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

tgetv( , )  -   Данная функция предназначена для получения значения текстовых системных переменных или характеристик текущего чертежа.

Функция имеет два параметра. Первый параметр - текстовое значение. Второй параметр отвечает только за формат вывода даты/время для параметров "PRINTDATE", "CREATEDATE", "SAVEDATE". Пример вызова:

$TIME = tgetv ("TIME")

$TIME= tgetv ("CREATEDATE", "yyyy:MM:dd  hh:mm:ss")

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

"USERNAME"

Имя текущего пользователя системы

"YEAR"

Текущий год

"MONTH"

Текущий месяц (номер)

"DAYOFWEEK"

Текущий день недели (номер)

"DAY"

Текущий день месяца (номер)

"HOUR"

Текущий час

"MINUTE"

Текущая минута

"SECOND"

Текущая секунда

"DATE"

Текущая дата (название) в соответствие с текущими установками системы

"TIME"

Текущее время в соответствие с текущими установками системы

"REGNAME"

Имя пользователя, на которого зарегистрирована система

"REGCOMPANY"

Название компании, на которую зарегистрирована система

"TITLE"        

Название текущего чертежа

"SUBJECT"

Предмет текущего чертежа

"AUTHOR"

Имя автора текущего чертежа

"KEYWORDS"        

Ключевые слова текущего чертежа

"COMMENTS"

Комментарий текущего чертежа

"TEMPLATE"

Шаблон OLE документа

"LASTAUTHOR"

Имя последнего пользователя, сохранившего чертеж

"REVNUM"

Номер редакции текущего чертежа

"EDITTIME"

Общее время редактирования текущего чертежа

"PRINTDATE"        

Дата последнего вывода на принтер текущего чертежа

"CREATEDATE"

Дата создания текущего чертежа

"SAVEDATE"

Дата последнего сохранения текущего чертежа

"FILENAME"

Имя текущего файла (возвращаемая строка содержит полный путь к текущему документу и имя файла с расширением)

"SHORTFILENAME"

Имя текущего файла (возвращаемая строка содержит только имя файла)

"FORMAT"

Формат текущего чертежа

"SCALE"

Масштаб первой страницы текущего документа. Для получения масштаба любой страницы документа аргумент функции будет SCALE_Имя страницы. Например, tgetv("SCALE_Страница 2") считает масштаб из параметров второй страницы

"SCALEVALUE"

Масштаб первой страницы текущего документа без буквы «М».

"MASSUNIT"

Единицы измерения массы, выбранные в параметрах текущего документа
(Параметры документа > Документ > 3D > Единицы > Масса)

"LINEARUNIT"

Единицы измерения длины, выбранные в параметрах текущего документа
(Параметры документа > Документ > 3D > Единицы > Длина)

"_FORMAT"

Формат чертежа страницы, на которую вставлен текущий фрагмент

"FORMAT_BOM"

Возвращает формат первой страницы типа «Спецификация». Если такой страницы нет, то возвращает формат первой страницы;

"_SCALE"

Масштаб чертежа страницы, на которую вставлен текущий фрагмент

"_SCALEVALUE"

Масштаб чертежа страницы, на которую вставлен текущий фрагмент без буквы «М».

"PAGENAME"

Имя страницы, на которую вставлен фрагмент.

"PAGETYPE"

Тип страницы, на которую вставлен фрагмент.

Вторым (необязательным) параметром функции может быть одно из зарезервированных значений:

"d"

День месяца без нуля в начале.

"dd"

День месяца.

"ddd"

Сокращённое название дня недели.

"dddd"

Полное название дня недели.

"M"

Месяц без нуля в начале.

"MM"        

Месяц.

"MMM"

Сокращённое название месяца.

"MMMM"

Полное название месяца.

"yy, y"

Последние две цифры года.

"yyyy, yyy"

Год.

"h"

Часы в 12-часовом формате без нуля в начале.

"hh"

Часы в 12-часовом формате.

"H"

Часы в 24-часовом формате без нуля в начале.

"HH"        

Часы в 24-часовом формате.

"m"

Минуты без нуля в начале.

"mm"

Минуты.

"s"

Секунды без нуля в начале.

"ss"

Секунды.

"t"

Сокращённое обозначение части суток (до или после полудня) для 12-часового формата, если таковое есть в текущем языке системы.

"tt"

Полное обозначение части суток (до или после полудня) для 12-часового формата, если таковое есть в текущем языке системы.

Лишние символы в параметрах игнорируются (например, "ss" и "sssssss" дадут один и тот же результат), остальные символы копируются без изменений. Если в тексте, который необходимо скопировать в результат, есть одинарные кавычки или буквы параметров, то его необходимо заключать в одинарные кавычки, а для копирования самой кавычки нужно написать две подряд.

tmgetv( )   -   Данная функция работает аналогично функции tgetv, но для получения значений системных переменных сборочного чертежа в случае использования текущего чертежа в качестве фрагмента.

Функции для глобальных переменных

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

getg("NAME", N) - получить значение глобальной переменной системы (NAME - имя глобальной переменной, N - значение, которое возвращает функция, если переменная  «NAME» не найдена).

setg("NAME", N) - установить значение N для глобальной переменной системы с именем NAME. Если переменной с указанным именем не существует, то она будет создана.

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

tgetg("NAME", STR)  - получить значение глобальной переменной системы (NAME - имя глобальной переменной, STR - текстовая строка (имя текстовой переменной), которую возвращает функция, если переменная "NAME" не найдена).

tsetg("NAME", STR) - установить значение STR для глобальной переменной системы с именем NAME. Если переменной с указанным именем не существует, то она будет создана.

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

Кроме использования функций для задания значения глобальных переменных можно вызвать команду Параметры > Глобальные переменные (опция Параметры позволяет изменить имя, значение и тип выбранной переменной).

Например, в одном  документе вы с помощью функции...

setg ("TMP", 50)

...создаете глобальную переменную TMP со значением 50, а в других документах с помощью функции...

getg ("TMP", 0)

...получаете значение глобальной переменной TMP равное 50.