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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Спасено источников — 7, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0.9.5
 
(не показано 17 промежуточных версий 7 участников)
Строка 1: Строка 1:
'''Геометрический решатель''' ({{lang-en|Geometric Constraint Solver}}), решатель геометрических ограничений, геометрический решатель задач в ограничениях — это программная компонента, которая встраивается в [[САПР]] и позволяет инженеру точно позиционировать геометрические элементы друг относительно друга.
{{К удалению|2017-01-16}}

{{Дописать}}
Двумерные геометрические решатели работают с геометрическими объектами на плоскости, и позволяют создавать двумерные чертежи, а трехмерные геометрические решатели, как правило, используются для сборки из деталей механизмов и других конструкций. Инженер накладывает геометрические ограничения (параллельность, перпендикулярность, совпадение, соосность и пр.) на геометрические объекты (точки, прямые, плоскости, окружности, сферы, и пр.) и после работы решателя получает решение задачи — новые координаты объектов и значения их параметров (таких, как радиусы окружностей или углы конусов), удовлетворяющее ограничения. В случае неразрешимости задачи, геометрический решатель выдает сообщение о несовместности модели. Как правило, геометрические решатели также содержат реализации смежных функций: определения недо- и переопределенности задачи, автогенерации ограничений, движения объектов с сохранением наложенных на них ограничений, и пр.
{{нет источников|дата=2012-08-10}}

'''Геометрический Решатель САПР''' ({{lang-en|Geometric Solver}}, {{lang-en2|Geometric Constraint Solver}}) — это программный комплекс, который встраивается в [[САПР]] его производителем и позволяет инженеру собирать сложные конструкции из простых. Инженер накладывает геометрические ограничения (параллельность, перпендикулярность, совпадение, соосность и пр.) на геометрические объекты (точки, прямые, плоскости, окружности, сферы, и пр.) и после работы решателя получает новое расположение объектов и связанных с ними деталей или сообщение о несовместности модели. Решатель передает информацию дальше ядру.
== Методы ==

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

Для ускорения работы решателей используют различные методы [[декомпозиция|декомпозиции]] задачи:<ref>{{книга |заглавие=A formalization of geometric constraint systems and their decomposition |ссылка=https://link.springer.com/article/10.1007%2Fs00165-009-0117-8 |язык=en |автор=Pascal Mathis, Simon E. B. Thierry |archivedate=2018-01-18 |archiveurl=https://web.archive.org/web/20180118182624/https://link.springer.com/article/10.1007%2Fs00165-009-0117-8 }}</ref> декомпозиция-рекомбинация,<ref>{{книга |заглавие=Decomposition Plans for Geometric Constraint Systems, Part I: Performance Measures for CAD |ссылка=http://www.sciencedirect.com/science/article/pii/S0747717100904024 |язык=en |автор=Christoph M.Hoffman, Andrew Lomonosov, Meera Sitharam}}</ref><ref>{{книга |заглавие=Decomposition Plans for Geometric Constraint Problems, Part II: New Algorithms |ссылка=http://www.sciencedirect.com/science/article/pii/S0747717100904036 |язык=en |автор=Christoph M.Hoffman, Andrew Lomonosov, Meera Sitharam}}</ref> древовидная декомпозиция,<ref>{{книга |заглавие=h-graphs: A new representation for tree decompositions of graphs |ссылка=http://www.sciencedirect.com/science/article/pii/S0010448515000688 |язык=en |автор=Marta Hidalgoa, Robert Joan-Arinyo}}</ref> C-tree decomposition,<ref>{{книга |заглавие=A C-tree decomposition algorithm for 2D and 3D geometric constraint solving |ссылка=http://www.sciencedirect.com/science/article/pii/S0010448505000813 |язык=en |автор=Xiao-Shan Gao, Qiang Lin, Gui-Fang Zhang}}</ref> graph reduction,<ref>{{книга |заглавие=A 2D geometric constraint solver using a graph reduction method |ссылка=http://www.sciencedirect.com/science/article/pii/S0965997810001006 |язык=en |автор=Samy Ait-Aoudia, Sebti Foufou}}</ref> re-parametrization and reduction,<ref>{{книга |заглавие=Re-parameterization reduces irreducible geometric constraint systems |ссылка=http://www.sciencedirect.com/science/article/pii/S0010448515001116 |язык=en |автор=Hichem Barki, Lincong Fang, Dominique Michelucci, Sebti Foufou}}</ref> computing fundamental circuits,<ref>{{книга |заглавие=Decomposition of geometric constraint graphs based on computing fundamental circuits. Correctness and complexity |ссылка=http://www.sciencedirect.com/science/article/pii/S001044851400030X |язык=en |автор=R.Joan-Arinyo, M.Tarrés-Puertas, S.Vila-Marta}}</ref> body-and-cad structure,<ref>{{книга |заглавие=Body-and-cad geometric constraint systems |ссылка=http://www.sciencedirect.com/science/article/pii/S0925772112000235 |язык=en |автор=Kirk Haller, Audrey Lee-St.John, Meera Sitharam, Ileana Streinu, Neil White |archivedate=2021-01-28 |archiveurl=https://web.archive.org/web/20210128233755/http://www.sciencedirect.com/science/article/pii/S0925772112000235 }}</ref> и witness configuration method.<ref>{{книга |заглавие=Geometric constraint solving: The witness configuration method |ссылка=http://www.sciencedirect.com/science/article/pii/S001044850600025X |язык=en |автор=Dominique Michelucci, Sebti Foufou}}</ref>

Некоторые другие методы и подходы включают анализ степеней свободы,<ref>{{книга |заглавие=Solving geometric constraint systems : a case study in kinematics |издательство=[[MIT Press]] |место=Cambridge, Mass. |isbn=9780262111645 |издание=1:a upplagan. |ссылка=https://mitpress.mit.edu/books/solving-geometric-constraint-systems |язык=en |автор=Kramer Glenn A. |год=1992 |archivedate=2018-04-16 |archiveurl=https://web.archive.org/web/20180416025511/https://mitpress.mit.edu/books/solving-geometric-constraint-systems }}</ref><ref>{{книга |заглавие=A geometric constraint solver for 3-D assembly modeling |ссылка=https://link.springer.com/article/10.1007%2Fs00170-004-2391-1?LI=true |язык=en |автор=Xiaobo Peng, Kunwoo Lee, Liping Chen |archivedate=2018-01-16 |archiveurl=https://web.archive.org/web/20180116140159/https://link.springer.com/article/10.1007%2Fs00170-004-2391-1?LI=true }}</ref> [[символьные вычисления]],<ref>{{книга |заглавие=Solving Geometric Constraint Systems II. A Symbolic Approach and Decision of Rc-constructibility |ссылка=https://pdfs.semanticscholar.org/a1c3/6b6aa83ecc85d28a7cdde258ab1355613926.pdf |язык=en |автор=Xiao-Shan Gao, Shang-Ching Chou |archivedate=2018-01-16 |archiveurl=https://web.archive.org/web/20180116135939/https://pdfs.semanticscholar.org/a1c3/6b6aa83ecc85d28a7cdde258ab1355613926.pdf }}</ref> применение систем правил,<ref name="purdue">{{книга |заглавие=A Geometric Constraint Solver |ссылка=http://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=2067&context=cstech |язык=und |автор=William Bouma, Ioannis Fudos, Christoph M. Hoffmann, Jiazhen Cai, Robert Paige |год=1993 |archivedate=2017-02-02 |archiveurl=https://web.archive.org/web/20170202004602/http://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=2067&context=cstech }}</ref> [[программирование в ограничениях]],<ref name="purdue" /><ref>{{книга |заглавие=Stabilizing 3D modeling with geometric constraints propagation |ссылка=http://www.sciencedirect.com/science/article/pii/S1077314209001003 |язык=en |автор=Michela Farenzena, Andrea Fusiello}}</ref> и [[генетические алгоритмы]].<ref>{{книга |заглавие=Constructive Geometric Constraint Solving: A New Application of Genetic Algorithms |ссылка=https://link.springer.com/chapter/10.1007/3-540-45712-7_73 |язык=en |автор=R. Joan-Arinyo, M.V. Luzón, A. Soto |archivedate=2018-01-16 |archiveurl=https://web.archive.org/web/20180116140403/https://link.springer.com/chapter/10.1007/3-540-45712-7_73 }}</ref>

Системы нелинейных уравнений в основном решают с помощью итерационных методов, на каждой итерации решается линейная задача. [[Метод_Ньютона#Метод_Ньютона_—_Рафсона|Метод Ньютона — Рафсона]] является одним из самым известных примеров.<ref name="purdue" />

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

== Приложения и программные реализации ==

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

К геометрическим решателям относятся:
* 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/|access-date=2018-01-17|archive-date=2017-12-28|archive-url=https://web.archive.org/web/20171228112327/https://www.plm.automation.siemens.com/en/products/open/d-cubed/customers/|deadlink=no}}</ref>
* 2D LEDAS Geometric Solver (LGS), 3D LGS ([[ЛЕДАС]]);
* Параметрическое ядро C3D Solver ([[C3D Labs]]), интегрировано в [[Компас_(САПР)#«Компас-3D»|КОМПАС-3D]],<ref>{{cite web
|author=Евгений Ермаков, Сергей Митин, Сергей Ротков, Александр Максименко
|url=http://isicad.ru/ru/articles.php?article_num=18999
|title=Использование C3D Solver для решения кинематических задач узлов механизмов
|publisher=LEDAS Ltd.
|date=2017-01-06
|access-date=2017-04-26
|archive-date=2017-04-27
|archive-url=https://web.archive.org/web/20170427101033/http://isicad.ru/ru/articles.php?article_num=18999
|deadlink=no
}}</ref> [[Altium Designer]], [[Renga]], [[NanoCAD|Nanocad]], [[FlowVision]], БАЗИС и другие;
* GeoSolver,<ref>{{cite web|title=GeoSolver Project Page|url=http://geosolver.sourceforge.net/|access-date=2018-01-17|archive-date=2017-10-11|archive-url=https://web.archive.org/web/20171011134525/http://geosolver.sourceforge.net/|deadlink=no}}</ref> пакет на языке [[Python]] для решения геометрических ограничений, распространяется под [[GNU General Public License]].


К решателям относятся:
* 2D Dimensional Constraint Manager (DCM), 3D DCM ([[D-Cubed]])
* 2D LEDAS Geometric Solver (LGS), 3D LGS ([[ЛЕДАС]])
== См. также ==
== См. также ==
* [[Геометрическое ядро]]
* [[Параметрическое моделирование]]
* [[Параметрическое моделирование]]


Строка 17: Строка 46:
* {{Cite web|url=http://www.v-rep.eu/helpFiles/en/geometricConstraintSolverModule.htm|title=Geometric constraint solver|publisher=www.v-rep.eu|accessdate=2017-01-21}}
* {{Cite web|url=http://www.v-rep.eu/helpFiles/en/geometricConstraintSolverModule.htm|title=Geometric constraint solver|publisher=www.v-rep.eu|accessdate=2017-01-21}}
* {{Cite web|url=http://plmpedia.ru/wiki/Решатель_геометрических_ограничений|title=Решатель геометрических ограничений — PLMpedia|publisher=plmpedia.ru|lang=ru|accessdate=2017-01-21}}
* {{Cite web|url=http://plmpedia.ru/wiki/Решатель_геометрических_ограничений|title=Решатель геометрических ограничений — PLMpedia|publisher=plmpedia.ru|lang=ru|accessdate=2017-01-21}}
* {{Статья|автор=|заглавие=Как создается инженерное наукоемкое ПО мирового класса. Геометрический решатель – «великий комбинатор»|ссылка=https://scfh.ru/papers/kak-sozdaetsya-inzhenernoe-naukoemkoe-po-mirovogo-klassa/|язык=ru|издание=Наука из первых рук|тип=журнал|год=2013|месяц=07|число=22|том=50|номер=2|страницы=|issn=}}
* {{Статья|автор=Ершов А.Г.|заглавие=Как создается инженерное наукоемкое ПО мирового класса. Геометрический решатель – «великий комбинатор»|ссылка=https://scfh.ru/papers/kak-sozdaetsya-inzhenernoe-naukoemkoe-po-mirovogo-klassa/|язык=ru|издание=Наука из первых рук|тип=журнал|год=2013|месяц=07|число=22|том=50|номер=2|страницы=|issn=}}
* {{Статья|автор=Прейс С.|заглавие=LGS — эффективный и доступный решатель геометрических задач|ссылка=http://www.sapr.ru/article.aspx?id=7939&iid=321|язык=ru|издание=САПР и графика|тип=журнал|год=2003|месяц=|число=|том=|номер=9|страницы=|issn=}}
* {{Статья|автор=Прейс С.|заглавие=LGS — эффективный и доступный решатель геометрических задач|ссылка=http://www.sapr.ru/article.aspx?id=7939&iid=321|язык=ru|издание=САПР и графика|тип=журнал|год=2003|месяц=|число=|том=|номер=9|страницы=|issn=}}
* {{Книга|автор=Владимир Малюх|часть=Решатель геометрических ограничений|заглавие=Введение в современные САПР. Курс лекций|ссылка=https://books.google.ru/books?id=hv5QAgAAQBAJ&pg=PA186&lpg=PA186|ответственный=|издание=|место=|издательство=Litres|год=2017-01-03|страницы=186|страниц=190|isbn=9785457517165|isbn2=}}

* {{Книга|автор=Ушаков Д.М.|часть=Вариационный геометрический решатель|заглавие=Введение в математические основы САПР, Курс лекций|ответственный=|издание=|место=|издательство=|год=2011|страницы=84|страниц=|isbn=|isbn2=}}
{{викифицировать}}


[[Категория:САПР]]
[[Категория:САПР]]

Текущая версия от 10:30, 2 августа 2023

Геометрический решатель (англ. 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 (англ.). Архивировано 18 января 2018 года.
  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 (англ.). Архивировано 28 января 2021 года.
  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. Архивировано 16 апреля 2018 года.
  12. Xiaobo Peng, Kunwoo Lee, Liping Chen. A geometric constraint solver for 3-D assembly modeling (англ.). Архивировано 16 января 2018 года.
  13. Xiao-Shan Gao, Shang-Ching Chou. Solving Geometric Constraint Systems II. A Symbolic Approach and Decision of Rc-constructibility (англ.). Архивировано 16 января 2018 года.
  14. 1 2 3 William Bouma, Ioannis Fudos, Christoph M. Hoffmann, Jiazhen Cai, Robert Paige. A Geometric Constraint Solver (неопр.). — 1993. Архивировано 2 февраля 2017 года.
  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 (англ.). Архивировано 16 января 2018 года.
  17. D-Cubed Customers. Дата обращения: 17 января 2018. Архивировано 28 декабря 2017 года.
  18. Евгений Ермаков, Сергей Митин, Сергей Ротков, Александр Максименко. Использование C3D Solver для решения кинематических задач узлов механизмов. LEDAS Ltd. (6 января 2017). Дата обращения: 26 апреля 2017. Архивировано 27 апреля 2017 года.
  19. GeoSolver Project Page. Дата обращения: 17 января 2018. Архивировано 11 октября 2017 года.