3 - 2002

Геометрическое ядро APM Engine — современный инструмент трехмерного моделирования объектов

Дмитрий Жуков, Владимир Сидоренко, Юрий Шатохин

Назначение и основные функции

Математическое представление пространственных графических объектов

Задача пересечения поверхностей — базовая проблема пространственной геометрии

Подводя итоги

Каждый предмет имеет собственную геометрическую форму. В первую очередь благодаря форме мы можем отличить один предмет от другого и оценить те или иные его характеристики. Не случайно описание формы объекта является основополагающей проблемой, с которой неизбежно сталкиваются разработчики CAD-систем. Способность САПР качественно решать поставленные перед ней задачи во многом зависит от выбора максимально удобного способа задания формы объекта.

Задача описания формы объекта со временем выделилась в отдельную область прикладной математики, которая на Западе получила название CAGD (Computer-Aided Geometric Design). История появления этой науки уходит в 70-е годы XX века, когда в таких крупных корпорациях, как Boeing и RENO, были предприняты попытки генерировать управляющие программы для станков с ЧПУ на основе компьютерной модели.

Традиционно программные продукты компании НТЦ АПМ были ориентированы на инженерные расчеты, в том числе и на основе конечно-элементных методов. Однако со временем отсутствие собственных инструментов твердотельного моделирования стало серьезным препятствием к дальнейшему развитию системы APM WinMachine, главным образом в области создания полноценного конечно-элементного пакета для прочностного анализа. По этой причине более двух лет назад в НТЦ АПМ была создана группа, которая приступила к разработке собственного трехмерного геометрического ядра, предназначенного для полноценной системы геометрического моделирования.

Решение заниматься разработкой собственного геометрического ядра было принято неспроста. Во-первых, у компании уже имелись определенные наработки в этой области. Во-вторых, высокий профессиональный уровень разработчиков позволял ставить и решать как самые сложные математические задачи, так и задачи собственно программирования. Но самое главное — политика компании НТЦ АПМ заключается в создании программных продуктов, доступных для любого предприятия России. Использование готового решения, созданного другой компанией, неизбежно сказалось бы на увеличении стоимости нашего программного обеспечения. Сегодня мы не без гордости можем сказать, что исследовательскому центру нашей компании удалось не только досконально изучить существующие методики в области CAGD, но и серьезно их доработать.

Стоит отметить, что человеческий фактор очень важен в любой работе. Известно, что для решения подобных задач за границей привлекались целые институты (не случайно раньше разработку собственных САПР-систем могли позволить себе только очень крупные предприятия). Для работы над новым проектом компании НТЦ АПМ удалось сформировать коллектив из молодых, увлеченных своим делом специалистов, что позволило существенно сократить сроки разработки столь сложного наукоемкого программного продукта. В основном это были выпускники МГТУ им. Н.Э.Баумана и МФТИ.

Назначение и основные функции

На сегодняшний день существует множество способов описания геометрических объектов. Однако с точки зрения соотношения возможностей и затрат вычислительных ресурсов самым мощным инструментом, на наш взгляд, является так называемое NURBS (Non-Uniform Rational, B-Splines) моделирование. Чтобы не обременять читателя излишними математическими выкладками, скажем вкратце, что в основе метода NURBS лежит описание объектов с помощью так называемых рациональных полиномиальных функций. Этот подход дает максимальную экономию вычислительных ресурсов и абсолютную гибкость в создании объектов произвольной формы. Именно эта методика была выбрана в качестве основы для геометрического ядра компании НТЦ АПМ.

Для описания так называемых твердотельных моделей было выбрано сочетание двух методик — B-Rep (Boundary Representation) и CSG (Constructive Solid Modeling). При первом подходе твердое тело представляется в виде совокупности поверхностей, ограничивающих его объем, а второй метод позволяет исследовать логические соотношения между объектами и фиксировать историю создания твердого тела с возможностью дальнейшей параметризации объекта.

Если вкратце изложить возможности геометрического ядра, то они заключаются в следующем:

  • моделирование каркасных, поверхностных и твердотельных объектов;
  • создание объектов на основе кинематических операций, например выталкивания профиля вдоль заданного пути;
  • нахождение пересечения поверхностей и кривых;
  • операции сопряжения и сшивки поверхностей;
  • операции сопряжения граней твердого тела (vertex and edge blending);
  • булевы операции над твердотельными объектами;
  • создание параметрических 2D-чертежей.

Необходимо сказать несколько слов и о самой будущей системе твердотельного моделирования, разработка которой ведется параллельно. Изначально она задумывалась как трехмерная графическая система с возможностями поверхностного и твердотельного моделирования для конечно-элементного анализа. Однако в итоге было принято решение о создании полноценной системы сквозного проектирования объектов, то есть единой графической оболочки с собственным геометрическим ядром для решения задач 2D/3D-проектирования и конечно-элементного анализа, а в будущем — задач управления данными проекта и технологического документооборота.

Очень большое внимание мы уделяли идеологии создания объектов и интерфейсу пользователя. Принципиальной особенностью всех программных продуктов, разрабатываемых в НТЦ АПМ, является изначально заложенная возможность их быстрого функционального расширения. То есть разработку любого нового программного модуля мы начинаем с детального продумывания как всех его функциональных возможностей, так и архитектуры. Конечно, не все возможности могут быть реализованы сразу, но по мере своего развития программный продукт постепенно обретает все необходимые функции. При таком подходе сотрудничество пользователя-инженера и разработчика становится максимально тесным. Подобная практика взаимодействия с конечными пользователями успешно применяется компанией и позволяет оперативно реагировать на запросы людей, непосредственно работающих с программным обеспечением.

В начало В начало

Математическое представление пространственных графических объектов

Не обременяя читателя специальной терминологией и подробными объяснениями математических процедур, попробуем популярно изложить суть решенной нами проблемы, подчеркнув при этом лишь то, что речь идет о сложнейшей математике, использующей последние достижения в области дифференциальной геометрии и численных методов. Для того чтобы пояснить эту мысль, напомним нашим читателям, что большинство компаний, специализирующихся на разработке CAD-систем, не занимаются подобного рода математикой, а предпочитают покупать готовые решения известных мировых производителей. Компаний, занятых непосредственно математическими проблемами геометрического моделирования, мало, и их можно пересчитать по пальцам. Даже такие известные гиганты, как компания Autodesk, Inc., разрабатывающая AutoCAD и его многочисленные модификации и приложения, предпочитает покупать готовые математические решения.

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

Как уже говорилось выше, для представления геометрической информации используется технология описания кривых и поверхностей при помощи рациональных B-сплайнов, также называемых NURBS. При этом объект задается набором рациональных полиномов, зависящих от одной переменной в случае описания кривой, и от двух, если описывается поверхность. Этот метод позволяет точно описать все возможные геометрические примитивы, такие как отрезки, окружности, дуги, эллипсы, плоскости, цилиндры, конусы, сферы, торы и более сложные объекты при помощи универсального математического аппарата.

В начало В начало

Задача пересечения поверхностей — базовая проблема пространственной геометрии

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

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

Математическая «начинка» NURBS-моделирования очень сложна. Суть ее состоит в работе не в трехмерном реальном пространстве, а в двухмерном параметрическом. На базе вышеупомянутых наборов полиномов с помощью техники результантов и собственных оригинальных методик строится единая матрица от двух переменных, нули детерминанта которой и являются точками искомой кривой. Таким образом, задача сводится к нахождению нулей детерминанта матричного би-полинома. Эта часть алгоритма является наиболее сложной и составляет примерно 90% вычислительной стоимости нахождения пересечения поверхностей.

После того как найдены точки кривых пересечения, решается задача распределения этих точек по различным кривым пересечения, причем решается она даже для сложных кривых с самопересечениями. При этом используется хорошо известная техника разделения областей (domain decomposition). После того как точки распределены по разным веткам кривой пересечения, они аппроксимируются «точечным» B-сплайном и приобретают законченную двухмерную форму. Далее этот B-сплайн отображается в реальное пространство.

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

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

В начало В начало

Подводя итоги

Можно много говорить о необходимости создания такого инструмента, как APM Engine. Есть немало скептиков, которые ставят под сомнение необходимость и значимость нашей работы, мотивируя свою позицию невозможностью российских разработчиков бороться на равных с западными компаниями. Конечно, нам противостоят сильные конкуренты, и у нас в десятки, а то и в сотни раз меньшие финансовые возможности. И все же мы рискнули и, несмотря на трудности, сделали это. Нас часто спрашивают, а будет ли наш продукт лучше таких известных марок, как Parasolid и ACIS. Думаем, что так ставить вопрос нельзя, но в том, что по соотношению «цена/качество» он не будет им уступать, мы уверены. Вообще говоря, на рынке должно быть много продуктов, разных по ценам и возможностям. Хорошо, что появился еще один наукоемкий продукт, и вдвойне хорошо, что это отечественная разработка. А рассудят, как всегда, потребитель и время.

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

«САПР и графика» 3'2002

Популярные статьи

BIMbox — комплексное внедрение BIM на платформе Autodesk Revit

Автор рассказывает о новом продукте, предоставляемом компанией CSD на рынке САПР в области внедрения технологий информационного моделирования, — BIMbox

Репортаж с конференции «Год в Инфраструктуре 2017»

В октябре состоялась ежегодная конференция, организованная компанией Bentley Systems, — «Год в Инфраструктуре 2017». В этот раз организаторы впервые провели конференцию в Азии, а именно в Сингапуре. Местом проведения был выбран конференц­центр Sands Expo и выставочный центр первоклассного отеля Marina Bay Sands

В новейшей версии системы NX от Siemens представлены средства междисциплинарной разработки изделий, реализованные на единой платформе

В новой версии системы NX реализовано новое поколение решений для конструкторско-технологической подготовки производства и численного моделирования, достигнуто полное объединение процессов проектирования электрических и механических узлов, а также систем управления на основе тесной интеграции с системами Mentor Graphics, Capital Harness и Xpedition