Модель (проект) Navisworks

Прим. автора - не уверен, как это правильно называется, называю из логики работы.

Проект у приложения Navisworks существует в единственном экземпляре и характеризует некоторую загруженную модель с рядом файлов, точек обзора, настройками визуализации и т.д. Функции работы с проектом доступны через COM-оболочку InwOpState с суффиксами до 11 включительно. Возможно, так развивалось API - путем добавления новой функциональности в новую COM-оболочку с соответствующим суффиксом. При использовании динамической типизации (dynamic) нет разницы к чему приводить полученный у приложения State - все методы "номерных" оболочек можно применять и к базовому InwOpState.

Для удобства, можете считать, что модель Navisworks описывается COM-оболочкой InwOpState11 , которая наследует все методы от базовой InwOpState. Далее будем рассматривать функциональность InwOpState без привязки к версии (фактически, будем говорить о InwOpState11).

Для удобства, в таблице ниже приведена информация, каким элементам UI соответствуют методы COM-оболочек InwOpState** и краткая справка, что они делают.

Как читать третью колонку:

  • "✅" - если для метода COM-оболочки имеется прямое соответствие в UI;
  • "🔧" - различные внутренние технические методы;
  • "❓" - автор не уверен в точной идентификации;
Метод интерфейса InwOpStateЧему соответствует в NaviworksUI
InwOpState
NumTrianglesГлавная - Проект - Окно "Статистика сцены",
числовое значение напротив "Треугольников, линий и точек:"
GetBoundingBoxГлавная - Проект - Окно "Статистика сцены",
значение напротив "Ограничивающий параллелепипед:"
GlobalAmbientКонтекстное меню модели - Параметры файла - Освещение сцены -
Ползунок для рассеянного цвета
SceneLightsПрямого соответствия нет. Информация о расположении источников
света в загруженных файлах (например, камеры (?) в DWG)
CreatePluginТехнический метод, создание пользовательского COM-плагина🔧
PluginsТехнический метод, перечисление всех пользовательских плагинов🔧
SavedViewsВид - Рабочее пространство - Окна - Сохраненные точки обзора
NdxArray2SavedViewТехнический метод, поиск сохраненной точки обзора по внутреннему пути🔧
SavedView2NdxArrayТехнический метод, получение пути для сохраненной точки обзора🔧
NdxArray2NodeТехнический метод, получение узла дерева по внутреннему пути🔧
SelectionSetsВид - Рабочее пространство - Окна - Наборы
BeginEditТехнический метод, аналог транзакций в API (начало работы)🔧
EndEditТехнический метод, аналог транзакций в API (конец работы)🔧
ObjectFactoryТехнический метод, создание новых экземпляров
объектов всех поддерживаемых типов
🔧
CurrentViewТо, как сейчас видна модель в Naviworks. Численные параметры камеры в
"Точка обзора - Редактирование точки обзора - Текущий вид"
CurrentSelectionНабор выбранных объектов в Naviworks
CurrentPartitionПервый загруженный в модель файл (в Дереве выбора)
GetEnumТехнический метод, для языков с динамической типизацией
получить значение перечисления по его строковому варианту
🔧
FrameRateКонтекстное меню модели - Параметры файла - Скорость - Частота кадров
ZoomInCurViewOnSelКонтекстное меню - Показать выбранные
(если в модели выбран 1 или несколько объектов)
ZoomInViewOnSel"Клик" на данной сохраненной точке обзора
в окне "Сохраненные точки обзора"
OverrideColorКонтекстное меню модели - Переопределить - Переопределить цвет
(если выбран хотя бы 1 объект в модели)
OverrideTransparencyКонтекстное меню модели - Переопределить - Переопределить прозрачность
(если выбран хотя бы 1 объект в модели)
OverrideResetКонтекстное меню модели - Сбросить для элемента - Сброс внешнего вида
(если выбран хотя бы 1 объект в модели у кого был переопределен цвет
и\или прозрачность)
OverrideResetAllПрямого соответствия нет. Сбрасывает для всех объектов имевшие место
переопределения цвета и прозрачности
🔧
SelectionHiddenКонтекстное меню у выбранного набора элементов -
Скрыть (true) и Показать (false)
SelectionRequiredКонтекстное меню у выбранного набора элементов -
Обязательный (true = галочка стоит, false = галочка не стоит)
HiddenItemsResetAllКонтекстное меню модели - Сбросить все - Показать все
RequiredItemsResetAllКонтекстное меню модели - Сбросить все - Сделать все необязательными
EventsEnabledТехнический метод. Временное отключение и включение обработки
событий действий с объектами (для повышения производительности)
🔧
CreatePictureТочка обзора - Экспорт - Изображение
Для данной точки модели
(со стороны API данная точка доступна через метод CurrentView)
CurrentAnimationАнимация - активная анимация (среди списка)
BackgroundColorКонтекстное меню модели - Фон - Цвет
HeadlightAmbientКонтекстное меню модели - Параметры файла - Лобовое освещение -
Ползунок для рассеянного цвета (?)
✅❓
HeadlightIntensityКонтекстное меню модели - Параметры файла - Лобовое освещение -
Ползунок для направленного цвета (?)
✅❓
SeekSelectionТехнический метод, запрос у пользователя выбора объектов🔧
CurrentPlanViewВид - Рабочее пространство - Окна - Вид в плане
CurrentSectionViewВид - Рабочее пространство - Окна - Вид в сечении
AreaCullThresholdКонтекстное меню модели - Параметры файла - Отсев - Площадь -
численное поле "Минимальное количество пикселов для отсева"
MaxNearDistanceКонтекстное меню модели - Параметры файла - Отсев - Площадь отсечения -
Ближняя - численное поле "Расстояние" для фиксированного значения
MinFarDistanceКонтекстное меню модели - Параметры файла - Отсев - Площадь отсечения -
Дальнее - численное поле "Расстояние" для фиксированного значения
ApplyViewТехнический метод.
Переход к заданному виду (с данными настройками камеры)
🔧
TwoSidedПрямого соответствия нет.
Как подсказывает ИИ, где-то в настройках визуализации
во встроенном рендере от Autodesk.
Наиболее ближе по смыслу
Точка обзора - Стиль визуализации - Режим - Полная визуализация
ViewAllКонтекстное меню модели - Показать все
StopMovementПрямого соответствия нет. Прерывает любую анимацию (?)
InwOpState2
OverrideTransformКонтекстное меню - Переопределить - Переопределить преобразование
(если выбран хотя бы 1 объект в модели)
OverrideTransformResetКонтекстное меню модели - Сбросить все - Отменить преобразование
(если выбран хотя бы 1 объект в модели)
OverrideTransformResetAllКонтекстное меню модели - Сбросить все - Преобразования
InwOpState3
CurrentFindSpecВид - Рабочее пространство - Окна - Поиск элементов
Имеются в виду параметры поиска (InwOpFindSpec):
- выборка (где искать) selection;
- условия поиска Conditions;
- "До первого найденного" true в ResultDisjoint;
- Выпадающий список "Найти" - SearchMode, перечисление nwESearchMode
GetAttributePropertiesВспомогательный метод. Преобразование атрибута в перечень свойств🔧
StdNameВспомогательный метод. Получение внутреннего имени объекта.

Контекстное меню модели - Глобальные параметры - Интерфейс -
Разработчик - Показывать внутренние имена свойств (если это выбрано)
🔧✅
SetOverrideURL
GetOverrideURL
OverrideURLReset
OverrideURLResetAll
DeleteSelectedFilesСбросить выбор объектов в модели
GlobalPropertiesВспомогательный метод. Возвращает настройки модели
прим. автора - все настройки про URL
🔧❓
URLsEnabled
IsComposite
GetMeasureFirstPos
GetMeasureEndPos
GetMeasureDiff
GetMeasureValue
GetGUIPropertyNode
SmartTagsEnabled
InwOpState4
GetFirstInstanceOfNodeТехнический метод. Возвращает первый узел дерева
для данного внутреннего пути
🔧
ZoomInCurViewOnBoundingBoxВид - Включить сечение (настроить рамку и масштаб)
SmartTagTextТехнический метод. Получение содержимого тэга по внутреннему пути
Аналог просмотра тэга вручную (?)
🔧❓
GetIOPluginOptions🔧
DriveIOPlugin🔧
PluginOptions🔧
PluginOption🔧
InwOpState5
CheckLicenseВерхняя панель функций - Справка - О программе ...
InwOpState6
StartInteractive🔧
EndInteractive🔧
GetCurrentFilenameПанель Свойства - Элемент - Имя файла источника
(для выбранного узла из Дерева выбора, соответствующего файлу)
InwOpState7
LoadedFileCountЧисло загруженных в модель файлов.
В UI не отображается, но можно посчитать вручную из Дерева выбора
✅🔧
LoadedFileFromNdxТехнический метод. Получение информации о загруженном файле
Интерактивный выбор в Дереве выбора по индексу
✅🔧
LoadedFileFromPathТехнический метод. Получение информации о загруженном файле
по внутреннему пути
🔧
InwOpState8
SelectionSetsExВероятно, какая-то безопасная версия метода SelectionSets.
По сути, перечень Вид - Рабочее пространство - Окна - Наборы
🔧
FileVersion🔧
InwOpState9
GetProductInfoЗаголовок приложения Navisworks
(то что отображается в шапке приложения)
InwOpState10
PtrEqualsТехнический метод. Сравнение двух объектов🔧
X64PtrVarТехнический метод. Получение указателя на объект🔧
X64PtrLongsТехнический метод. Сравнение двух объектов (по указателям)🔧
InwOpState11
OverrideTransformExВероятно, какая-то безопасная версия метода OverrideTransform.
Контекстное меню - Переопределить - Переопределить преобразование
(если выбран хотя бы 1 объект в модели)
✅🔧