Введение
Языковые средства в системе ГРАФИКА-81
Создание библиотек типовых геометрических моделей
Разработка специализированных систем проектирования с использованием языковых средств
Управление процессом проектирования
Литература

В статье рассмотрены особенности использования языковых средств для описания моделей проектируемых объектов и процессов в CAD/ CAM-системах. На примере системы ГРАФИКА-81 показаны возможности создания библиотек типовых моделей, разработки специализированных систем, в частности, системы проектирования деталей типа тел вращения, описания процессов проектирования схемной документации. Показана возможность использования языковых средств для решения задачи проектирования в глобальных сетях (например, в Internet) на удаленных CAD/CAM-системах.

Введение

Эффективность CAD/CAM-систем в большей степени проявляется при решении достаточно сложных задач проектирования, связанных, например, с сопутствующими расчетами, моделированием, подготовкой управляющей информации для станков с ЧПУ, координатографов для плазовых работ, фотоплоттеров для получения высокоточных фотошаблонов и т.п. Меньший эффект дает использование таких систем при создании чертежной документации [1].

Разработчики CAD/CAM-систем пытаются ускорить и упростить процесс ввода информации при рутинных операциях таких, как черчение. Появились средства интерактивного взаимодействия с системой. Эти средства легко осваиваются пользователем. Однако , проработав некоторое время, пользователь обнаруживает, что трудоемкость выпуска чертежей не снизилась или снизилась незначительно. Каждую линию чертежа конструктор должен провести сам, как он это делал вручную, но только с использованием новых инструментальных средств. В этих условиях оцениваемый экспертами эффект от сокращения времени выпуска чертежа составляет 20% по сравнению с временем, необходимым при ручном способе создания чертежей.

Повышение эффективности проектирования чертежной документации в CAD/CAM-системах возможно за счет создания параметрических моделей проектируемых объектов с использованием специальных языковых средств. Об использовании таких средств в некоторых системах указано в работе [2]. В частности, при работе с системой AutoCAD широко применяются средства AutoLISP.

Достоинствами использования языковых средств является простота описания моделей, малый объем занимаемой памяти под модели, возможность предварительной подготовки описаний модели без использования вычислительных средств. Языковыми средствами модель описывается таким образом, что для получения чертежа достаточно указать только технологические параметры, остальные параметры чертежа будут вычисляться системой по заранее заданным алгоритмам. С помощью языковых средств возможно управление всем процессом проектирования, т.е. организацией последовательности вызова отдельных подсистем. В связи с развитием глобальных сетей (например, Internet) языковые средства позволяют пользователю управлять процессом проектирования на удаленных CAD/CAM- системах.

Языковые средства в системе ГРАФИКА-81

В системе ГРАФИКА-81[3] с целью расширения функциональных возможностей интерактивные средства взаимодействия пользователя с системой полностью дублируются языковыми средствами. Языковые средства для описания геометрических моделей разделяются на 2D и 3D составляющие[4]. Далее более подробно остановимся на описаниях 2D-моделей (подсистема ГРАФИКА-81-2D). Языковые средства представляют собой набор операторов специализированного языка пользователя, позволяющий описывать параметрические модели конструкций и процессы проектирования. Последовательность операторов языка (управляющую программу) можно заранее подготовить или вводить непосредственно с клавиатуры. В языке используются следующие типы данных: константа, переменные типа "число", "координата X", "координата Y", "точка", "прямая линия", "окружность". Набор операторов входного языка можно разделить на следующие три группы: геометрические построения, вычисление и определение значений переменных, управление.

К первой группе относятся операторы, предназначенные для построения простых геометрических фигур (LINE, OKR, DUGA, LOM и т.п.), контуров (CONT), текстов (TEXT), штриховок (SHTR), а также для описания линейных преобразований (LITR).

Например:
LINE,P,L,F,<повт>; :-описание множества отрезков прямой по  началу первого отрезка, длине и углу с осью 0Х,
где P - координаты X и Y точки начала отрезка,
L - длина отрезка,
F - угол наклона отрезка  к  оси OX,
<повт> - регулярные повторения по оси OX c шагом HX и по оси OY c шагом HY,
	; - окончание описания,
	: - символ указывает на следующий после оператора комментарий.

OKR,P,R,<повт>;  : - описание множества окружностей,
где Р - координаты точки центра первой окружности, 
R - радиус окружностей.

Ко второй группе относятся операторы для выполнения различного рода вычислений (CALK) и определения переменных (NVOP), необходимых в процессе написания управляющей программы на входном языке.

Picture 1.

Рисунок 1.
Элемент EL1

Например: CALK, <тип вычислений>, arg1, arg2, [arg3]; : - в результате выполнения оператора над аргументами argi производится действие, указанное в <типе вычислений>. В системе приняты следующие типы вычислений: сложение, вычитание, деление, умножение, возведение в степень, определение синуса, косинуса, тангенса, арктангенса, логарифма и т.п. С помощью этого оператора можно вычислять параметры взаимного расположения между геометрическими примитивами. Результат вычисления сохраняется в последнем из argi.

NWOP, n, text; : - описание запроса действий оператора по определению переменных, например, запрос ввода с клавиатуры конкретных значений соответствующей переменной, где n - целое положительное число от 1 до 12,text - текстовая информация выводимая на экран дисплея..

Оператор NWOP работает совместно со следующим за ним оператором CALK. В программе может быть любое число операторов ввода данных и значение переменной n может повторяться.

К третьей группе относятся операторы ввода-вывода информации, операторы, изменяющие единицы измерения, описывающие операторные скобки (POVT,END), управляющие процессами записи и чтения моделей из базы данных, определяющие последовательность проектирования. К управляющим операторам также относятся операторы для указания ветвления программы(SSLK,IDI).

Создание библиотек типовых геометрических моделей

С использованием языковых средств сравнительно быстро можно описать библиотеки типовых моделей с различной степенью сложности и для различных приложений. Рассмотрим пример создания моделей применительно для решения некоторых задач в радиоэлектронике и машиностроении.

На рис. 1 и 2 приведены изображения двух элементов принципиальной схемы. Элементы будут сохранены в библиотеке под именами EL1 и EL2 соответственно. Описание EL1:

Рисунок 2.
Элемент EL2

PRAM,0,0,20,40 : описание прямоугольника, координаты левого нижнего угла, ширина и высота.
TEXT,8,30,3 EL1; : описание текста, координаты начала текста и высота букв.
LINE,0,5,10,180
LINE,0,15,10,180
LINE,20,5,10
LINE,20,15,10
METK : заголовок описания точек соединения в схеме, нумерация точек соответствует 
последовательности ввода оператора МЕТК. METK,-10,5 : описание первой точки METK,-10,15 METK,30,5 METK,30,15 END; : конец описания элемента. Описание EL2: PRAM,0,0,20,40 TEXT,8,30,3 EL2; LINE,0,10,10,180 LINE,0,20,10,180 LINE,0,30,10,180 LINE,20,10,10 LINE,20,20,10 LINE,20,30,10 METK METK,-10,30 METK,-10,20 METK,-10,10 METK,30,30 METK,30,20 METK,30,10 END;

В текстах описания EL1 и EL2 в качестве комментариев указаны назначения дополнительно введенных операторов и параметров.

Picture 3.

Рисунок 3.
Винт

На рис. 3 приведено изображение винта с диаметром до 12 мм. Все элементы модели винта задаются в параметрической форме. В начале программы описывается ввод исходных данных с помощью оператора NWOP:

NWOP,1,Задайте_диам._резьбы-D
CALK,|,1,Y11      : присваивание параметру Y11 значения диаметра резьбы болта - D
NWOP,2,Задайте_длину_винта - L
CALK,|,2,X11     : присваивание параметру X11 значения длины винта - L
NWOP,3,Задайте_длину_резьбы-В
CALK,|,3,X20     : присваивание параметру X20 значения длины резьбы - B
CALK,/,Y11,2,Y12 : деление Y11 на 2, результат в Y12
CALK,=,Y11,A11 : присваивание
 *,+,Y12,1,Y13 : * - текущий оператор такой же, как и предыдущий
 *,+,X11,0.5,X13
 *,-,X11,X20,X14
ESLI,A11,<,6,,M1 : условный переход на метку М1
CALK,=,1,A1
ESLI,A11,<,6,M2
SSLK,M1 : метка М1
CALK,=,1.6,A1
SSLK,M2
CALK,-,X11,A1,X12
CALK,-,Y12,A1,Y14
PERO,1,0,2 : изменение толщины линии, цвета и типа линии
LOM -1,Y12,-X12,Y12,-X11,Y14,-X11,0;
 RIS,DUGA,0,Y13,-1,Y12,-1
 LINE,-X12,Y12,Y12,270
PERO,12
 LINE,-X14,0,Y12,90
 LINE,-X14,Y14,X20,180
PERO,4,0,1
 LINE,0,0,X13,180

Далее аналогичным образом производится описание головки винта ( в настоящем тексте для краткости изложения это описание не приведено).

Языковыми средствами можно описывать специализированные процессы проектирования и подготовки управляющей информации для станков с ЧПУ, включая всевозможные сопутствующие расчеты. Далее приведем пример создания специализированной системы проектирования деталей типа "тела вращения".

Разработка специализированных систем проектирования с использованием языковых средств

Специализированная система базируется на общих принципах классификации моделей деталей типа тела вращения, описании процессов их проектирования и обработки.

Рисунок 4.
Модель построения деталей типа "тела вращения"

В общем виде любую деталь такого типа можно представить так, как это показано на рис.4. Из рисунка видно, что деталь состоит из трех элементов, различающихся по ориентации (правые 1,4, левые 2,5 и нейтральные 3,6), каждый из которых состоит из двух элементов: отверстия и вала. Различные варианты конфигураций моделей таких деталей можно получить из набора типовых геометрических моделей, предварительно описанных на языковых средствах системы, например, так, как была описана выше модель винта. Типовые модели включают модели отверстий (внутренние поверхности) и модели валов (внешние поверхности) с различными ориентациями и типами поверхностей (цилиндрические, конические, сферические, резьбовые).

Рисунок 5.
Библиотека моделей типовых элементов вала

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

Рисунок 6.
Пример создания изображения вала

На рис.6 приведен пример изображения вала, созданного на основе типовых моделей. Программа описания общей модели вала для этого примера выглядит следующим образом:

OKDN,<описание параметров> : отверстие коническое нейтральное. 
VCL,<описание параметров> : вал конический левый.
VKDP,<описание параметров> : вал конический правый.
VSN,<описание параметров> : вал сферический нейтральный.

Аналогично могут быть подготовлены процессы проставления размерных линий, вывода спецификаций и подготовки управляющей информации для станков с ЧПУ.

Управление процессом проектирования

Рассмотрим пример использования языковых средств системы ГРАФИКА-81-2D для управления процессом создания принципиальных схем. Подготовка описания библиотеки типовых элементов была показана выше. Изображения элементов EL1 и EL2 показаны на рис.1 и 2. Описание выбора элементов из библиотеки и размещение их на поле чертежа записывается в файл, например, под именем SHEMA. Это описание выглядит следующим образом:

GET,EL1,40,40  
GET,EL2,100,60
END;

где оператор: GET,<имя файла>,P,F,H - читает из библиотеки предварительно сформированное текстовым редактором описание элементов из файла <имя файла>. Р - координаты базовой точки элемента, F - угол поворота элемента относительно базовой точки, Н - коэффициент масштабирования элемента, значение Н=0 интерпретируется как Н=1.

Picture 7.

Рисунок 7.
Промежуточный результат трассировки элементов EL1 и EL2

Далее следует описание связей между контактами элементов на схеме с помощью оператора:

CEP <перечень номеров модулей и номеров контактов, входящих в одну цепь> Описание связей между двумя элементами для примера (рис.7):

CEP 1,1,2,4;
* 1,2,2,5;
* 1,3,2,1;
* 1,4,2,2,2,3;

Это описание запоминается в библиотеке под именем CEPI.
Для задания процесса автоматической трассировки соединений между элементами используется оператор:

TRAS,A1,A2,A3,A4,A5,A6,A7,A8;
где:
A1 - запрет (-1) или разрешение пересечения трасс (1);
A2 - размер контактной площадки при объединении трасс в одну цепь;
A3 - коэффициент стремления к цели;
A4 - "цена" шага трассировки;
A5 - "цена" поворота трасс;
A6 - "цена" пересечения трасс;
A7,A8 - масштабные коэффициенты по оси Х,У.

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

GET,SHEMA;
MATR; : подготовка модели трассируемого поля
SAVE,RIS; : сохранение модели схемы
GET,CEPI;
TRAS,1,2,2,1,40,20,4,4;
STOP;

На рис.7 показан промежуточный результат работы системы после ввода описания процесса проектирования схемы. На этом этапе может быть проведена корректировка описания цепей, изменение размещения элементов и т.п. Автоматическая трассировка производится при запуске программы. Результаты автоматической трассировки для рассматриваемого примера приведены на рис.8.

Рисунок 8.
Результаты автоматической трассировки связей между элементами EL1 и EL2

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

Использование языковых средств позволяет решать задачи проектирования в глобальной сети на удаленных CAD/CAM-системах.

С примерами решения таких задач можно ознакомиться в сети INTERNET по адресу: www.ipu.rssi.ru лаборатория компьютерной графики. Замечания и предложения можно присылать по адресу: eiartvlr@ipu.rssi.ru.


Литература

  1. Spur G., Krause F.-L. Geometric Modelling in CAD-Technology.- Geometric modelling Seminar. Bourhemouth. England. 1979.
  2. Артамонов Е.И.Проектирование структур программных средств CAD/CAM-систем.- Автоматизация проектирования, N2 ,1997.
  3. Артамонов Е.И. Комплекс программных средств CAD/CAM- систем ГРАФИКА-81.- Автоматизация проектирования, N1, 1997 , с.42-45.
  4. Артамонов Е.И.,Загвоздкин В.А.,Шурупов А.А.,Щегольков М.Ю. Языки взаимодействия пользователя с ЭВМ в системе ГРАФИКА-81.М.:Институт проблем управления.1993.