Геометрический решатель САПР

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Геометрический решатель (англ. 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]

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

Приложения и программные реализации[править | править код]

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

К геометрическим решателям относятся:

См. также[править | править код]

Примечания[править | править код]

  1. Pascal Mathis, Simon E. B. Thierry. A formalization of geometric constraint systems and their decomposition.
  2. Christoph M.Hoffman, Andrew Lomonosov, Meera Sitharam. Decomposition Plans for Geometric Constraint Systems, Part I: Performance Measures for CAD.
  3. Christoph M.Hoffman, Andrew Lomonosov, Meera Sitharam. Decomposition Plans for Geometric Constraint Problems, Part II: New Algorithms.
  4. Marta Hidalgoa, Robert Joan-Arinyo. h-graphs: A new representation for tree decompositions of graphs.
  5. Xiao-Shan Gao, Qiang Lin, Gui-Fang Zhang. A C-tree decomposition algorithm for 2D and 3D geometric constraint solving.
  6. Samy Ait-Aoudia, Sebti Foufou. A 2D geometric constraint solver using a graph reduction method.
  7. Hichem Barki, Lincong Fang, Dominique Michelucci, Sebti Foufou. Re-parameterization reduces irreducible geometric constraint systems.
  8. R.Joan-Arinyo, M.Tarrés-Puertas, S.Vila-Marta. Decomposition of geometric constraint graphs based on computing fundamental circuits. Correctness and complexity.
  9. Kirk Haller, Audrey Lee-St.John, Meera Sitharam, Ileana Streinu, Neil White. Body-and-cad geometric constraint systems.
  10. Dominique Michelucci, Sebti Foufou. Geometric constraint solving: The witness configuration method.
  11. Kramer Glenn A. Solving geometric constraint systems : a case study in kinematics. — 1:a upplagan. — Cambridge, Mass. : MIT Press, 1992. — ISBN 9780262111645.
  12. Xiaobo Peng, Kunwoo Lee, Liping Chen. A geometric constraint solver for 3-D assembly modeling.
  13. Xiao-Shan Gao, Shang-Ching Chou. Solving Geometric Constraint Systems II. A Symbolic Approach and Decision of Rc-constructibility.
  14. 1 2 3 William Bouma, Ioannis Fudos, Christoph M. Hoffmann, Jiazhen Cai, Robert Paige. A Geometric Constraint Solver. — 1993.
  15. Michela Farenzena, Andrea Fusiello. Stabilizing 3D modeling with geometric constraints propagation.
  16. R. Joan-Arinyo, M.V. Luzón, A. Soto. Constructive Geometric Constraint Solving: A New Application of Genetic Algorithms.
  17. D-Cubed Customers.
  18. Евгений Ермаков, Сергей Митин, Сергей Ротков, Александр Максименко. Использование C3D Solver для решения кинематических задач узлов механизмов. LEDAS Ltd. (January 6, 2017).
  19. GeoSolver Project Page.

Ссылки[править | править код]