Используя API Navisworks, мы можем выполнять раскраску элементов, а также сбрасывать раскраску. При этом можно использовать постоянный или временный цвет. Для этого используются методы OverridePermanentColor, OverrideTemporaryColor, ResetPermanentMaterials, ResetTemporaryMaterials. Про прозрачность не пишу, так как все тоже самое, что и про цвет.
Существуют нюансы с раскраской элементов, которые необходимо учитывать. Причем, получается, что идеального варианта раскраски вообще нет.
Если файл nwc
Самый лучший случай – можно спокойно красить и временным и постоянным цветом, так как файлы nwc не сохраняются
Если файл nwf
Если изменить элементам временный цвет, то после сохранения файла и его повторного открытия не будет работать сброс временного цвета через API (баг?). Но цвет можно сбросить стандартным функционалом. С постоянным цветом все хорошо – сбрасывается нормально
Если файл nwd
Самый плохой вариант. Если изменить элементам временный цвет, то при сохранении файла цвет сбросится. Т.е. временный цвет не сохраняется в nwd. А вот если изменить элементам постоянный цвет, то после сохранения и повторного открытия файлы вы не сможете его сбросить. Вообще никак, даже стандартным функционалом. Получается, что в nwd вообще лучше не красить элементы.
Все описанное представлено в табличке:
nwc | nwf | nwd | |||
Сессия | Сброс временного цвета | + | + | + | |
Сброс постоянного цвета | + | + | + | ||
Сохранение | Сохранение временного цвета при сохранении файла | - | + | - | |
Сохранение постоянного цвета при сохранении файла | - | + | + | ||
Сессия после повторного открытия | Сброс сохраненного временного цвета после повторного открытия | - | - | - | |
Сброс сохраненного постоянного цвета после повторного открытия | - | + | - | В nwd не сбрасывается и стандартным функционалом |
Помните об этих нюансах, когда будете программно красить элементы в Navisworks