Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: DMuzer от 20-03-2021, 17:56:34

Название: Описание модуля Geometry
Отправлено: DMuzer от 20-03-2021, 17:56:34
Приветствую!

Подскажите, где можно найти описание модуля Geometry. Справка у меня есть но из нее пока по неопытности не все могу понять...
Если я правильно понимаю, эта библиотека не связана с базой данных чертежа, это вычислительная геометрия.
Например, как между собой завязаны классы, как в логике этой библиотеки представлена полилиния? (Если я правильно понимаю это PolylineCurve3d и 2d соответственно, просто смущает что в названии curve присутствует). Как например проверить, лежит ли точка внутри области, очерченой полилинией и т.п.
Вопросов так то много и наверное, все глупые, но хочется разобраться.
Название: Re: Описание модуля Geometry
Отправлено: Александр Ривилис от 20-03-2021, 18:01:35
Подскажите, где можно найти описание модуля Geometry.
Во-первых, что такое модуль Geometry? Для меня это неизвестное понятие. наверное имеется в виду пространство имён (namespace) с именем Autodesk.AutoCAD.Geometry
Если я правильно понимаю, эта библиотека не связана с базой данных чертежа, это вычислительная геометрия.
Да. Именно так.
Например, как между собой завязаны классы, как в логике этой библиотеки представлена полилиния?
Никак не представлена.
Как например проверить, лежит ли точка внутри области, очерченой полилинией и т.п.
А это уже совсем другая задача, которая в чистом виде в Autodesk.AutoCAD.Geometry решения не имеет.
Название: Re: Описание модуля Geometry
Отправлено: Александр Ривилис от 20-03-2021, 18:04:56
Как например проверить, лежит ли точка внутри области, очерченой полилинией и т.п.
Тут есть один из вариантов решения: https://adn-cis.org/kak-sredstvami-opredelit-raspolozhenie-tochki-otnositelno-kontura.html
Название: Re: Описание модуля Geometry
Отправлено: DMuzer от 20-03-2021, 18:12:36
Да спасибо за ответ!
Задачу определения принадлежности я привел как пример, мне хочется понять что можно сделать в рамках этой библиотеки,
есть ли полилиния, или ее нужно самому из сегментов собирать. Есть ли как таковая область или поверхность какая то, как на нее спроецировать точку или линию, как вычислить область с заданным отступом и т.п.
Название: Re: Описание модуля Geometry
Отправлено: Александр Ривилис от 20-03-2021, 18:19:59
есть ли полилиния, или ее нужно самому из сегментов собирать
Есть такое метод у Autodesk.AutoCAD.DatabaseServices.Curve  (это базовый класс для полилинии, отрезка, дуги, окружности, эллипса и т.д.), который называется GetGeCurve, который из класса кривой, которая может содержаться в чертеже, возвращает геометрическую кривую (класс Autodesk.AutoCAD.Geometry.Curve3d). Вероятнее всего из полилинии (класс Autodesk.AutoCAD.DatabaseServices.Polyline) получится Autodesk.AutoCAD.Geometry.CompositeCurve3d, содержащий коллекцию сегментов.
Название: Re: Описание модуля Geometry
Отправлено: Александр Ривилис от 20-03-2021, 18:26:49
мне хочется понять что можно сделать в рамках этой библиотеки
Создавай отдельные темы и задавай конкретные вопросы: "можно ли имея это и это получить это и это и если да, то как это можно сделать?"
Ну и желательно придерживаться какой-то терминологии. Область в AutoCAD, это класс Region в AutoCAD .NET API. Но я думаю, что ты говорил о чем-то другом.