Я делаю проект BIM с помощью программы просмотра autodesk forge (я использую программу просмотра версии 6 *).
Я хочу, чтобы разные объекты были окрашены в разные цвета в зависимости от состояния завершения.
Проверьте изображение ниже.
Объекты уже окрашены. Я пробовал использовать setThemingColor, но это не сработало. Я не хочу использовать setSelectionColor, поскольку мой объект должен отображать цвет без выбора определенного c объекта.
например: на изображении ниже я хочу раскрасить обведенные объекты соответствующим цветом.
sample_image
update:
вот фрагмент кода, который я использую
function changeObjectColor(modelId, status){
var color ;
switch (status) {
case 'Green':
color = new THREE.Vector4(0, 0.5, 0, 0.5);
break;
case 'Red':
color = new THREE.Vector4(1, 0, 0, 0.5);
break;
}
viewerApp.getCurrentViewer().setThemingColor(modelId,color);
}
результат результат после установка цвета
Я также использую методы изолирования и выбора, но даже после удаления этих двух вызовов методов цвет не изменится для указанного c объекта
новые пробные варианты:
Итак, мне удалось установить / скрыть текстуру объекта (только серый цвет), следуя этому руководству . Но затем я попытался использовать метод setThemingColor, но все равно объекты не показывают ожидаемого цвета.
viewerApp.getCurrentViewer().setThemingColor(modelId, color, null, true);
viewerApp.getCurrentViewer().impl.invalidate(true, true, false);
Что мне здесь не хватает?