Текст статьи
Введение

Когда IFC-модель открывается в AR, она не появляется сразу в нужной точке помещения. На этом этапе приложение должно решить две базовые задачи: сначала перенести модель в рабочую область пользователя, а затем сориентировать её относительно пространства. В материалах GIP VISION это прямо описано как автоматизированный перенос модели в точку стояния со смещением и вращением, а также как отдельная логика управления системой координат при привязке IFC.

Именно поэтому поворот и смещение при загрузке — это не второстепенная техническая операция, а основа дальнейшего размещения модели на объекте. Если этот этап выполнен плохо, пользователь либо не увидит модель вообще, либо получит сцену, которую сложно совместить с реальным помещением. Это особенно важно в строительных сценариях, где модель должна использоваться не как абстрактная 3D-картинка, а как инструмент проверки конкретного участка на площадке.

Что происходит сразу после загрузки IFC
После загрузки IFC-файла модель проходит серверную обработку, затем на стороне iOS отображается в AR. Во внутренних ответах по продукту зафиксировано, что бэкенд извлекает IFC-атрибуты и конвертирует модель, а на устройстве она уже смещается в нужные координаты и показывается в AR-сцене.
Это важный момент. На телефон попадает не просто “файл с геометрией”, а уже подготовленная модель, которую всё равно нужно привести к рабочему положению внутри AR-сессии. Проблема в том, что координаты модели живут в проектной системе, а пользователь в момент запуска AR находится в совершенно другой системе координат — локальной, связанной с текущей сессией и точкой наблюдения. В презентационных материалах GIP VISION эти уровни разделены отдельно: есть координаты проекта, координаты якоря, координаты пространства и основная система координат, формирующаяся после открепления модели.
Почему сначала выполняется смещение
Первое, что нужно сделать при загрузке, — это перенести модель ближе к пользователю, в рабочую область сцены. В материалах GIP VISION этот порядок сформулирован прямо: сначала выполняется смещение модели к точке наблюдения, потом поворот.
Смысл здесь практический. IFC-модель может находиться в проектных координатах очень далеко от условного нуля или от стартовой точки AR-сессии. Если её не сместить, пользователь просто не увидит её на экране. Такой случай отдельно описан и в инструкциях по загрузке, и во внутренних скриптах: если загружается часть модели, находящаяся далеко от точки 0, может показаться, что модель не отобразилась, хотя на самом деле она просто открылась слишком далеко. В этом случае рекомендуют либо сдвинуть модель ближе к нулю в проектном ПО, либо отдельно настраивать точку обзора.
То есть смещение при загрузке — это не финальная привязка к помещению, а базовый перенос модели в такую область, где с ней уже можно работать дальше.
Зачем после этого нужен поворот
После смещения модель нужно правильно ориентировать. Если этого не сделать, она окажется в рабочей области, но будет “смотреть” не туда: стены, оси и инженерные трассы окажутся развернуты относительно помещения.
Во внутренних инструкциях по GIP VISION отдельно указано, что при настройке точки обзора рекомендуется сразу прописывать поворот по RX на 270 градусов. Там же поясняется, что это связано с особенностью совмещения систем координат и что автоматический поворот планировалось добавить в следующей версии.
Это хорошо показывает реальную механику процесса. При загрузке IFC проблема не только в положении модели, но и в разнице между ориентацией проектной модели и ориентацией AR-сцены. Поэтому поворот нужен не ради удобства просмотра, а для того, чтобы после загрузки модель была готова к нормальному совмещению с объектом.
Почему порядок важен
В GIP VISION порядок зафиксирован однозначно: сначала смещение, потом поворот. Это логично и с практической, и с координатной точки зрения.
Если сначала пытаться вращать модель, которая ещё не перенесена в рабочую область, пользователь по сути управляет объектом, который может находиться вне полезной зоны обзора. В реальном сценарии это только усложняет размещение. Когда же модель сначала переносится в точку наблюдения, а уже потом разворачивается, пользователь получает предсказуемое поведение сцены и может переходить к следующему этапу — привязке по изображению, по проёму или к другой геометрии помещения.
Как это связано с точкой обзора
Важную роль при загрузке играет точка обзора, или точка стояния. Во внутренних скриптах по работе с GIP VISION она упоминается как обязательный шаг после загрузки модели через личный кабинет: сначала загружается IFC, затем выбирается точка обзора, а уже потом модель открывается в приложении.
В презентационных материалах эта же логика описана как определение точки стояния и сопоставление координат виртуального пространства и IFC, после чего выполняется автоматизированный перенос модели в точку стояния.
Фактически это означает, что поворот и смещение при загрузке не выполняются “в пустоту”. Они привязаны к заранее выбранному сценарию просмотра. То есть приложение не просто открывает модель, а подготавливает её к тому положению, из которого пользователь должен начать работу в AR.
Что происходит после базового поворота и смещения
После загрузки и первичного преобразования модель ещё не считается окончательно установленной. Это только подготовка. Дальше начинается размещение в пространстве уже по конкретному сценарию.
В GIP VISION основным production-сценарием считается размещение по референсному изображению и заранее заданной точке обзора. Второй сценарий — размещение по существующему проёму. Кроме того, в приложении доступна ручная трансформация: поворот, перемещения по осям, выравнивание по плоскости и по углу.
То есть при загрузке IFC приложение сначала делает базовую подготовку модели, а затем пользователь уже доводит её до точного совмещения с объектом. Это важное различие. Смещение и поворот при открытии модели — это ещё не полноценная привязка к помещению, а первый этап перед ней.
Где чаще всего возникают ошибки
На практике проблемы обычно начинаются в двух местах. Первый случай — модель находится слишком далеко от точки 0 и после загрузки не попадает в рабочую зону пользователя. Именно поэтому в инструкциях отдельно советуют заранее сдвигать такие модели ближе к нулю в проектной среде.
Второй случай — некорректная ориентация модели относительно AR-сцены. Тогда даже после смещения пользователь видит модель, но она требует дополнительного ручного поворота. Это как раз тот сценарий, для которого в текущих инструкциях зафиксирован поворот по RX на 270 градусов.
Иными словами, при загрузке IFC главные ошибки связаны не с тем, что AR “не работает”, а с тем, что исходная проектная координатная логика не всегда совпадает с логикой мобильной AR-сессии.
Как это реализовано в GIP VISION
В GIP VISION этот этап построен довольно последовательно. После загрузки IFC модель проходит обработку, затем открывается в AR, где приложение использует точку обзора, выполняет смещение к точке наблюдения и задаёт поворот. После этого пользователь размещает модель выбранным способом — по изображению или по проёму — и при необходимости вручную уточняет положение.
Это хорошо соответствует общей логике продукта: не заставлять пользователя на стройке вручную разбираться с проектными координатами, а максимально подготовить модель заранее и свести работу на площадке к понятным действиям. В материалах по продукту прямо говорится, что приложение ориентировано на минимальную трудоёмкость на стройплощадке.
Вывод
Поворот и смещение модели при загрузке IFC — это базовый этап подготовки модели к работе в AR. Сначала модель переносится в рабочую область пользователя, затем ориентируется относительно сцены, а уже после этого привязывается к реальному пространству. В GIP VISION этот порядок зафиксирован явно: сначала смещение, потом поворот.
Для практической работы это означает простую вещь: если модель после загрузки ведёт себя странно, проблема чаще всего не в самой AR-визуализации, а в исходных координатах, точке обзора или ориентации IFC-модели. В GIP VISION это компенсируется сочетанием автоматической подготовки, сценариев размещения по изображению и по проёму, а также ручной трансформацией для финальной подстройки на объекте.
