Геометрический решатель САПР: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Поправлена пунктуация в "Приложения и программные реализации" и синтксическая ошибка в "Примечаниях"
Строка 22: Строка 22:
* 2D Dimensional Constraint Manager (DCM), 3D DCM ([[D-Cubed]]), принадлежит [[Siemens PLM Software]], интегрирован в [[AutoCAD]], [[SolidWorks]], [[PTC_(производитель_программного_обеспечения)|Creo]] и много других популярных САПР;<ref>{{cite web|title=D-Cubed Customers|url=https://www.plm.automation.siemens.com/en/products/open/d-cubed/customers/}}</ref>
* 2D Dimensional Constraint Manager (DCM), 3D DCM ([[D-Cubed]]), принадлежит [[Siemens PLM Software]], интегрирован в [[AutoCAD]], [[SolidWorks]], [[PTC_(производитель_программного_обеспечения)|Creo]] и много других популярных САПР;<ref>{{cite web|title=D-Cubed Customers|url=https://www.plm.automation.siemens.com/en/products/open/d-cubed/customers/}}</ref>
* 2D LEDAS Geometric Solver (LGS), 3D LGS ([[ЛЕДАС]]);
* 2D LEDAS Geometric Solver (LGS), 3D LGS ([[ЛЕДАС]]);
* Параметрическое ядро C3D Solver ([[C3D Labs]]), интегрировано в [[Компас_(САПР)#«Компас-3D»|КОМПАС-3D]];<ref>{{cite web
* Параметрическое ядро C3D Solver ([[C3D Labs]]), интегрировано в [[Компас_(САПР)#«Компас-3D»|КОМПАС-3D]],<ref>{{cite web
|author=Евгений Ермаков, Сергей Митин, Сергей Ротков, Александр Максименко
|author=Евгений Ермаков, Сергей Митин, Сергей Ротков, Александр Максименко
|url=http://isicad.ru/ru/articles.php?article_num=18999
|url=http://isicad.ru/ru/articles.php?article_num=18999
|journal=isicad
|title=Использование C3D Solver для решения кинематических задач узлов механизмов
|title=Использование C3D Solver для решения кинематических задач узлов механизмов
|publisher=LEDAS Ltd.
|publisher=LEDAS Ltd.
|date=2017-01-06}}</ref> [[Altium Designer]], [[Renga]], [[NanoCAD|Nanocad]], [[FlowVision]], БАЗИС и другие.
|date=2017-01-06}}</ref> [[Altium Designer]], [[Renga]], [[NanoCAD|Nanocad]], [[FlowVision]], БАЗИС и другие;
* GeoSolver,<ref>{{cite web|title=GeoSolver Project Page|url=http://geosolver.sourceforge.net/}}</ref> пакет на языке [[Python]] для решения геометрических ограничений, распространяется под [[GNU General Public License]].
* GeoSolver,<ref>{{cite web|title=GeoSolver Project Page|url=http://geosolver.sourceforge.net/}}</ref> пакет на языке [[Python]] для решения геометрических ограничений, распространяется под [[GNU General Public License]].



Версия от 06:56, 24 июля 2021

Геометрический решатель (англ. 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. (6 января 2017).
  19. GeoSolver Project Page.

Ссылки