Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПДС Руководство пользователя.pdf
Скачиваний:
664
Добавлен:
29.03.2015
Размер:
5.49 Mб
Скачать

Руководство пользователя СПДС GraphiCS 3.0

Введение в MCS_SCRIPT

Приложения к AutoCAD СПДС GraphiCS и MechaniCS используют собственный встроенный язык программирования MCS_SCRIPT, являющийся разработкой компании Consistent Software. Синтаксис языка, ключевые слова и операторы, логические функции заимствованы из языка С.

В MCS_SCRIPT используются переменные, которым могут задаваться числовые и строковые значения, а также специальные типы переменных: точка, вектор и плоскость, предназначенные для описания геометрических зависимостей между объектами библиотеки деталей СПДС. Специальные типы логических связей между переменными – параметрические и геометрические зависимости – предназначены для взаимодействия объектов СПДС между собой на чертеже. Язык MCS_SCRIPT рассчитан на опытных пользователей СПДС и AutoCAD и специалистовразработчиков.

Общие сведения

Программу-скрипт любого объекта библиотеки деталей СПДС можно посмотреть в закладке Скрипт диалогового окна Свойства объекта. Это диалоговое окно вызывается кнопкой Свойства

объекта панели инструментов Wizard.

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

Скрипт является постоянно действующим описанием параметрического поведения объекта и содержит правила будущих действий с ним. Опытные пользователи найдут некоторое сходство поля скрипта с консолью встроенного редактора VLISP AutoCAD:

- 141 -

Consistent Software

Руководство пользователя СПДС GraphiCS 3.0

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

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

Рекомендации по использованию скриптов

Все объекты базы имеют собственную программу-скрипт. Просмотр и редактирование скрипта осуществляется в поле закладки Скрипт диалогового окна Свойства объект. При редактировании скрипта пользователь может осуществлять все действия с буфером обмена Windows: копирование, вырезание, вставку любых фрагментов текста скрипта. Поиск и замена по «ключевому слову» не поддерживается. Предусмотрена возможность производить редактирование любых частей скрипта в других текстовых редакторах, сохраняя исходную пунктуацию.

Для управления действиями с объектами, а также созданием и изменением скрипта используются кнопки, расположенные в нижней части закладки Скрипт диалогового окна Structure Wizard:

Шаблон скрипта – удаляет текущий скрипт и создает шаблон-заготовку с набором

типовых функциональных блоков;

Удалить все – приводит к удалению программы-скрипта текущего объекта;

Скопировать скрипт – позволяет заменить скрипт текущего объекта скриптом

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

Скопировать текущий скрипт на объекты – позволяет заменить скриптом

текущего объекта все скрипты объектов в указанной директории-папке базы:

- 142 -

Consistent Software

Руководство пользователя СПДС GraphiCS 3.0

Просмотреть скрипт другого объекта – открывает в дополнительном окне скрипт

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

Мастер скриптов – инициирует пошаговый процесс создания программы-скрипта.

Более подробная информация о процессе создания и наложения зависимостей приведена в разделе «Создание отдельного параметрического объекта».

Важно! Это часто используемая кнопка;

Мастер зависимостей – инициирует процесс создания и наложения зависимостей

между текущим объектом и объектом в базе или уже находящимся в чертеже. Более подробная информация о процессе создания и наложения зависимостей приведена в разделе «Наложение связей между объектами».

Важно! Это часто используемая кнопка;

Генерация строки для спецификации – предназначена для формирования

передаваемой в спецификацию строки с данными:

Нежелательные действия

- 143 -

Consistent Software

Руководство пользователя СПДС GraphiCS 3.0

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

При появлении сообщения-предупреждения об удалении или замене текущего скрипта

пользователь должен соблюдать осторожность – после выполнения этой операции данные могут быть потеряны безвозвратно. Если после изменения скрипта пользователь нажал кнопку Отмена, выполненные действия не сохраняются.

Скрипт является неотъемлемой частью объекта. Объект, не имеющий скрипта, не может быть вставлен в чертеж. Запрещается удалять текст программы скрипта.

Синтаксис и пунктуация скрипта

Правила синтаксиса MCS_Script заимствованы из языка С++. Перечень базовых типов данных наиболее подробно изложен в специальном руководстве по языку MCS_Script. Остановимся на правилах и приемах редактирования готового скрипта.

Программный блок скрипта, отрабатывающий назначенную функцию открывается командой Function и имеет имя, например, ActHeader, которые обозначаются разными цветами. Содержание блока ограничивается операторными скобками «{» и «}»:

function ActHeader{ NPart=1;

Public(L, "Длина стержня", dr, "Диаметр резьбы",WP1, "Рабочая плоскость 1", swTr, "Мелкий шаг резьбы", rScrewOk, "Болт Ok",

s, "Размер под ключ", b, "Длина резьбы"); Protected(seted, rMaxLen, rMinLen, rTrLen, p); Changeable(dr, swTr, WP1, L); OnDlgBeforeSelectParam = 1; ShowWhenSelPnt = 1;

};

1.Точка с запятой «;», которая ставится в конце блока, означает переход к следующему блоку.

2.Название блока-функции указывает характер исполнения действия. Например, в блоке с названием ActHeader указывается характер глобальных (для всего скрипта) переменных и задается количество выбираемых из чертежа параметров объекта. Этот блок скрипта выполняется в первую очередь.

3.В скрипте помимо пользовательских переменных используются встроенные служебные переменные. Например, переменная Npart.

- 144 -

Consistent Software

Руководство пользователя СПДС GraphiCS 3.0

4.Присвоение значения переменным осуществляется как автоматически (пошаговое действие в Мастере скриптов), так и при редактировании скрипта пользователем. Пользователь может устанавливать значения после знака «=».

5.В MCS_script существует понятие исполняемой строки. Она содержит только одну команду, ключевое слово или присваиваемую переменную. В конце исполняемой строки обязательно ставится знак «;».

6.Значения аргументов переменным функциям записываются в закрытых круглых скобках и перечисляются через запятую.

7.Ввод комментариев. Любой комментарий записывается при помощи знака «//». Все символы после этого знака до конца строки будут считаться комментарием. Комментарий не исполняется. Например:

function ActHeader {

//Произвольный комментарий NPart=1;//Произвольный комментарий

8.Допускаются произвольные отступы, пустые строки и пробелы при записи текста программы. Длинные строки можно переносить.

9.При записи ключевых слов (имен переменных, функций, операторов) важно соблюдать регистр символов (прописные и строчные). Например: ActHeader – правильная запись, actheader – неправильная запись.

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

Ключевые функции и внутренние переменные

Вязыке MCS_Script используются следующие исполняемые блоки:

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

Функция OnInitialization предназначена для присвоения начальных значений параметрам объекта. Например, при вставке объекта необходимо указать начальное значение размеров объекта, чтобы он правильно отображался на чертеже при вставке. Вызывается при вставке объекта из библиотеки деталей.

Функция BeforeConnect. Это служебная функция, предназначенная для выполнения предварительных действия перед началом селектирования объектов во время вставки. Например, можно обновить зависимости перед вставкой объекта ResetAllConstraint(). Вызывается во время вставки объекта.

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

Функция OnDialog предназначена для вызова диалога редактирования параметров объекта. Определяется список параметров, значения которых указываются

- 145 -

Consistent Software

Руководство пользователя СПДС GraphiCS 3.0

пользователем в диалоговом окне при вставке и редактировании. Структура диалога устанавливается внутренней функцией UniDialog. Определяются следующие аргументы: DBFLD (перечень табличных выбираемых переменных), DBINF (перечень табличных невыбираемых переменных),

VFLD (перечень нетабличных переменных), BFLD (перечень переключателей Switches), RADIO (перечень создаваемых выпадающих списков), TVIDS (перечень определенных видов-проекций, где lViewType – переменная текущего вида):

Функция OnChangeParameters предназначена для реакции на изменение параметров и рабочих плоскостей, связанных зависимостями с параметрами и плоскостями другого объекта. Например:

function OnChangeParameters{ fix = 0;

if(new.dr != dr){ //dr –переменная с зависимотями

- 146 -

Consistent Software

Руководство пользователя СПДС GraphiCS 3.0

LoadInCache(dr); SelectInCache("kFirst", "dr", "~", new.dr);

}

Handled = OBJ_HANDLED;

if(IsFixedParam(WP1)){ //WP1-Рабочая плоскость с зависимостями fix = 1;

pntOrigin = Point(new.WP1); vecDirection = -Vector(new.WP1);

}

}

Эта функция вызывается при изменении связанных зависимостями параметров.

Функция OnDialogChanged. Эта функция не входит в стандартный шаблон и создается пользователем самостоятельно в Мастере скриптов, шаг Условия отображения. Функция предназначена для изменения списка параметров, значения которых указываются пользователем. По условию, указанному пользователем, в диалоговом окне редактирования объекта могут быть скрыты параметры, переключатели, проекционные виды.

Функция OnMakeParameters. Окончательный пересчет всех параметров. В этой функции производится вычисление параметров, если при создании скрипта назначается некоторая формула вычисления. Кроме того, здесь описываются назначенные рабочие плоскости (WP1,WP2…WPn) и определяются значения встроенных строковых параметров (strTheName, strTheType, strTheSubType), которые служат для идентификации объекта при установлении зависимостей. Функция вызывается после завершения редактирования объекта и выполняется в последнюю очередь.

Функция OnInitSelect. Эта функция не входит в стандартный шаблон и создается пользователем самостоятельно. Предназначена для установки сообщения в командной строке и инициализации меню AutoCAD. Например:

function OnInitSelect{

strPromt = "Выберите длину объекта";

SetMenu(1,"1; 1; 1\nУвеличить\nLUp\n; 2\n уМеньшить\n LDown\n;"); };

Вид контекстного меню и командной строки при выполнении функций strPromt и SetMenu:

- 147 -

Consistent Software

Руководство пользователя СПДС GraphiCS 3.0

Внутренняя функция SetMenu не работает, если не введена функция обработчика меню

OnMenu.

Функция OnMenu предназначена для обработки действий, соответствующих установленным для объекта командам меню AutoCAD. Эта функция не входит в стандартный шаблон и создается пользователем самостоятельно. Вызывается в ответ на выбор объекта интерфейса AutoCAD (выпадающее или контекстное меню и т.д.), созданного с помощью функции SetMenu. Функция MessageBox формирует окно сообщения AutoCAD, например:

function OnInitSelect{

strPromt = "Выберите длину объекта";

SetMenu(1,"1; 1; 1\nУвеличить\nLUp\n; 2\n уМеньшить\n LDown\n;"); };

function OnMenu{

if (MenuCMD == 1) {

text = "Cmd1" + MenuText; MessageBox(text); LoadInCache(dr, L);

SelectInCache("kFirst", "dr", "~", 1000, "L", "~", L);

}

if (MenuCMD == 2) {

text = "Cmd2" + MenuText; MessageBox(text); LoadInCache(dr, L);

SelectInCache("kFirst", "dr", "~", 1, "L", "~", L);

}

}

Функция SetGripPoint. Подготовка управляющих точек Grip-points. Для удобства экранного редактирования объекта назначаются новые активные управляющие «ручки» (Grips). По умолчанию создается только одна «ручка» – в точке вставки объекта. Пользователь может добавить в объект любое количество «ручек». Функция вызывается при селектировании объекта на чертеже.

Функция OnMoveGripPoint. Эта функция не входит в стандартный шаблон и создается пользователем самостоятельно. В этой функции описывается изменение параметров объекта при перемещении пользователем «ручек» объекта. Вызывается при сдвиге

Grip-point.

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

- 148 -

Consistent Software