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

ADN Club => VBA => Тема начата: AndONE от 02-03-2018, 08:37:03

Название: Найти центры кругов с Solid
Отправлено: AndONE от 02-03-2018, 08:37:03
Коллеги, доброе утро.
Помогите решить такую дилемму:
- допустим у нас есть сложная геометрия типа Solid, а именно насос
- У насоса есть патрубки, они круглые. При наведении на патрубок автокад (при условии включенных привязок), показывает центр точки привязки

Собственно вопрос: есть ли какой-нибудь стандартный способ найти в геометрии Solid центры всех кругов? Или придется анализировать массив с Coordinates?

И еще заметил, что моя геометрия - это 3DSolid, а чтоб получить координаты всех вершин нужна геометрия типа Solid. Можно ли одно перегнать в другое?
Название: Re: Найти центры кругов с Solid
Отправлено: Владимир Шу от 02-03-2018, 12:43:18
Не так давно ковырялся с солидами и с солид3д в частности, если тело модифицировано, то достать данные по поводу координат и размеров через COM не получалось, пришлось использовать Brep библиотеку и работать с тем, что там выдается, но это уже не про VBA,  а про .NET

ИМХО, самое разумное в этой ситуации перейти на .NET.
Название: Re: Найти центры кругов с Solid
Отправлено: Александр Ривилис от 02-03-2018, 13:36:00
И еще заметил, что моя геометрия - это 3DSolid, а чтоб получить координаты всех вершин нужна геометрия типа Solid. Можно ли одно перегнать в другое?
Чего? SOLID - это 2D-примитив (закрашенный 3-ех или 4-ехугольник: https://knowledge.autodesk.com/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/AutoCAD-Core/files/GUID-0998E0EE-7829-4AA4-9282-4FC703F9B1F4-htm.html). 3DSOLID - это 3D-примитив (твердое тело: https://knowledge.autodesk.com/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/AutoCAD-Core/files/GUID-FABC5079-9078-468A-8AAD-E61FEAD73815-htm.html).
Что значит перегнать одно в другое?
Название: Re: Найти центры кругов с Solid
Отправлено: AndONE от 02-03-2018, 13:57:04
Вообще я подумал, что это другой тип 3д объекта. Получается в 3DSolid до всех координат образующих его точек не добраться?

Владимир, спасибо за пояснения!
Название: Re: Найти центры кругов с Solid
Отправлено: Александр Ривилис от 02-03-2018, 14:03:50
Получается в 3DSolid до всех координат образующих его точек не добраться?
Средствами VBA не добраться.
Название: Re: Найти центры кругов с Solid
Отправлено: AndONE от 02-03-2018, 14:27:21
А не могли бы дать ссылку на документашку по Brep?
Название: Re: Найти центры кругов с Solid
Отправлено: Владимир Шу от 02-03-2018, 14:49:49
А не могли бы дать ссылку на документашку по Brep?
К сожалению не смогу, я при помощи отладки и просмотра методов библиотеки сам разбирался.
Название: Re: Найти центры кругов с Solid
Отправлено: Александр Ривилис от 02-03-2018, 17:18:36
А не могли бы дать ссылку на документашку по Brep?
http://help.autodesk.com/view/OARX/2018/ENU/?guid=OREFNET-Autodesk_AutoCAD_BoundaryRepresentation