COM Api и .NET Api

Автор Тема: COM Api и .NET Api  (Прочитано 6281 раз)

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

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

  • ADN OPEN
  • ***
  • Сообщений: 210
  • Карма: 0
COM Api и .NET Api
« : 12-03-2020, 19:42:45 »
Здравствуйте!
 Я разработал плагин, в коде которго получаю
геометрию и параметры всех объектов модели в цикле. При этом
геометрия получается средствами Com Api, а параметры - .NET Api.
Есть острая необходимость ускорить этот код. Получу ли я выигрыш
в скорости работы, если буду использовать только Com Api на C#?
Спасибо за информацию.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: COM Api и .NET Api
« Ответ #1 : 12-03-2020, 20:22:02 »
Есть острая необходимость ускорить этот код. Получу ли я выигрыш
в скорости работы, если буду использовать только Com Api на C#?
Сомневаюсь, но это можно будет проверить только экспериментальным путём...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • ***
  • Сообщений: 210
  • Карма: 0
Re: COM Api и .NET Api
« Ответ #2 : 12-03-2020, 22:44:29 »
Но я правильно понимаю, что в Navisworks есть два вида API: .NET и COM?
 И будет ли зависеть скорость работы плагина от используемого языка? Есть ли
Смысл использовать C++ в случае COM API?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: COM Api и .NET Api
« Ответ #3 : 13-03-2020, 00:22:38 »
Но я правильно понимаю, что в Navisworks есть два вида API: .NET и COM?
Да.
И будет ли зависеть скорость работы плагина от используемого языка? Есть ли
Смысл использовать C++ в случае COM API?
Практически никакой разницы нет. Отличие может быть в пределах 10%. И то если уж очень хорошо оптимизировать код. Иногда C# выигрывает у C++ за счет качественного компилятора.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • ***
  • Сообщений: 210
  • Карма: 0
Re: COM Api и .NET Api
« Ответ #4 : 13-03-2020, 12:55:58 »
А как, используя COM API, получить элементы модели?
Соответственно для последующего получения их геометрии и параметров.
В .NET API я делаю это рекурсивно, просматривая всех потомков Model.RootItem.
А вот как это делается в COM, не знаю.
Спасибо за ответы.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: COM Api и .NET Api
« Ответ #5 : 13-03-2020, 15:28:54 »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • ***
  • Сообщений: 210
  • Карма: 0
Re: COM Api и .NET Api
« Ответ #6 : 13-03-2020, 17:12:13 »
А я этот пример даже не видел.
Ну и плюс, для меня сейчас критична скорость. Поэтому хочется попробовать использовать чистый COM.
Хотя, мне кажется, что я ничего не выиграю, так как вся геометрия и так получается через COM...

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: COM Api и .NET Api
« Ответ #7 : 13-03-2020, 18:30:34 »
Хотя, мне кажется, что я ничего не выиграю, так как вся геометрия и так получается через COM...
Мне тоже так кажется.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение