SprutCAD: особенности национальной параметризации
Российская компания «СПРУТ-Технология» продолжает рассказывать о своей разработке — семействе программных продуктов автоматизации конструкторско-технологической подготовки производства. В статье речь пойдет об общих характеристиках системы SprutCAD, а также об отличительных особенностях параметризации в этой системе.
SprutCAD представляет собой 32-разрядное приложение для Windows 95/98/2000/Me/NT и является открытой конструкторской средой для автоматизации труда конструкторов и разработчиков систем проектирования. SprutCAD полностью поддерживает систему ЕСКД и имеет расширяемый пользователем набор сервисных функций, что позволяет создать на его основе рабочее место конструктора, реально автоматизирующее типовые проектные операции на конкретном рабочем месте. Система содержит библиотеку стандартных параметрических элементов, работает с широким набором шрифтов, позволяет компоновать новые чертежи из имеющихся фрагментов, пополнять пользовательскую базу типовых решений в процессе эксплуатации.
В системе реализована возможность создания и поддержки иерархической базы чертежей изделия, поэтому можно более удобно и наглядно организовать процессы проектирования и контроля за изменениями проекта.
Широкий набор функций обеспечивает вывод чертежа на любые типы периферийных устройств, возможность компоновки нескольких чертежей на листе и режим предварительного просмотра результата.
SprutCAD поддерживает стандартные форматы обмена данными IGES и DXF, что позволяет работать с другими CAD-системами.
Штатные функции определения и редактирования графических элементов чертежа реализованы средствами инструментальной среды СПРУТ. Библиотека поставляется в исходных текстах. Вследствие этого пользователь может изменять и дополнять набор функций по своему усмотрению. Построение графических объектов может производиться с помощью стандартных элементов с использованием средств привязки. Функция редактирования объекта специфична для каждого типа и имеет такие же особенности, что и создание объекта выбранного типа. Многие свойства объектов можно изменять интерактивно, с помощью мыши. Кроме того, все свойства можно задавать в Инспекторе объектов.
Система обеспечивает возможность подключения программ проектирования, реализованных средствами среды СПРУТ. При этом программа может взаимодействовать с интерактивной средой графического редактора. Таким образом, на базе SprutCAD возможно создание проблемно-ориентированных графических редакторов с высокой степенью автоматизации выполняемых функций — как расчетных, так и чертежных.
Особенности параметризации
Характерная особенность параметризации состоит в том, что все геометрические объекты имеют в системе двоякое представление — графическое и текстовое. Текстовое описание представляет собой не что иное, как программу на языке СПРУТ с использованием операторов подсистем базовой графики GPS и оформления чертежей DOG. Между этими представлениями существует однозначная связь. Каждому изображенному в графическом окне объекту соответствует строка в программе, и наоборот. При интерактивном выборе геометрического элемента автоматически выделяется соответствующая ему строка программы, а при выборе строки подсвечивается соответствующий графический элемент.
Синтаксис геометрического языка СПРУТ достаточно прост и очевиден (фрагмент языкового описания):
P11=X(0),Y(0) ! Определение точки в начале координат.
L11=P11,A(0) ! Определение прямых, проходящих через ранее
L12=P11,A(90) ! заданную точку под углом 0 и 90°.
L13=L12,-M(100) ! Определение прямых относительно ранее определенных
L14=L11,M(60) ! на заданном расстоянии.
C11=-L12,-L14,R(15) ! Определение окружностей как касательных к прямым
C12=-L14,L13,R(10) ! с радиусом.
P12=L11,L13 ! Определение точки как пересечение прямых.
K11=P11,L12,-C11,L14,-C12,-L13,L11,P12 ! Построение контура по ранее определенным элементам.
SizeL P11,P12,M13.11,A-90,Size 100,
Shift 34,Fract 0,0,0 ! Определение линейного размера.
В результате интерактивных действий пользователя в графическом окне автоматически генерируется текст программы на языке СПРУТ в окне отладчика. Система обеспечивает синхронизацию между графическим и текстовым представлением каждого элемента. Интерактивное изменение элемента приводит к корректировке его текстового определения, и наоборот: редактирование текстового определения любого элемента автоматически отражается на чертеже. При этом во всех случаях система не только изменит редактируемый элемент чертежа, но и по дереву построения автоматически переопределит все элементы, имеющие отношение к измененному.
Большинство определений объектов и их топологические взаимосвязи задаются интерактивно, что значительно удобнее. Тем не менее определение объектов вручную также необходимо при использовании специфических способов задания или при создании структурно-параметрических моделей. Достоинством языкового способа создания элементов является возможность использования функций и переменных при задании значений числовых параметров, ввода условий отрисовки геометрических элементов путем задания языковых условных операторов («IF <условие> THEN <описание геометрии 1> ELSE <описание геометрии 2>»), ввода циклов с пред- и постусловиями (рис. 1). Также можно задействовать операторы и других языковых подсистем СПРУТ (например, трехмерной кинематической GM3- и твердотельной SGM-геометрии).
При изменении значений переменных в окне параметров получаются различные варианты построения объекта — в зависимости от заданной величины переменной (рис. 2). Перестроение объекта производится динамически, то есть когда меняется значение переменной, в графическом окне сразу отображается результат. При помощи таблицы переменных (когда задаются диапазон и шаг их изменения) реализована возможность создания кинематических схем с последующим просмотром перемещения параметрически связанных элементов в динамике.
Доступ к текстовому представлению проектируемой модели и ввод языковых конструкций в геометрическую модель позволяют реализовать сверхгибкую параметризацию, на основании которой можно осуществлять структурно-параметрический синтез чертежей. Таким образом, в поведение графической модели можно заложить любую логику и различную изменяемость. Иными словами, в зависимости от текущих значений параметров модель может количественно и качественно изменяться в той мере, в которой это было предусмотрено при ее разработке.
Сгенерированный программный модуль может быть дополнен расчетами, обращениями к необходимым базам данных и базам знаний (разработанных, например, в SprutExPro — системе экспертного программирования), связями с другими модулями. Особенностью SprutCAD является также то, что построенную параметризованную модель можно использовать и вне SprutCAD — либо автономно, либо в качестве элемента САПР, разрабатываемой в инструментальной среде СПРУТ (рис. 3, 4).
***
Реализованная таким образом параметризация, сочетающая в себе взаимосвязанное представление в виде графики и текста (языка СПРУТ) и предоставляющая безграничные возможности по генерации чертежей, а также возможность использования геометрических моделей вне самой системы, позволяет говорить об уникальности SprutCAD.
Подробнее с программными продуктами компании можно ознакомиться на выставке «САПР-экспо» SofTool’2001.
«САПР и графика» 9'2001