Программный комплекс GPlotter
А.И. Разумовский,
с.н.с., к.т.н.,
ИПУ РАН, г. Москва
В настоящее время в
мире существует и используется множество графических систем. По свойствам
внутреннего инструментария и характеру исходящего продукта среди них выделяются
три класса систем: векторные, растровые и комплексные. Сегодня, становится все более видимой тенденция к
слиянию внутри одной программной системы средств смежных функциональных
возможностей, - не только векторного и
растрового функционала, но и комплексов для решения специализированных задач
промышленного или исследовательского свойства. Это безусловно дает
пользователям преимущества в проектировании конечного продукта, избавляя их, в
первую очередь, от множественных потерь информации при её кодировании и
преобразованиях для передачи иным внешним системам. Такие внешние программные
инструменты необходимы порой для выполнения отдельных специальных задач,
например, действий по физическому расчету или обработке, структуризации и
хранению обобщенного документа, связанного с проектируемым изделием. Таким
образом, можно наблюдать, как за последнее десятилетие рождались и крепли,
завоевывая мировой рынок, такие графические программные конгломераты, как ACCEL
EDA или Unigraphics, которые позволяют обеспечить полный цикл разработки
документа на продукт вплоть до его хранения и утилизации, и предлагают к
использованию целый спектр не только специфицированных САПР-инструментов, но
также и средства , основанные на стандартах CALS и CADT.
Касаясь проблемы
кодирования и преобразования информации, разработчики САПР изначально пытались
представить эту задачу, как совокупность условий для формирования однородных,
связанных в иерархию, структур данных. В ином случае, описатели таких структур
необходимо было выводить последовательно,
присваивая каждому перечисляемому элементу уникальный номер - идентификатор.
Первый способ хранения данных характерен для широкого круга CAD/CAM/PDM-
систем, обеспечивающих не только быстрый ввод и вывод информации, но и передачу
информации внутри системы, а также накопление и маскирование данных из
внутренней БД по запросу. Такие перемещения информации характеризуются нулевой
потерей данных. В иных случаях, осуществляемых при межсистемном информационном
взаимодействии, применяют последовательную запись примитивов передаваемых
данных, при которой идентификатором является либо порядковый номер примитива,
либо - специальный уникальный индекс, которым дополнительно маркируется каждый
примитив. Этот индекс указывает на местоположение данного примитива в общей
структуре объекта. В свою очередь, качественная логическая сущность примитива
определяется его именем. Таким образом, сочетание имени и уникального номера
обеспечит полноту описания простейшего именованного узла объекта. Целый объект
может иметь описания зависимостей и взаимодействия отдельных узлов - примитивов
(IGES, STEP). В этом случае, в описание данных примитива включается ссылка или
набор ссылок на идентификаторы прочих узлов, при этом, например в STEP-
формате, возможность иметь ссылки как вперед, так и назад позволяет располагать
примитивы объекта в произвольной последовательности.
В случае
преобразования функциональных данных, когда для их генерации и кодирования
требуются специализированные операции, единственным оптимальным методом осуществления
координации и передачи информации оказывается комбинированное решение
образования комплекса разнородных функциональных программных систем, связуемых
в едином пространстве кодирования и применения.
рис. 1. Концептуально-
стратегическая схема программного комплекса GPlotter, реализующая одновременно
функции графического проектирования и дизайна, а также автоматической
трассировки
Программный комплекс
GPlotter, являясь системой автоматизированного проектирования и дизайна 2D-
графики, также служит для координации с управляемым ядром, именуемым
«автоматическая трассировка печатных плат». Основным модулем системы GPlotter
является редактор графической информации, осуществляющий создание различных 2D-
объектов и управление ими. Программный модуль «автоматическая трассировка» был
создан и функционирует отдельно и в составе обучающего комплекса «Графика - ТР»
[1]. Автоматическая трассировка соединений реализует алгоритм определения
кратчайшего пути на графе с пересечениями соединений и без пересечений. Задавая
различные параметры трассировки, можно задавать расстояние между трассами,
количество изгибов трасс, отдавать предпочтение вертикальным или горизонтальным
трассам. Настройка параметров трассировки, режимы автоматической сортировки
цепей и размещение элементов на схеме дают возможность получить максимальное
количество разведенных трасс. Полученные при трассировке результаты позволяют
оценить качество размещения элементов схемы. Все результаты могут быть переданы
в среду GPlotter для дальнейшего их редактирования, кодирования и вывода на
печатающие устройства.
Необходимая
координация двух самостоятельных программных модулей осуществляется посредством
создания общего блока хранения данных – «функционально- информационной Базы
Данных» (рис. 1).
Координация составных
модулей осуществляется посредством технологии Microsoft COM, которая
обеспечивает связь между отельными операционными элементами графики и
визуализации через соответствующие интерфейсы. Объединительная схема системы GPlotter изображена на рисунке 2.
рис. 2. Схема функционального
объединения программного комплекса GPlotter
Основные интерфейсы
доступа к внешнему для графической среды функционалу представляют собой
тривиальные процедуры обработки входной и подготовки результирующей информации,
а также интерфейсы проверки типа или способа представления объекта и прямого
запроса ко внутреннему блоку хранения данных в ядре «автоматической
трассировки».
Визуальная среда
функционирования комплекса GPlotter формируется стандартным образом и содержит
в себе основные для 2D- объектов возможности автоматизированной обработки
графических данных.
Основными элементами
управления являются средства ввода или чтения данных из внешних файлов, функции
преобразования графических объектов, - в том числе графический расчет двух
видов штриховки и многослойной эквидистанты, - процедуры печати и вывода на
графопостроитель, а также средства взаимодействия с внешним COM- объектом –
программным модулем «автоматическая трассировка» (рис. 3).
Файлами чтения данных
в программном комплексе GPlotter являются традиционные для САПР форматы:
Автокад - DXF, HPGL, Adobe Illuistrator – ai, Гербер - GRB, а также внутренне
форматы комплекса «Графика- ТР», служащие для хранения данных связей элементов
принципиальной схемы и трассировки. Для записи графических данных могут быть
использованы форматы DXF (только полилинии и отрезки), GBR- Гербер, PLT(HPG) –
HPGL.
Функции редактора
позволяют производить редактирование графической информации: доступны функции Scale- изменение размеров элементов, Rotate и
Move- изменение расположения и ориентации на плоскости.
Процедуры операционного
действия с графическими контурами позволяют штриховать замкнутые контуры и
выполнять построение эквидистантных линий. В дополнительном окне настройки
штриховки можно задать расстояние между параллельными штрихами, а также длину
отступа конца штриха до границы контура. В специальном настроечном окне свойств
эквидистанты имеется параметр требуемого количества эквидистант и расстояния
между ними.
рис. 3. Операционная
схема программного комплекса GPlotter
В качестве вывода
полученных результатов может быть использован вывод графической информации на
печатающее устройство. Среди настроек факторов печати существует возможность
масштабирования сцены по размерам формата результирующего листа.
Основные инструменты
для создания модели принципиальной схемы и ее
подготовки к проведению автоматической трассировки располагаются на
специальной панели инструментов.
Для осуществления
трассировки построенной принципиальной схемы необходимо присутствие в
графической модели контактов (меток), между которыми должны быть проведены
связи. После того как модель подготовлена, вызывается команда выполнения
трассировки. Результирующие трассы высветятся на графическом поле красным
цветом.
Программный комплекс
GPlotter используется уже более 12 лет. Проектирование элементов плоской
графики ведется полностью в электронном виде, что позволяет осуществлять
контроль на любом участке создания 2D-модели.
Литература
1.
Сизова
Л.Н. Программный комплекс «Графика – ТР» Информационные технологии в
проектировании и производстве. — 2009. №1. — c. 32-36.
2.
Борн
Г. Форматы данных. Торгово-издательское бюро BHV. Киев. – 1995.
3.
Разумовский
А.И Решение проблемы дополнения и масштабирования программной системы
посредством создания контекста проектирования. Материалы международной
конференции CAD/CAM/PDM-2007, ISBN 978-5-91450-003-7.
4.
Разумовский
А.И Использование метода "тезауруса" при проектировании систем с
недетерминированными алгоритмами. Материалы международной конференции
CAD/CAM/PDM-2004, ISBN 5-201-14977-4.