Геометрический решатель САПР
Геометрический решатель (англ. Geometric Constraint Solver), решатель геометрических ограничений, геометрический решатель задач в ограничениях — это программная компонента, которая встраивается в САПР и позволяет инженеру точно позиционировать геометрические элементы друг относительно друга.
Двумерные геометрические решатели работают с геометрическими объектами на плоскости, и позволяют создавать двумерные чертежи, а трехмерные геометрические решатели, как правило, используются для сборки из деталей механизмов и других конструкций. Инженер накладывает геометрические ограничения (параллельность, перпендикулярность, совпадение, соосность и пр.) на геометрические объекты (точки, прямые, плоскости, окружности, сферы, и пр.) и после работы решателя получает решение задачи — новые координаты объектов и значения их параметров (таких, как радиусы окружностей или углы конусов), удовлетворяющее ограничения. В случае неразрешимости задачи, геометрический решатель выдает сообщение о несовместности модели. Как правило, геометрические решатели также содержат реализации смежных функций: определения недо- и переопределенности задачи, автогенерации ограничений, движения объектов с сохранением наложенных на них ограничений, и пр.
Методы
Общая схема работы геометрических решателей состоит в генерации системы нелинейных уравнений, которая моделирует геометрические ограничения, наложенные на объекты, и решении этой системы, как правило, с помощью использования итеративных методов, таких как метод Ньютона-Рафсона. Существенное значение для корректности и производительности геометрических решателей имеет способ моделирования.
Для ускорения работы решателей используют различные методы декомпозиции задачи:[1] декомпозиция-рекомбинация,[2][3] древовидная декомпозиция,[4] C-tree decomposition,[5] graph reduction,[6] re-parametrization and reduction,[7] computing fundamental circuits,[8] body-and-cad structure,[9] и witness configuration method.[10]
Некоторые другие методы и подходы включают анализ степеней свободы,[11][12] символьные вычисления,[13] применение систем правил,[14] программирование в ограничениях,[14][15] и генетические алгоритмы.[16]
Системы нелинейных уравнений в основном решают с помощью итерационных методов, на каждой итерации решается линейная задача. Метод Ньютона — Рафсона является одним из самым известных примеров.[14]
Решатель передает информацию дальше геометрическому ядру, которое выполняет построение геометрической модели, используя полученные решателем координаты и параметры объектов.
Приложения и программные реализации
Основной областью применения геометрических решателей являются САПР. Они также используются для решения задач обратной кинеметики, робототехники, архитектурно-конструкторских работ, геометрического моделирования молекул и других прикладных областей.
К геометрическим решателям относятся:
- 2D Dimensional Constraint Manager (DCM), 3D DCM (D-Cubed), принадлежит Siemens PLM Software, интегрирован в AutoCAD, SolidWorks, Creo и много других популярных САПР;[17]
- 2D LEDAS Geometric Solver (LGS), 3D LGS (ЛЕДАС);
- Параметрическое ядро C3D Solver (C3D Labs), интегрировано в КОМПАС-3D,[18] Altium Designer, Renga, Nanocad, FlowVision, БАЗИС и другие;
- GeoSolver,[19] пакет на языке Python для решения геометрических ограничений, распространяется под GNU General Public License.
См. также
Примечания
- ↑ Pascal Mathis, Simon E. B. Thierry. A formalization of geometric constraint systems and their decomposition (англ.). Архивировано 18 января 2018 года.
- ↑ Christoph M.Hoffman, Andrew Lomonosov, Meera Sitharam. Decomposition Plans for Geometric Constraint Systems, Part I: Performance Measures for CAD (англ.).
- ↑ Christoph M.Hoffman, Andrew Lomonosov, Meera Sitharam. Decomposition Plans for Geometric Constraint Problems, Part II: New Algorithms (англ.).
- ↑ Marta Hidalgoa, Robert Joan-Arinyo. h-graphs: A new representation for tree decompositions of graphs (англ.).
- ↑ Xiao-Shan Gao, Qiang Lin, Gui-Fang Zhang. A C-tree decomposition algorithm for 2D and 3D geometric constraint solving (англ.).
- ↑ Samy Ait-Aoudia, Sebti Foufou. A 2D geometric constraint solver using a graph reduction method (англ.).
- ↑ Hichem Barki, Lincong Fang, Dominique Michelucci, Sebti Foufou. Re-parameterization reduces irreducible geometric constraint systems (англ.).
- ↑ R.Joan-Arinyo, M.Tarrés-Puertas, S.Vila-Marta. Decomposition of geometric constraint graphs based on computing fundamental circuits. Correctness and complexity (англ.).
- ↑ Kirk Haller, Audrey Lee-St.John, Meera Sitharam, Ileana Streinu, Neil White. Body-and-cad geometric constraint systems (англ.). Архивировано 28 января 2021 года.
- ↑ Dominique Michelucci, Sebti Foufou. Geometric constraint solving: The witness configuration method (англ.).
- ↑ Kramer Glenn A. Solving geometric constraint systems : a case study in kinematics (англ.). — 1:a upplagan.. — Cambridge, Mass.: MIT Press, 1992. — ISBN 9780262111645. Архивировано 16 апреля 2018 года.
- ↑ Xiaobo Peng, Kunwoo Lee, Liping Chen. A geometric constraint solver for 3-D assembly modeling (англ.). Архивировано 16 января 2018 года.
- ↑ Xiao-Shan Gao, Shang-Ching Chou. Solving Geometric Constraint Systems II. A Symbolic Approach and Decision of Rc-constructibility (англ.). Архивировано 16 января 2018 года.
- ↑ 1 2 3 William Bouma, Ioannis Fudos, Christoph M. Hoffmann, Jiazhen Cai, Robert Paige. A Geometric Constraint Solver (неопр.). — 1993. Архивировано 2 февраля 2017 года.
- ↑ Michela Farenzena, Andrea Fusiello. Stabilizing 3D modeling with geometric constraints propagation (англ.).
- ↑ R. Joan-Arinyo, M.V. Luzón, A. Soto. Constructive Geometric Constraint Solving: A New Application of Genetic Algorithms (англ.). Архивировано 16 января 2018 года.
- ↑ D-Cubed Customers . Дата обращения: 17 января 2018. Архивировано 28 декабря 2017 года.
- ↑ Евгений Ермаков, Сергей Митин, Сергей Ротков, Александр Максименко. Использование C3D Solver для решения кинематических задач узлов механизмов . LEDAS Ltd. (6 января 2017). Дата обращения: 26 апреля 2017. Архивировано 27 апреля 2017 года.
- ↑ GeoSolver Project Page . Дата обращения: 17 января 2018. Архивировано 11 октября 2017 года.
Ссылки
- W. Bouma. A Geometric Constraint Solver (англ.). — doi:10.1016/0010-4485(94)00013-4.
- Geometric constraint solver . www.v-rep.eu. Дата обращения: 21 января 2017.
- Решатель геометрических ограничений — PLMpedia . plmpedia.ru. Дата обращения: 21 января 2017.
- Ершов А.Г. Как создается инженерное наукоемкое ПО мирового класса. Геометрический решатель – «великий комбинатор» // Наука из первых рук : журнал. — 2013. — 22 июля (т. 50, № 2).
- Прейс С. LGS — эффективный и доступный решатель геометрических задач // САПР и графика : журнал. — 2003. — № 9.
- Владимир Малюх. Решатель геометрических ограничений // Введение в современные САПР. Курс лекций. — Litres, 2017-01-03. — С. 186. — 190 с. — ISBN 9785457517165.
- Ушаков Д.М. Вариационный геометрический решатель // Введение в математические основы САПР, Курс лекций. — 2011. — С. 84.