isicad.ru :: портал САПР, PLM и ERP :: версия для печати

Статьи

13 июля 2007

Технологии вариационного проектирования для разработки типичных приложений САПР

Дмитрий УшаковДмитрий Ушаков

Стратегия компании ЛЕДАС

В статье представлена стратегия компании ЛЕДАС по разработке функционально полных наборов вычислительных программных модулей для разработчиков систем автоматизированного проектирования (САПР). Программные модули компании ЛЕДАС представляют собой библиотеки с реализацией основных функций, необходимых для поддержки вариационного подхода к проектированию в различных конечно-пользовательских программных приложениях автоматизированного проектирования и инженерного анализа. В статье описываются основные преимущества вариационного подхода перед традиционным параметрическим проектированием, основанным на истории построения модели. Описание геометрического решателя, лежащего в основе вариационного подхода, сопровождается комментариями по его использованию для разработки типичных приложений САПР. При описании базовой функциональности таких приложений как эскизное черчение, трехмерное моделирование, проектирование сборок, анализ кинематики механизмов объясняются достоинства, которые обеспечивает вариационный подход для конечных пользователей. Статья завершается кратким перечислением возможных плодотворных приложений вариационного подхода в различных областях знаний.


Параметрическое проектирование: вариационный подход

Параметрическое проектирование – революционная парадигма САПР, позволяющая изменять геометрическую форму проектируемого изделия путем задания новых значений его параметрам. Общим подходом к спецификации параметрических геометрических форм сегодня является проектирование, основанное на использовании стандартных конструктивных элементов (feature-based design). Каждый конструктивный элемент представляет собой определенное геометрическое свойство формы объекта: простейшие из них напрямую соответствуют базовым геометрическим объектам (точка, отрезок, дуга, лоскут канонической поверхности), более сложные соответствуют операциям редактирования формы (вытягиванию профиля, скруглению острых ребер, вырезанию отверстия). Большинство конструктивных элементов являются параметрическими (координаты точки, радиус скругления, высота криволинейной призмы) и могут ссылаться на другие (ранее заданные) элементы (концевые точки для отрезка, профиль для вытягивания, набор ребер для скругления). Эффективность традиционного параметрического подхода основана на истории построения модели (history-based design): каждый новый конструктивный элемент значениями своих параметров однозначно позиционируется относительно ранее построенных элементов. Модификация элементов происходит исключительно путем изменения значения их параметров. При изменении значения параметра одного элемента происходит пересчет (обновление) его формы, а также пересчет формы всех элементов, построенных на его основе (например, при изменении плоского профиля происходит пересчет формы построенной на его основе криволинейной призмы). Такой подход прост для реализации, но не всегда удобен пользователю. Проблема с данным подходом возникает тогда, когда у пользователя появляется потребность позиционировать друг относительно друга два ранее построенных элемента. В этом случае придется вернуться к построению одного из этих элементов и изменить способ его параметризации, что далеко не всегда представляется возможным. Ситуация становится еще хуже, если пользователь попытается задать циклические зависимости между элементами. В этом случае большинство традиционных систем, основанных на истории построения, просто откажутся иметь дело с такими моделями, ведь процедура их перестроения (основанная на истории построения конструктивных элементов) при изменении значений параметров окажется зацикленной. Наконец, третий недостаток традиционного параметрического подхода на основе истории построения заключается в том, что пользователю постоянно приходится иметь дело с полностью определенной геометрической моделью без внутренних степеней свободы, что ограничивает возможности ее редактирования (можно лишь редактировать параметры каждого элемента по очереди). В противовес традиционному параметрическому подходу, основанному на истории построения модели, была предложена концепция вариационного подхода к проектированию, основной идеей которого является возможность связывания конструктивных элементов и определяющих их параметров посредством ограничений. Ограничение – это декларативная спецификация, задающая связь между геометрическими элементами модели и их параметрами. Такая связь может быть как логической (параллельность двух отрезков, касание плоскости и сферы), так и параметрической (длина отрезка, радиус скругления, угол сопряжения граней). Накладывая и удаляя такие ограничения, а также изменяя значения их параметров, пользователь может изменять геометрическую форму проектируемого изделия. В этом случае система автоматизированного проектирования автоматически подбирает такие значения параметров конструктивных элементов, которые обеспечивают удовлетворение всех заданных пользователем ограничений на их взаимное расположение. Выгодным отличием вариационного подхода от подхода, основанного на истории построения, является полное раскрепощение творческой мысли проектировщика, который получает мощный инструмент для редактирования геометрических форм. В любой момент построения между элементами модели можно задать или удалить ограничения, а также поменять значения их параметров. Свобода в задании ограничений позволяет иметь дело с циклическими зависимостями и не полностью определенными моделями (оставшиеся степени свободы пользователь может использовать для интерактивного редактирования модели). Понимать и редактировать такие декларативные спецификации (на основе ограничений) намного проще, чем историю построения модели, что облегчает работу нескольких проектировщиков над одной моделью. Кратко ключевые различия двух подходов к параметрическому проектированию представлены в таблице 1.



Таблица 1. Два подхода к параметрическому проектированию


Конечно, следует отметить основной недостаток вариационного подхода – при его реализации в САПР приходится иметь дело с одновременным разрешением системы ограничений (уравнений, связывающих параметры конструктивных элементов). Здесь при использовании традиционных численных методов решения систем уравнений возникает ряд известных проблем: недостаточная масштабируемость (время решения растет значительно быстрее размера модели), ненатуральность (найденное решение не соответствует прагматическим ожиданиям пользователя), отсутствие гарантии решения. Следует отметить, что проблемы разрешения геометрических ограничений изучаются научно-исследовательскими группами по всему миру еще с 1960-х годов. За это время был разработан ряд алгоритмов, позволяющих успешно декомпозировать задачи с большим количество ограничений на совокупность простых подзадач и моделировать каждую из них самым эффективным образом. Разработки компании ЛЕДАС на эту тему базируются как на работах Лаборатории искусственного интеллекта Института систем информатики им. А.П. Ершова Сибирского отделения Российской академии наук, так и на собственных исследованиях, которые компания проводила последние восемь лет. Результатом этих исследований стала разработка собственного геометрического решателя LGS, который служит основой для эффективной реализации вариационного подхода в коммерческих САПР.


Вариационный геометрический решатель

Вариационный геометрический решатель – это вычислительный модуль, на вход которого подается геометрическая задача в виде описания исходного положения геометрических элементов и набора логических и параметрических ограничений, наложенных на эти элементы, а на выходе получаются новые координаты элементов, удовлетворяющие наложенным ограничениям. Геометрический решатель LGS, разработанный в компании ЛЕДАС, представляет собой библиотечный модуль, в котором реализован набор алгоритмов для эффективного решения промышленных задач удовлетворения геометрических ограничений. Используя ряд эвристических методов декомпозиции, решатель способен в интерактивном режиме решать задачи с несколькими тысячами ограничений. Универсальный программный интерфейс решателя позволяет встроить его в любое приложение для реализации в нем вариационного проектирования.

Основные объекты решателя – это планиметрические или стереометрические геометрические элементы – точка, бесконечная прямая и плоскость, окружность, цилиндр, сфера, конус и т.п. Допускается также задание произвольных пользовательских кривых и поверхностей (в т.ч. кусочно-гладких и сплайновых). Положения некоторых объектов на плоскости/в пространстве можно зафиксировать абсолютно или относительно (по отношению к группе других объектов). Между объектами можно задавать ограничения – инцидентности, касания, параллельности, перпендикулярности, концентричности и т.п. Кроме вышеприведенных логических ограничений допускаются и параметрические ограничения – расстояние, радиус, угол. Параметры этих ограничений можно изменять.

Дополнительно к геометрическим объектам и ограничениям можно задать свободные параметры и переменные-измерения (величины которых вычисляются по положению геометрических элементов), связав их уравнениями, неравенствами и табличными зависимостями. В уравнениях и неравенствах можно использовать как стандартные математические функции, так и произвольные – определенные пользователем или приложением.

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

Важной дополнительной функциональностью является возможность диагностики задачи, т.е. выявлению переопределенных («лишних») и несовместных ограничений, которая позволяет пользователю приложений, созданных на основе LGS увидеть и исправить ошибки в спецификации изделия.

Динамическое перемещение объектов (или динамическое изменение параметров) состоит в нахождении такой траектории движения, в каждой точке которой удовлетворяются все наложенные ограничения. Данная функциональность важна в контексте многих приложений, но особенно – эскизного черчения, проектирования сборок и анализа кинематики. Дополнительные модули к решателю LGS (как уже существующие, так и планируемые к разработке) включают в себя возможности по моделированию объектов более высокого уровня: кинематических пар, плоских профилей, объемных тел, а также выполняют ряд сервисных функций: осуществляют расчет интегральных параметров модели (длин, площадей, объемов, центров масс и тензоров инерции), определяют пересечения объемов и реализуют различные оптимизационные алгоритмы. Таким образом, формируется полный портфель предложений компании ЛЕДАС для разработчиков САПР, позволяющий строить конкретное приложение на основе готовых программных блоков.


Особенности разработки приложений с вариационной функциональностью

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


Конечно, полноценное геометрическое приложение всегда строится вокруг ядра геометрического моделирования, с помощью которого можно создавать геометрические формы «с нуля». Такое ядро реализует базовые типы и операции, необходимые любому разработчику САПР, моделирует геометрию и топологию объемных моделей на основе граничного представления (BRep), реализует операции по созданию и модификации трехмерных форм, включает модули для триангуляции сложной поверхности, удаления невидимых линий и рендеринга, а также поддерживают чтение и запись геометрических файлов популярных форматов. На рынке доступно несколько популярных геометрических ядер, поэтому компания ЛЕДАС разработала специальную технологию, облегчающую интеграцию своих вычислительных модулей для вариационного проектирования с существующими коммерческими геометрическими ядрами. Место вариационного геометрического решателя и других вычислительных модулей в архитектурной схеме современных САПР иллюстрируется на рисунке 1.



Рисунок 1. Архитектурная схема организации взаимодействия модулей интегральной САПР


Таким образом, в руки разработчику приложений САПР попадает исчерпывающий набор инструментальных библиотек (геометрическое моделирование + вариационное проектирование), которые сведут его задачу к сборке готового приложения из набора стандартных элементов. В таблице 2 перечислены некоторые из таких инструментальных наборов (toolkits), планируемые к выпуску силами компании ЛЕДАС, а в оставшейся части статьи мы кратко опишем базовую функциональность каждого из них.



Таблица 2. Конфигурации основных прикладных пакетов на основе решателя LGS


Каждый такой инструментальный набор включает в себя специально сконфигурированную версию вариационного геометрического решателя LGS, дополненную набором взаимосвязанных вычислительных модулей, средствами их быстрой интеграции с любым ядром геометрического моделирования, а также детальное руководство для программиста, описывающее особенности создания конкретного приложения на основе данного инструментального набора. Для большинства наборов планируется также открыть код демонстрационного приложения с ограниченной функциональностью, созданного на основе ядра с открытым кодом Open CASCADE.


Редактор двумерных эскизов

Приложение Sketcher является неотъемлемым компонентом любой современной САПР, ведь с задания двумерного профиля обычно начинается любое трехмерное построение на основе стандартных конструктивных элементов: протягиванием профиля вдоль трехмерной кривой (или прямой) получается поверхность сдвига (swept surface). В случае замкнутого профиля поверхность сдвига вместе с двумя ограничивающими плоскостями окружает замкнутый объем, который может быть прибавлен или вычтен из ранее построенной объемной модели. Двумерный профиль, состоящий из вершин (точек), соединенных друг с другом ребрами (отрезками и дугами окружностей или других кривых), сам является примером стандартного параметрического конструктивного элемента. У каждого элемента профиля имеются свои параметры. Зачастую набор параметров является избыточным, но у пользователя имеется возможность редактировать любой из них (в этом случае система сама изменяет зависимые параметры). Например, точку можно задать указанием ее координат в декартовой или в полярной системе, а отрезок – указанием координат конечных точек, заданием длины и угла с осью абсцисс.

В традиционных параметрических системах (на основе истории построения) форма профиля контролируется с помощью изменения параметров его элементов (вершин и дуг). Вариационное эскизное черчение выгодно отличается от этого подхода тем, что в любой момент конструктор может добавить или удалить любое логическое (инцидентность, параллельность, касание) или параметрическое (радиус дуги, длина отрезка, расстояние) ограничение между геометрическими элементами контура. В этом случае форма профиля автоматически изменяется системой (путем подбора новых значений параметров для элементов профиля), чтобы удовлетворить всем наложенным ограничениям (см. рис. 2). Дополнительным преимуществом вариационного подхода к созданию эскизов является возможность провести диагностику элементов эскиза (с тем, чтобы определить лишние или несовместные ограничения, а также выявить оставшиеся степени свободы). Кроме того, у пользователя имеется инструмент для динамического перемещения (с помощью манипулятора «мышь») геометрических элементов профиля по таким траекториям, на которых не нарушаются все заданные ограничения. Важной вспомогательной функциональностью приложений для эскизного черчения является автоматическое наложение ограничений на элементы, которое позволяет снять все оставшиеся степени свободы – с тем, чтобы полностью контролировать форму профиля путем изменения параметров ограничений.



Рисунок 2. Использование вариационного подхода при проектировании криволинейного профиля


Геометрический решатель LGS 2D позволяет смоделировать все сущности, необходимые для реализации модуля вариационного черчения в САПР, в терминах планиметрических объектов – точек, бесконечных прямых, окружностей, эллипсов и произвольных кривых. При этом типичные элементы профиля, такие как отрезки и дуги, моделируются несколькими объектами LGS (например, отрезок моделируется заданием бесконечной прямой и пары точек на ней, дуга – окружностью с парой точек). Чтобы облегчить работу по встраиванию решателя LGS 2D в приложения для эскизного черчения, разработана специальная интеграционная технология, позволяющая на 90% автоматически обмениваться информацией с популярными коммерческими ядрами геометрического моделирования и организовывать передачу данных между элементами эскиза и их образами в LGS 2D. Технология включает в себя настраиваемый шаблон с кодом интеграционного модуля и детальное описание работы по его использованию с конкретным геометрическим ядром. Версия LGS 2D для эскизного черчения реализует следующие базовые функции: расчет новых координат объектов в соответствии с заданными между ними ограничениями, диагностика объектов и ограничений, динамическое перемещение объектов в соответствии с оставшимися степенями свободы, автоматическое наложение ограничений для удаления оставшихся степеней свободы. Дополнительный модуль в составе специального инструментального набора для реализации эскизного черчения позволяют рассчитывать текущие параметры ограничений и выбирать оптимальное место для их изображения на эскизе. Другой модуль моделирует такие сущности, как кусочно-гладкий профиль, кривая смещения (offset) и кривая соединения (connect), что облегчает задачу пользователя по поддержке таких сущностей в приложении. Существующая демонстрационная реализация модуля вариационного эскизного черчения (с ограниченным набором геометрических примитивов) на основе ядра геометрического моделирования Open CASCADE позволяет в полной мере оценить функциональность, производительность и удобство работы с соответствующим приложением, построенным на основе LGS 2D. Подробно документированный исходный код этого модуля (на языке С++) позволяет понять, как устроено это приложение с точки зрения программиста, а также использовать этот код для создания аналогичных приложений. Набор этих инструментов (специализированная версия LGS 2D, модули для интеграции с геометрическим ядром, размещения изображений ограничений на чертеже, работы с профилями, конечно-пользовательское демо-приложение для вариационного эскизного черчения с открытым кодом) вместе с обширным набором технической документации формируют LGS 2D Sketcher Toolkit, набор средств для быстрого создания приложения для вариационного эскизного черчения.


Проектирование трехмерных деталей, поверхностей и каркасов

Все многообразие существующих инструментов трехмерного проектирования можно разделить на три класса – проектирование каркасов (wireframe), поверхностей (surface) и объемов (solid). Общим местом при реализации всех видов трехмерного проектирования в современных САПР является использование параметрического подхода на основе истории построения и наличие лишь ограниченных возможностей вариационного проектирования. Связано это как с тем фактом, что трехмерное моделирование существенно сложнее двумерного (количество видов трехмерных геометрических форм существенно больше, чем двумерных, а сложность их алгоритмической обработки существенно выше), так и со сложившимися традициями в области трехмерного проектирования, основанного на использовании стандартных конструктивных элементов.

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

Поверхности в трехмерном пространстве конструируются тремя основными способами. Фрагменты канонических поверхностей (сфер, цилиндров, конусов) задаются указанием декартовых координат этих поверхностей и пределов параметрического лоскута. Другие поверхности создаются на основе плоских и трехмерных профилей – путем их протягивания или вращения (причем, сам профиль может изменяться во время протягивания – соответствующая поверхность называется adaptive swept surface в англоязычной терминологии), либо путем внутренней аппроксимации замкнутого граничного профиля (fill). Наконец, поверхности третьего вида строятся на основе уже построенных поверхностей – это либо равноудаленные поверхности (offset), поверхности с переменным удалением от существующей (variable offset), а также поверхности, соединяющие (с требуемой степенью гладкости) другие поверхности (blended surface). Развитые средства проектирования поверхностей содержат также большое количество других инструментов. Вариационный решатель в данном контексте может использоваться как для управления изменяемым профилем при построении поверхности типа adaptive swept, так и для позиционирования поверхностей по отношению друг к другу (например, две поверхности можно расположить на заданном расстоянии друг от друга). Пользуясь преимуществами вариационного подхода, пользователь может наложить любые ограничения между поверхностями, кривыми и точками.

Для построения объемных элементов чаще всего используются такие конструктивные элементы, как вытянутые, повернутые или построенные по сечениям (плоским замкнутым профилям) основания и вырезы (pad, shaft, rib, pocket, groove и slot в английской инженерной терминологии). Другая группа конструктивных элементов основана на модификации уже построенных топологических элементов трехмерной модели – скругление (fillet), фаска (chamfer), наклон (draft) и др. Третья важная группа – это конструктивные элементы, построенные на основе криволинейных поверхностей – разрез (split), утолщение (thick), замыкание (close). Наконец, последнюю важную группу образуют элементы, построенные на основе других с помощью трансформаций (смещения, вращения, отражения). Вариационный подход позволяет связать параметры этих элементов друг с другом произвольным образом – например, можно позиционировать в трехмерном пространстве оси двух цилиндрических отверстий под заданным углом друг другу или задать расстояние в 3D между центрами их образующих окружностей.

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

LGS 3D Part Toolkit содержит прежде всего базовую версию решателя LGS 3D, позволяющего связывать геометрическими ограничениями базовые объекты стереометрии: точки, бесконечные прямые и плоскости, окружности, цилиндры, сферы, конусы и т.п. Для удобства создания приложения на основе LGS 3D данный инструментальный набор содержит модуль, облегчающий интеграцию LGS 3D с популярными коммерческими ядрами для геометрического моделирования.


Проектирование сборок

При проектировании сборок без вариационного подхода обойтись практически невозможно, ведь при конструкции составного изделия методом «снизу вверх» пользователь должен расположить уже созданные трехмерные детали согласованным образом, связав их ограничениями сборки (assembly constraints). Четыре основных типа ограничений сборки – это инцидентность, контакт (касание кривых и поверхностей), расстояние и угол. Кроме того, пространственное положение некоторых деталей в сборке можно зафиксировать, а некоторые детали – сгруппировать в жесткие группы (зафиксировать их положение друг относительно друга). При таком подходе к проектированию избежать циклических зависимостей практически невозможно – большинство механизмов имеют большое количество точек контакта между своими звеньями, а значит – полноценный модуль для проектирования сборок должен быть построен на вариационном геометрическом решателе.



Рисунок 3. Сборка изделия методом «снизу вверх» с использованием вариационного подхода


Основной функциональностью приложения для проектирования сборок является возможность обновления сборки (update) – т.е. автоматическое удовлетворение всех наложенных пользователем ограничений путем перемещения деталей в пространстве (см. рис. 3). В процессе работы с одной сборкой пользователь может вызывать обновление несколько раз – при добавлении новых ограничений или при редактировании параметров ранее созданных.

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

Типовой функциональностью приложения для проектирования сборок является возможность автоматически «разобрать» собранную сборку для того, чтобы увидеть каждую деталь отдельно.

Другой типичной функциональностью является проверка деталей в сборке на отсутствие пересечений их объемов (в т.ч. с заданным допуском). К этой же области относится вычисление и визуализация минимального расстояния в пространстве между двумя деталями в сборке.

Каждая деталь в сборке имеет от 0 до 6 степеней свободы (в зависимости от того, является ли она зафиксированной и какими ограничениями связана с другими деталями). Анализ и визуализация степеней свободы – важная функциональность приложения для проектирования сборок.

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

Создание трехмерных аннотаций и сечений, как правило, не требует использования вариационного подхода, т.к. аннотации и сечения однозначно позиционируются относительно референсного геометрического элемента, однако возможность связывания аннотаций и сечений геометрическими ограничениями представляется полезной. Наконец, многие приложения для проектирования сборок умеют вычислять механические характеристики деталей и всей сборки: объем, массу, площадь поверхности, центр масс и тензор инерции, а также поддерживают работу с ведомостью материалов (Bill of Materials, BOM).

В рамках инструментального набора LGS 3D Assembly Toolkit разработчикам будут доступны модули, реализующие большинство вышеперечисленных функций.


Работа с чертежами

Работа по созданию чертежей в современных трехмерных САПР обычно осуществляется в двух направлениях – автоматическая генерация чертежей по трехмерным деталям и сборкам, а также построение чертежей с нуля. Два этих способа часто используются совместно – какие-то элементы чертежа генерируются по существующим трехмерным образам, другие (интерактивные элементы) – создаются непосредственно в чертежном модуле. Важной особенностью развитых приложений по работе с чертежами является использование вариационного подхода, т.е. возможность связать элементы чертежа логическими и параметрическими ограничениями. Прежде всего, такая связь организуется между интерактивными элементами, а также между интерактивными и сгенерированными элементами для правильного позиционирования первых относительно вторых. Такая вариационная функциональность чертежного модуля не отличается принципиально от функциональности редактора двумерных эскизов, которую мы рассмотрели выше. Однако, другой важной особенностью чертежных приложения является возможность использования направляющих измерений (driving dimensions). Наложив такое измерение (радиуса, расстояния, угла) на элементы чертежа, сгенерированные по трехмерной модели, пользователь может связать его с исходной трехмерной моделью – в этом случае изменение параметра такого измерения приведет к изменению формы трехмерной модели. Технически данная связь осуществляется за счет ассоциирования управляемого измерения с параметрическим ограничением, наложенным на один из двумерных эскизов, использованных при построении конструктивных элементов трехмерной модели.

Планируемый к разработке LGS 2D Drafting Toolkit позволит реализовать связь между трехмерной вариационной моделью и ее двумерными образами.


Инженерные знания

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

Геометрический решатель LGS позволяет работать не только с чистыми геометрическими задачами, но и со смешанными инженерно-геометрическими. В таких задачах пользователь может создавать свободные переменные, ассоциировать с некоторыми из них геометрические измерения между геометрическими элементами модели (расстояние, угол, радиус) и связывать переменные посредством инженерных ограничений – уравнений, неравенств, табличных зависимостей, а также с использованием внешних для решателя функций. Такой подход позволяет в рамках одного решателя эффективно обрабатывать смешанные инженерно-геометрические спецификации, применяя к ним символьные методы и более точные численные алгоритмы.

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

LGS 2D/3D Engineering Toolkit будет включать в себя специальную версию базового решателя LGS 2D/3D, расширенную возможностями спецификации инженерных ограничений (уравнений, неравенств и таблиц). Кроме того, интерфейсный модуль для работы с плоскими профилями (2D) или BRep представлением (3D) будет расширен возможностями расчета основных геометрических измерений – длины и площади контура, площади поверхности, объема и центра масс тела.


Параметрическая оптимизация

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



Рисунок 4. Оптимизация площади замкнутого контура с помощью LGS


Решатель LGS имеет возможности оптимизировать любой параметр в рамках смешанной модели – состоящей как из геометрических, так и из инженерных спецификаций (включая уравнения, неравенства, таблицы, измерения площадей и объемов, а также произвольные пользовательские функции, см. рис. 4). LGS 2D/3D Optimization Toolkit представляет собой расширение описанного ранее Engineering Toolkit возможностью задания целевого параметра и выбора алгоритма оптимизации.


Моделирование кинематики механизмов

Задача моделирования кинематики механизмов решается в рамках большинства коммерческих CAD/CAM/CAE пакетов. Моделируемый механизм представляется в виде совокупности звеньев (деталей), связанных друг с другом посредством кинематических пар (joints). Кинематические пары связывают звенья друг с другом, снимая различные степени свободы, связанные с их относительным положением. Основные виды кинематических пар (вращательная, поступательная, цилиндрическая, плоская, сферическая, универсальная и жесткая) могут быть автоматически сгенерированы по спецификации изделия – исходя из заданных ограничений сборки. Каждая пара этой группы соответствует одному или нескольким ограничениям сборки, наложенным между геометрическими элементами соответствующих звеньев. Другую группу кинематических пар образуют составные пары - зубчатая и реечная зубчатая передачи, а также шарнир равных угловых скоростей. Для зубчатой, реечной зубчатой, а также для винтовой пары требуется задание передающих коэффициентов (переводящих скорость вращения одного звена в скорость вращения или смещения другого). Отдельный подкласс образуют кинематические пары, задающие относительное качение или скольжение звеньев вдоль заданных кривых и поверхностей.

Основные действия пользователя при проектировании механизмов можно разбить на три группы – сборка механизма (обновление), перемещение звеньев механизма и имитация движения механизма. Сборка и перемещение звеньев полностью аналогичны соответствующим операциям, решаемым при проектировании сборок. Имитация движения механизма состоит в том, что пользователь задает закон движения одного ведущего звена, а приложение автоматически рассчитывает и визуализирует движения всех звеньев механизма в соответствии с заданными кинематическими парами.

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

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

Находящийся в разработке LGS 3D Kinematics Toolkit включает в себя специальную версию LGS 3D с возможностью спецификации простых инженерных уравнений, а также модуль более высокого уровня, предоставляющий разработчику приложения проблемно-ориентированный интерфейс для спецификации кинематических пар и задания законов их движения.


Моделирование динамических взаимодействий

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

При использовании вариационного подхода с явно заданными ограничениями сборки (кинематическими парами) число степеней свободы в моделируемой системе существенно снижается, что позволяет описать ее более компактно в алгебраическом смысле и применить к такой поставке принцип Гамильтона, тем самым сведя задачу к дифференциальным уравнениям Лагранжа (в общем случае – дифференциально-алгебраическим уравнениям). Специальная версия решателя LGS 3D позволит эффективно решать такого рода системы, а в комбинации с модулем определения столкновений и модулем пересчета скоростей при столкновении составит основу пакета LGS 3D Dynamics Toolkit, в который также войдет модуль расчета объемов, центров масс и тензоров инерции тел на основе граничного (BRep) представления геометрии.


Параметризация геометрии при обмене данными между САПР

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

Планируемый к разработке LGS 3D Interoperability Toolkit будет включать в себя подмножество функциональности базового решателя LGS 3D, а также три дополнительных модуля. Интерфейсный модуль позволит накладывать геометрические ограничения непосредственно между элементами граничного представления геометрической модели (BRep) и создавать модель для LGS 3D, а модуль для автоматического распознавания логических ограничений геометрической модели позволит автоматически распознать соосности, касания, параллельности и перпендикулярности между гранями и ребрами. Наконец, интерфейсный модуль облегчит интеграцию данных инструментальных модулей с популярными геометрическими ядрами.


Проектирование изделия из стандартных комплектующих

Проектирование деталей и механизмов «с нуля» – весьма творческий и растянутый во времени процесс, требующий использования развитых средств автоматизации проектирования. Зачастую, однако, требуется решать более простые задачи: быстро собрать несложный механизм из стандартных частей (возможно, изменив их размеры), оценить его внешний вид и убедиться в его работоспособности. Такого рода механизмом может быть окно, дверь, шкаф, кухонный гарнитур, лестница, бассейн, система вентиляции и тому подобные предметы. Использовать полноценный САПР для их проектирования экономически нецелесообразно, поэтому многие поставщики разрабатывают собственные специализированные приложения. Такие приложения позволяют быстро собрать готовое изделие из каталога комплектующих деталей прямо в присутствии заказчика, задавая необходимые размеры прямо «по месту», автоматически рассчитывая стоимость и формируя заказ на производство.

Пакет LGS 3D Configuration Toolkit будет содержать функциональность, необходимую для поддержки работы с параметрическими каталогами деталей и быстрого проектирования сборных конструкций.


Средства для просмотра 3D моделей

Обмен данными САПР в рамках расширенного предприятия (взаимодействие между разными отделами, поставщиками, смежниками и заказчиками) невозможен без использования простых и удобных средств просмотра трехмерных моделей изделия. Как правило, такие средства интегрируются в офисные документы и Интернет-браузеры и основаны на использовании специальных «облегченных» форматов для компактного представления трехмерных изделий. Традиционные средства просмотра включают в себя возможности по 3D навигации (приближение, удаление, вращение), а также возможности для воспроизведения 3D роликов, поясняющих некие технические процессы по сборке/разборке или техническому обслуживанию изделия. Следующий логичный шаг развития таких средств – предоставить пользователю возможности по самостоятельной сборке/разборке изделия и проверки его кинематики.

Специальная «легкая» версия вариационного решателя войдет в состав LGS 3D Viewing Toolkit, набора инструментальных модулей для создания приложения по визуализации трехмерных моделей с внутренними степенями свободы.


За пределами традиционных средств механического проектирования

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

Образование – одна из самых перспективных областей приложений. На основе геометрического решателя LGS 2D было создано приложение FlashLGS, которое можно запускать в окне Интернет-браузера (см. рис. 5). Данное приложение позволяет моделировать базовые геометрические объекты (точки, отрезки, окружности) и связывать их логическими и параметрическими ограничениями. Интуитивно понятный пользовательский интерфейс, ограниченный набор примитивов и возможность запускать приложения прямо из окна браузера позволяют овладеть основами вариационного подхода к параметрическому черчению любому человеку даже без соответствующей подготовки. Кроме того, данное или подобное ему приложение может быть использовано в школах на уроках планиметрии для создания интерактивных иллюстраций к теоремам и задачам.



Рисунок 5. Вариационное эскизное черчение в окне Интернет-браузера (FlashLGS)


CAD 4D – популярная концепция в архитектурно-строительных САПР, позволяющая планировать изменения трехмерных моделей зданий во времени, т.е. планировать сам процесс строительства. В рамках данной концепции план-график строительства ассоциируется с трехмерными ресурсами. При этом ограничения сборки могут быть связаны с ресурсными ограничениями – обе эти разновидности ограничений успешно моделируются и решаются в рамках вариационного подхода, облегчая задачу пользователя по проектированию процесса строительства. В данном случае решатель LGS 3D может использоваться в связке с модулем Scheduler, разработанным в компании ЛЕДАС для решения оптимизационных задач ресурсно-календарного планирования.

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

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


Об авторе

Директор по технологиям компании ЛЕДАС, Дмитрий Ушаков в 1995 году получил диплом магистра математики Новосибирского государственного университета, а в 1998 стал кандидатом физико-математических наук по специальности «Математическое обеспечение вычислительных машин, комплексов и компьютерных сетей». В 1993-1999 годах Д.Ушаков являлся научным сотрудником Российского НИИ искусственного интеллекта, став основным разработчиком универсального объектно-ориентированного расширяемого решателя задач удовлетворения и оптимизации в ограничениях. В рамках своей деятельности в компании ЛЕДАС Д.Ушаков занимался разработкой вычислительных программных компонентов для системы CATIA V5, на основе которых создан ряд приложений, последовательно применяющих вариационный подход к параметризации. Д.Ушаков является автором около пятидесяти научных работ.


О компании ЛЕДАС

ЗАО "ЛЕДАС" — независимая софтверная компания, образованная в Новосибирском Научном Центре (Академгородке) Сибирского отделения Российской Академии Наук в 1999 г. Являясь лидером в области вычислительных технологий, основанных на аппарате математических ограничений, ЛЕДАС хорошо известен как поставщик вычислительных программных компонентов для систем PLM (управления жизненным циклом изделия) и ERP (планирования ресурсов предприятия). В портфеле предложений компании – решатель геометрических ограничений для САПР (CAD/CAM/CAE), оптимизирующий процессор для систем управления проектами, планирования рабочей силы и организации собраний, интервальные технологии для организации баз знаний и совместного проектирования в САПР. Компания также оказывает своим заказчикам различные услуги в области PLM и ERP: разработка ПО, консалтинг, распространение продуктов партнеров, тренинги персонала.

Все права защищены. © 2004-2024 Группа компаний «ЛЕДАС»

Перепечатка материалов сайта допускается с согласия редакции, ссылка на isicad.ru обязательна.
Вы можете обратиться к нам по адресу info@isicad.ru.