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

ADN Club => Другие продукты Autodesk => Navisworks API => Тема начата: Vladislav от 12-03-2020, 19:42:45

Название: COM Api и .NET Api
Отправлено: Vladislav от 12-03-2020, 19:42:45
Здравствуйте!
 Я разработал плагин, в коде которго получаю
геометрию и параметры всех объектов модели в цикле. При этом
геометрия получается средствами Com Api, а параметры - .NET Api.
Есть острая необходимость ускорить этот код. Получу ли я выигрыш
в скорости работы, если буду использовать только Com Api на C#?
Спасибо за информацию.
Название: Re: COM Api и .NET Api
Отправлено: Александр Ривилис от 12-03-2020, 20:22:02
Есть острая необходимость ускорить этот код. Получу ли я выигрыш
в скорости работы, если буду использовать только Com Api на C#?
Сомневаюсь, но это можно будет проверить только экспериментальным путём...
Название: Re: COM Api и .NET Api
Отправлено: Vladislav от 12-03-2020, 22:44:29
Но я правильно понимаю, что в Navisworks есть два вида API: .NET и COM?
 И будет ли зависеть скорость работы плагина от используемого языка? Есть ли
Смысл использовать C++ в случае COM API?
Название: Re: COM Api и .NET Api
Отправлено: Александр Ривилис от 13-03-2020, 00:22:38
Но я правильно понимаю, что в Navisworks есть два вида API: .NET и COM?
Да.
И будет ли зависеть скорость работы плагина от используемого языка? Есть ли
Смысл использовать C++ в случае COM API?
Практически никакой разницы нет. Отличие может быть в пределах 10%. И то если уж очень хорошо оптимизировать код. Иногда C# выигрывает у C++ за счет качественного компилятора.
Название: Re: COM Api и .NET Api
Отправлено: Vladislav от 13-03-2020, 12:55:58
А как, используя COM API, получить элементы модели?
Соответственно для последующего получения их геометрии и параметров.
В .NET API я делаю это рекурсивно, просматривая всех потомков Model.RootItem.
А вот как это делается в COM, не знаю.
Спасибо за ответы.
Название: Re: COM Api и .NET Api
Отправлено: Александр Ривилис от 13-03-2020, 15:28:54
А чем это не устроило: https://adndevblog.typepad.com/aec/2012/07/simple-traversal-through-a-model-using-navisworks-net-api.html ?
Название: Re: COM Api и .NET Api
Отправлено: Vladislav от 13-03-2020, 17:12:13
А я этот пример даже не видел.
Ну и плюс, для меня сейчас критична скорость. Поэтому хочется попробовать использовать чистый COM.
Хотя, мне кажется, что я ничего не выиграю, так как вся геометрия и так получается через COM...
Название: Re: COM Api и .NET Api
Отправлено: Александр Ривилис от 13-03-2020, 18:30:34
Хотя, мне кажется, что я ничего не выиграю, так как вся геометрия и так получается через COM...
Мне тоже так кажется.