Как исправить дрожащую геометрию на моделях с большими общими координатами

Я загружаю несколько моделей Revit в средство просмотра моделей Forge. Чтобы правильно их выровнять, я использую следующие параметры загрузки, как указано здесь

var modelOptions = {
    sharedPropertyDbPath: doc.getPropertyDbPath(),
    globalOffset: { x: 0, y: 0, z: 0 },
    applyRefPoint: true,
    isAEC: true
};

Это отлично работает с файлами Revit, где базовая точка проекта не имеет слишком больших координат. Однако, если базовая точка проекта в файле Revit имеет большие координаты (например, x: 6698000, y: 297500), это приводит к дрожанию при повороте модели или даже к искаженному триангулированному виду.

Эта проблема также возникает, когда вы устанавливаете для параметра placeTransform большую координату, как можно увидеть в примере здесь

Как я могу решить эту проблему с дрожанием на таких моделях?


person Joep Ronde    schedule 20.08.2019    source источник


Ответы (1)


Можете ли вы попробовать отрегулировать смещение с помощью globaloffset ...

Вот пример:

Агрегирование модели в средстве просмотра - проблема с координатами

person michael beale    schedule 20.08.2019
comment
Регулировка смещения действительно решает проблему тряски, но как мне определить смещение до загрузки модели. Можно как-то по загруженному документу определить? - person Joep Ronde; 21.08.2019
comment
Не легко. Перед загрузкой модели с примененным смещением потребуется сначала боковая загрузка и декодирование базы данных свойств, чтобы получить глобальное происхождение. Если у вас есть возможность сохранить его в базе данных или локальном хранилище, вы можете применить его при последующих загрузках. - person michael beale; 20.09.2019