Геометрический решатель (), решатель геометрических ограничений, геометрический решатель задач в ограничениях — это программная компонента, которая встраивается в САПР и позволяет инженеру точно позиционировать геометрические элементы друг относительно друга.
Двумерные геометрические решатели работают с геометрическими объектами на плоскости, и позволяют создавать двумерные чертежи, а трехмерные геометрические решатели, как правило, используются для сборки из деталей механизмов и других конструкций. Инженер накладывает геометрические ограничения (параллельность, перпендикулярность, совпадение, соосность и пр.) на геометрические объекты (точки, прямые, плоскости, окружности, сферы, и пр.) и после работы решателя получает решение задачи — новые координаты объектов и значения их параметров (таких, как радиусы окружностей или углы конусов), удовлетворяющее ограничения. В случае неразрешимости задачи, геометрический решатель выдает сообщение о несовместности модели. Как правило, геометрические решатели также содержат реализации смежных функций: определения недо- и переопределенности задачи, автогенерации ограничений, движения объектов с сохранением наложенных на них ограничений, и пр.
Методы
Общая схема работы геометрических решателей состоит в генерации системы нелинейных уравнений, которая моделирует геометрические ограничения, наложенные на объекты, и решении этой системы, как правило, с помощью использования итеративных методов, таких как метод Ньютона-Рафсона. Существенное значение для корректности и производительности геометрических решателей имеет способ моделирования.
Для ускорения работы решателей используют различные методы декомпозиции задачи: декомпозиция-рекомбинация, древовидная декомпозиция, C-tree decomposition, graph reduction, re-parametrization and reduction, computing fundamental circuits, body-and-cad structure, и witness configuration method.
Некоторые другие методы и подходы включают анализ степеней свободы, символьные вычисления, применение систем правил, программирование в ограничениях, и генетические алгоритмы.
Системы нелинейных уравнений в основном решают с помощью итерационных методов, на каждой итерации решается линейная задача. Метод Ньютона — Рафсона является одним из самым известных примеров.
Решатель передает информацию дальше геометрическому ядру, которое выполняет построение геометрической модели, используя полученные решателем координаты и параметры объектов.
Приложения и программные реализации
Основной областью применения геометрических решателей являются САПР. Они также используются для решения задач обратной кинеметики, робототехники, архитектурно-конструкторских работ, геометрического моделирования молекул и других прикладных областей.
К геометрическим решателям относятся: 2D Dimensional Constraint Manager (DCM), 3D DCM (D-Cubed), принадлежит Siemens PLM Software, интегрирован в AutoCAD, SolidWorks, Creo и много других популярных САПР; 2D LEDAS Geometric Solver (LGS), 3D LGS (ЛЕДАС); Параметрическое ядро C3D Solver (C3D Labs), интегрировано в КОМПАС-3D, Altium Designer, Renga, Nanocad, FlowVision, БАЗИС и другие; GeoSolver, пакет на языке Python для решения геометрических ограничений, распространяется под GNU General Public License; NoteCAD, САПР система с открытым исходным кодом, разработанная на C# и Unity3D, содержит реализацию решателя геометрических ограничений.
См. также Геометрическое ядро Параметрическое моделирование
Примечания
Ссылки
Категория:САПР