Найти центры кругов с Solid

Автор Тема: Найти центры кругов с Solid  (Прочитано 359 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AndONEАвтор темы

  • ADN OPEN
  • Сообщений: 31
  • Карма: 0
Найти центры кругов с Solid
« : 02-03-2018, 09:37:03 »
Коллеги, доброе утро.
Помогите решить такую дилемму:
- допустим у нас есть сложная геометрия типа Solid, а именно насос
- У насоса есть патрубки, они круглые. При наведении на патрубок автокад (при условии включенных привязок), показывает центр точки привязки

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

И еще заметил, что моя геометрия - это 3DSolid, а чтоб получить координаты всех вершин нужна геометрия типа Solid. Можно ли одно перегнать в другое?
« Последнее редактирование: 02-03-2018, 10:20:07 от AndONE »

Оффлайн Владимир Шу

  • ADN Club
  • ****
  • Сообщений: 380
  • Карма: 79
Re: Найти центры кругов с Solid
« Ответ #1 : 02-03-2018, 13:43:18 »
Не так давно ковырялся с солидами и с солид3д в частности, если тело модифицировано, то достать данные по поводу координат и размеров через COM не получалось, пришлось использовать Brep библиотеку и работать с тем, что там выдается, но это уже не про VBA,  а про .NET

ИМХО, самое разумное в этой ситуации перейти на .NET.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 7840
  • Карма: 917
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Найти центры кругов с Solid
« Ответ #2 : 02-03-2018, 14: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).
Что значит перегнать одно в другое?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AndONEАвтор темы

  • ADN OPEN
  • Сообщений: 31
  • Карма: 0
Re: Найти центры кругов с Solid
« Ответ #3 : 02-03-2018, 14:57:04 »
Вообще я подумал, что это другой тип 3д объекта. Получается в 3DSolid до всех координат образующих его точек не добраться?

Владимир, спасибо за пояснения!

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 7840
  • Карма: 917
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Найти центры кругов с Solid
« Ответ #4 : 02-03-2018, 15:03:50 »
Получается в 3DSolid до всех координат образующих его точек не добраться?
Средствами VBA не добраться.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AndONEАвтор темы

  • ADN OPEN
  • Сообщений: 31
  • Карма: 0
Re: Найти центры кругов с Solid
« Ответ #5 : 02-03-2018, 15:27:21 »
А не могли бы дать ссылку на документашку по Brep?

Оффлайн Владимир Шу

  • ADN Club
  • ****
  • Сообщений: 380
  • Карма: 79
Re: Найти центры кругов с Solid
« Ответ #6 : 02-03-2018, 15:49:49 »
А не могли бы дать ссылку на документашку по Brep?
К сожалению не смогу, я при помощи отладки и просмотра методов библиотеки сам разбирался.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 7840
  • Карма: 917
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Найти центры кругов с Solid
« Ответ #7 : 02-03-2018, 18:18:36 »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение