Получение геометрии элементов

Автор Тема: Получение геометрии элементов  (Прочитано 18482 раз)

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

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

  • ADN OPEN
  • ***
  • Сообщений: 210
  • Карма: 0
Re: Получение геометрии элементов
« Ответ #15 : 02-04-2019, 16:38:14 »
А в каких единицах представлены возвращаемые координаты в Navisworks? Для Revit это футы, для Inventor - сантиметры. А в данном случае не совсем ясно.
Спасибо.

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc

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

  • ADN OPEN
  • ***
  • Сообщений: 210
  • Карма: 0
Re: Получение геометрии элементов
« Ответ #17 : 05-04-2019, 17:57:26 »
Добрый вечер.
При конвертации графики из модели Naviwsorks возникла проблема. Нормали некоторых объектов направлены не в ту сторону.
Соответственно, объекты не видны. В связи с этим возник вопрос. В метод Triangle вершины треугольника v1, v2 и v3 всегда приходят в одном порядке?
То есть по или против часовой стрелке. И правильно ли я получаю координаты нормали из вершин?
Вот мой код:
           
Код - C# [Выбрать]
  1. Array array_n1 = (Array)(object)v1.normal;
  2. n1.x = (float)array_n1.GetValue(1);
  3. n1.y = (float)array_n1.GetValue(2);
  4. n1.z = (float)array_n1.GetValue(3);
Спасибо за ответы.
« Последнее редактирование: 05-04-2019, 18:18:45 от Александр Ривилис »

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

  • ADN OPEN
  • ***
  • Сообщений: 210
  • Карма: 0
Re: Получение геометрии элементов
« Ответ #18 : 08-04-2019, 14:24:26 »
Видимо, предыдущий вопрос пометился как прочитанный и его никто не увидел(

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Получение геометрии элементов
« Ответ #19 : 08-04-2019, 20:17:48 »
В метод Triangle вершины треугольника v1, v2 и v3 всегда приходят в одном порядке?
Сомневаюсь. Во всяком случае об этом нигде не сказано.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • ***
  • Сообщений: 210
  • Карма: 0
Re: Получение геометрии элементов
« Ответ #20 : 20-03-2020, 13:35:40 »
Александр, добрый день!
Вопрос к Вам, как к автору кода по получению геометрии элементов.
А можно ли как-то, на Ваш взгляд, ускорить процесс получения геометрии?
Просто код выполняется оооочень долго (если для всех элементов модели).
Для модели размером 1.6 гБ, порядка 3х часов на intel Core i5-3450 c 8гб оперативной памяти.
Сейчас совместно с Александром Ривилисом рассматриваем вопрос по распараллеливанию.

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Получение геометрии элементов
« Ответ #21 : 20-03-2020, 14:45:25 »
К сожалению, нет. COM API медленный по умолчанию. Autodesk, видимо, не имеет особых планов развивать Navis с появлением Forge viewer, функционала BIM 360 (не помню, в каком там продукте у них clash detection). Там, кстати, подобная задача будет очень быстрой...

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

  • ADN OPEN
  • ***
  • Сообщений: 210
  • Карма: 0
Re: Получение геометрии элементов
« Ответ #22 : 30-04-2020, 21:09:29 »
Есть набор элементов ModelItem (это трубы и кабели) для которых modelItem.Geometry.PrimitiveTypes == PrimitiveTypes.Lines.
В Нэвисе они отображаются соответственно цилиндрами. Могу ли я как-то получить их геометрию через API?
Использую класс GeometryBuilder, приведенный Вами выше. Метод Lines там не переопределен, но в него передаются только две точки.
Благодарю за ответы.