Геометрический решатель САПР: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Sunpriat (обсуждение | вклад) Нет описания правки |
Спасено источников — 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> |
|||
⚫ | |||
* Параметрическое ядро 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]]) |
|||
⚫ | |||
== См. также == |
== См. также == |
||
* [[Геометрическое ядро]] |
|||
* [[Параметрическое моделирование]] |
* [[Параметрическое моделирование]] |
||
Строка 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]
Решатель передает информацию дальше геометрическому ядру, которое выполняет построение геометрической модели, используя полученные решателем координаты и параметры объектов.
Приложения и программные реализации
[править | править код]Основной областью применения геометрических решателей являются САПР. Они также используются для решения задач обратной кинеметики, робототехники, архитектурно-конструкторских работ, геометрического моделирования молекул и других прикладных областей.
К геометрическим решателям относятся:
- 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.