Сообщество программистов Autodesk в СНГ
ADN Club => Другие продукты Autodesk => Navisworks API => Тема начата: Vladislav от 12-03-2020, 19:42:45
-
Здравствуйте!
Я разработал плагин, в коде которго получаю
геометрию и параметры всех объектов модели в цикле. При этом
геометрия получается средствами Com Api, а параметры - .NET Api.
Есть острая необходимость ускорить этот код. Получу ли я выигрыш
в скорости работы, если буду использовать только Com Api на C#?
Спасибо за информацию.
-
Есть острая необходимость ускорить этот код. Получу ли я выигрыш
в скорости работы, если буду использовать только Com Api на C#?
Сомневаюсь, но это можно будет проверить только экспериментальным путём...
-
Но я правильно понимаю, что в Navisworks есть два вида API: .NET и COM?
И будет ли зависеть скорость работы плагина от используемого языка? Есть ли
Смысл использовать C++ в случае COM API?
-
Но я правильно понимаю, что в Navisworks есть два вида API: .NET и COM?
Да.
И будет ли зависеть скорость работы плагина от используемого языка? Есть ли
Смысл использовать C++ в случае COM API?
Практически никакой разницы нет. Отличие может быть в пределах 10%. И то если уж очень хорошо оптимизировать код. Иногда C# выигрывает у C++ за счет качественного компилятора.
-
А как, используя COM API, получить элементы модели?
Соответственно для последующего получения их геометрии и параметров.
В .NET API я делаю это рекурсивно, просматривая всех потомков Model.RootItem.
А вот как это делается в COM, не знаю.
Спасибо за ответы.
-
А чем это не устроило: https://adndevblog.typepad.com/aec/2012/07/simple-traversal-through-a-model-using-navisworks-net-api.html ?
-
А я этот пример даже не видел.
Ну и плюс, для меня сейчас критична скорость. Поэтому хочется попробовать использовать чистый COM.
Хотя, мне кажется, что я ничего не выиграю, так как вся геометрия и так получается через COM...
-
Хотя, мне кажется, что я ничего не выиграю, так как вся геометрия и так получается через COM...
Мне тоже так кажется.