О применении API T-FLEX CAD при разработке подсистемы автоматизированного проектирования раскроя материала

А.А. Петунин, И.С.Галкин

Современный рынок программного обеспечения автоматизации подготовки производства насыщен самыми разнообразными универсальными САПР, способными существенно облегчить работу конструктора и технолога. Вместе с тем, как известно, несмотря на огромное число такого рода инструментальных средств автоматизации инженерной деятельности, универсальные системы часто недостаточно эффективны для решения конкретной задачи пользователя. С другой стороны, разработчики узкоспециализированных САПР сталкиваются с необходимостью реализации в рамках своих систем большого числа функций универсальных систем, например, CAD-систем, поскольку в функциях геометрического моделирования и визуализации геометрических объектов нуждаются практически все современные специализированные САПР. Наличие в CAD-системах соответствующего инструмента API (Application Program Interface), ориентированного на создание пользовательских программных модулей, интегрированных с базовым программным продуктом, может существенно сократить время разработки специализированной САПР. Известная дилемма для разработчиков специализированных САПР: создавать полностью собственный программный продукт с собственным графическим редактором [1] или взять за основу какую-либо популярную CAD-систему [2] - все чаще сегодня решается в пользу второго подхода. Этому способствуют, в частности, отказ от применения в современных API традиционных устаревающих методов функционального расширения базовой системы за счет встроенного макроязыка (или ограниченной библиотеки функций). Ориентация API, прежде всего, на обеспечение для пользователей богатых возможностей удобного подключения внешних модулей, написанных на языках высокого уровня, а также на работу в сети, существенно повышает потенциальные возможности применения универсальных систем в специфических предметных областях, несмотря на известные достоинства специализированных графических редакторов: простоту и отсутствие функциональной избыточности.
Еще одно преимущество использования второго подхода для разработчика приложений заключается в уменьшении эффекта «старения» созданного прикладного программного обеспечения, т.к. часть решения проблемы «старения» берет на себя разработчик универсальной САПР, который в условиях жесткой конкуренции вынужден постоянно обновлять версии своего программного продукта.
Пожалуй, наиболее популярной, в настоящее время, технологией создания API становится .NET технология, разработанная компанией Microsoft. Стоит отметить, что данная технология не является единственной, позволяющей интегрировать внешние модули в систему. Большинство универсальных CAD-систем также поддерживают COM (Component Object Model) технологию, позволяющую внедрять внешние объекты в приложение, но из-за сложности разработки СОМ-компонентов данная технология не получила широкого распространения.
Отличительными особенностями программного интерфейса, использующего .NET, в частности, являются:

  • высокая скорость выполнения программ;
  • высокая степень расширяемости и независимость от версии системы;
  • возможность использования различных языков и систем программирования.

В качестве примера расширения базовой функциональности универсальной CAD-системы приведем опыт разработки подсистемы САПР, предназначенной для автоматизированного проектирования раскроя материала на заготовки произвольной геометрической формы и ориентированной на условия единичного типа производства.
Для этих целей был использован API известной российской CAD-системы T-FLEX CAD. В 11 версии этого программного продукта компании «Топ Системы» наряду с новыми возможностями САПР для автоматизации геометрического моделирования и конструкторского проектирования вновь расширен и функционал API. Эта уже третья версия системы, в которой поддерживается технология .NET. Основным направлением развития функциональных возможностей API T-FLEX CAD 11 версии стало расширение возможностей программирования интерактивных процедур, что весьма важно именно для решения сформулированной выше задачи оптимизации раскроя материала.
Проблема оптимального раскроя материалов включает в себя целый спектр различных оптимизационных и технологических задач, смысловое содержание которых заключается в минимизации расхода материала при получении из него на конкретном технологическом оборудовании заготовок известных форм и размеров. Наиболее сложной принято считать задачу раскроя материла на заготовки произвольной геометрической формы в условиях единичного производства. Для нее в настоящее время не существует математических алгоритмов, которые бы гарантировали получение оптимального решения. Разработка САПР раскроя для такой задачи предполагает сочетание автоматических и интерактивных методов проектирования. Интерактивный режим проектирования, естественно, как уже отмечалось выше, базируется на применении графических редакторов, специализированных или универсальных. Функции специализированных редакторов в САПР раскроя, как правило, ограничены теми задачами, которые необходимы для описания простой геометрии объектов и моделирования интерактивных процедур, а также для формирования графических отчетов о результатах раскроя и для конвертирования геометрических данных в формат других САПР (например, САПР управляющих программ для станков с ЧПУ). Эти же функции нам необходимо реализовать средствами API.
Выбор T-FLEX CAD обусловлен тем, она является полнофункциональной системой автоматизированного проектирования при самой привлекательной цене в своём сегменте. Система обладает всеми современными средствами автоматизации проектирования при разработке проектов любой сложности. Интерфейс прикладных программ T-FLEX CAD насчитывает достаточно большое количество классов для работы с данной системой
Подсистема раскроя должна работать в главном окне T-FLEX CAD и внешне ничем не отличаться от привычных окон системы. Решение задачи подразумевает использование как стандартного инструментария T-FLEX CAD, так и работу внешних модулей, написанных в какой-либо системе программирования с использованием библиотек функций T-FLEX CAD (рис. 1).

Рис. 1. Общая схема решения задачи раскроя материала

В общем случае в решение задачи оптимального раскроя материала можно выделить три основных этапа:
1. Описание геометрии заготовок и материала и формирование задания на раскрой;
2. Автоматический раскрой;
3. Интерактивный раскрой.

Отлаженное геометрическое ядро T-FLEX CAD позволяет быстро описывать любую геометрию. Также, в случае необходимости, можно импортировать данные из других форматов файлов. Для проверки замкнутости и отсутствия самопересечений удобно использовать функцию штриховки. В связи с этим условимся штриховку (класс Area) считать деталью. Всё вышеперечисленное не требует программирования и может быть выполнено стандартными средствами T-FLEX CAD.
Класс Area содержит контейнер атрибутов, куда мы программно запишем количество деталей, флаг, определяющий назначение штриховки (заготовка или деталь) и прочие параметры (рис.2).

Рис. 2. Интеграция системы T-FLEX и подсистемы раскроя. Редактирование задания

В классе Document есть контейнер внешних объектов (экземпляров класса ExternalObject), где мы сохраним ссылки на конкретные штриховки – элементы задания на раскрой. В стандартном документе T-FLEX CAD мы будем хранить задание на раскрой, представляющее собой список штриховок с необходимыми атрибутами.
API T-FLEX CAD 2D содержит шесть базовых классов для работы с геометрией:
1. Circle;
2. CircleArc;
3. Ellipse;
4. EllipseArc;
5. LineGeometry;
6. PolylineGeometry.

В них содержится вся информация о геометрии примитивов. Также предусмотрено преобразование геометрии, не являющейся дугой эллипса или отрезком в полилинию. Так, сплайн при считывании геометрии аппроксимируется в полилинию. Данный набор классов покрывает весь спектр плоских примитивов.
Таким образом, для задачи оптимального раскроя материала необходимая графическая информация о геометрии заготовок и раскраиваемом материале может извлекаться непосредственно из T-FLEX-документа.
Результаты работы автоматических алгоритмов будем формировать непосредственно в документе T-FLEX CAD. Для этого мы будем создавать копии штриховок из задания, и перемещать их согласно данным расчёта.
Имея доступ к геометрии объектов в документе T-FLEX CAD, мы легко можем перемещать объекты согласно своему усмотрению, просто меняя координаты характерных точек объекта. Так, например, для перемещения окружности достаточно лишь поменять координаты её центра. Полученная схема раскроя представляет собой обычный T-FLEX-документ. За экспорт полученной схемы раскроя в другие форматы хранения данных (DWG, DXF, IGES и т.п.) или дальнейшую обработку результатов расчета отвечает T-FLEX CAD. Для этого графическая система обладает всеми необходимыми функциональными возможностями.
На рис.3 показан результат работы программы автоматического раскроя в среде системы T-FLEX CAD. В качестве математического обеспечения для библиотеки автоматического раскроя были использованы алгоритмы, разработанные в [3].

Рис. 3. Результат работы автоматического раскроя

Как мы видим, программный комплекс T-FLEX CAD может быть использован как в качестве графической среды для программного обеспечения автоматического раскроя материала, так и быть основой для разработки процедур интерактивного раскроя.
Для решения других задач пользователей подсистемы САПР раскроя T-FLEX CAD предусматривает дополнительные возможности расширения базовой функциональности продукта за счёт использования API. Использование интерфейса прикладных программ также позволяет пользователям и разработчикам модифицировать пользовательский интерфейс, фокусируя его на выполнении тех или иных специализированных задач.
Источники:

  1. Петунин А.А., Полевов А.В., Куреннов Д.В.“Об одном подходе к решению задач раскроя-упаковки”. В кн.: «Конструирование и технология изготовления машин». Сборник научных трудов. Ч2. Вестник УГТУ-УПИ. Екатеринбург: УГТУ-УПИ, N18(70), 2005г.
  2. Мазурин А., Пирогов И., Пирогов В. “Раскрой листового материала и ЧПУ-обработка на базе T-FLEX CAD”. САПР и графика. 2000, 10:39-43.
  3. Полевов А.В. Алгоритмы автоматического раскроя листового материала в условиях единичного производства. Диссертация на соискание ученой степени кандидата технических наук, Уральский государственный технический университет, Екатеринбург, 2005

Если вы хотите узнать о возможностях программного комплекса T-FLEX подробнее или обратиться за помощью к сотрудникам отдела внедрения компании-производителя, это можно сделать в офисе «Топ Системы» или на сайте www.topsystems.ru.

Скачать PDF