В Autodesk Revit имеется мощный инструментарий по работе с координатами. При умелом использовании он помогает реализовать самые сложные междисциплинарные проекты. Однако даже небольшое незамеченное смещение координат модели часто чревато тем, что результат координационных проверок на коллизии окажется некорректным. А серьезные ошибки и вовсе ведут к тому, что модели «разлетаются» при сборке. Настройка координат очень важна, однако вряд ли BIM-менеджер будет заниматься этим ежедневно, ведь достаточно правильно настроить все один раз на старте проекта.
С каждым новым проектом приходится освежать в голове многие нюансы, чтобы не ошибиться. Координаты «не пощупать руками», чтобы понять, как всё работает, — требуется провести некоторое число экспериментов. А как мы все знаем, поэкспериментировать почти никогда нет времени. Этот факт и навел меня на мысль о создании короткой шпаргалки на тему координат. В данной статье я поделюсь всеми известными мне лайфхаками и нюансами по работе с координатами в Revit.
Основные точки координат
Первым делом вспомним, что в Revit существуют объекты, относящиеся к категории «Стройплощадка» (Site), — «Базовая точка проекта» (Base Project Point) и «Точка съемки» (Survey Point) . Единственные параметры, которыми они обладают, — координаты x, y, z и угол поворота. Именно эти две точки за счет своих координат могут задать для модели точное положение в геопространстве.Почему точек две? Действительно, положение объекта на карте можно определить информацией о координатах любой одной точки относительно выбранной системы координат. Но как только мы управляем больше чем одним объектом — например двумя зданиями на участке или даже одним зданием плюс моделью рельефа его участка — рано или поздно возникнет необходимость эти объекты совместить. А единственный способ это сделать — определить то общее начало координат, которое они имеют.
Две точки позволяют различать относительную и абсолютную систему координат в модели Revit
Внутреннее начало координат и способы его обнаружения
Таким образом, в Revit есть три точки начала координат, двумя из которых можно управлять. При этом Точка съемки (Survey Point) является началом абсолютной системы координат по отношению к Базовой точке проекта (Base Project Point), которая выполняет роль относительной системы координат в модели.
Ключевые инструменты
Теперь разберемся, как можно управлять координатами двух доступных нам точек в Revit.Перемещение точки в закрепленном положении
Перемещение точки в закрепленном положении (clipped) проще всего представить как перемещение точки вместе с «пристёгнутой» к ней системой координат:
|
|
Если перемещается Базовая точка проекта , то значения ее координат изменяются – точка перемещается по абсолютной системе координат, а Точка съемки стоит неподвижно, обозначая ноль этой системы. При этом Базовая точка перемещает за собой всю свою систему координат, и поэтому мы видим, как Внутреннее начало и модель целиком перемещаются вслед за точкой. |
Если перемещается Точка съемки , то ее координаты не изменяются, так как она перемещает за собой всю прикрепленную к ней абсолютную систему координат и по-прежнему обозначает ее ноль. А вот у Базовой точки координаты изменятся, так как она отображает свои координаты относительно Точки съемки, чье положение изменилось. |
То есть при перемещении точек в закрепленном положении всегда происходит одно и тоже – задаются координаты Базовой точки в абсолютной системе координат. И, по сути, не важно, какую из точек относительно какой мы подвинем, для Revit главное – обозначить это взаимное смещение.
В первом случае при перемещении Базовой точки мы увидим, как вместе с ней двигается вся модель вместе с Внутренним началом (последнее можно отследить, «посадив» перед смещением через Dynamo любой элемент в точку 0,0,0). При этом известно, что Внутреннее начало переместить невозможно. Такого рода вещи в работе с координатами, как правило, и ставят в тупик, но объяснение этому есть. Как мы уже поняли – для Revit не важно, какую из точек относительно какой мы подвинем в закрепленном положении. То есть визуально мы двигаем Базовую точку вместе с Внутренним началом, а механически внутри Revit происходит именно обратное смещение, как в случае 2, и Внутреннее начало действительно остается на месте.
Перемещение точки в открепленном положении
При перемещении в открепленном положении (unclipped) уже происходит независимое смещение точек, а их системы координат откреплены и остаются на месте.
|
|
Если перемещается Базовая точка проекта , то значения ее координат изменяются – точка перемещается по абсолютной системе координат, а Точка съемки стоит неподвижно, обозначая ноль этой системы. В этом случае система координат модели не прикреплена к точке, поэтому и модель, и Внутреннее начало останутся на месте. |
Если перемещается Точка съемки , то ее координаты изменяются, так как она больше не является нулем абсолютной системы координат, а становится точкой с координатами в этой системе, такой же, как и Базовая точка. |
Оба метода являются «ручными» способами назначения координат точкам. Задав координаты Базовых точек моделей в общей для них системе координат съемки, мы уже можем совместить их в одном файле по Точке съемки. Но что если моделей очень много и вписывать в каждую ее координаты не хочется? Или нам вообще не известны точные значения координат, и мы понимаем только то, как геометрически должны располагаться модели друг относительно друга? Для этого есть третий способ:
Передача и получение координат между файлами
Здесь определение координат базовой точки происходит автоматически. Для того чтобы передать или получить координаты между двумя файлами, один из них нужно загрузить связью в другой. И хотя бы в одном из них координаты должны быть настроены (Базовая точка проекта имеет ненулевые координаты).Потом можно выбрать «Передать координаты» , если координаты мы настроили в активном файле и хотим передать их файлу ссылки:
Импорт По общим координатам и Общая площадка
Пожалуй, это все, что нужно знать о координатах. Выглядит совсем не сложно, особенно если изучать в «комиксах».
Tips & tricks
Итак, три точки и три способа управления координатами. И тем не менее до сих пор встречаются разные подходы к вопросу о том, какую из точек и каким образом перемещать можно, а каким нельзя, где какую располагать и с чем совмещать при формировании моделей сборок. Самое главное – понять общие механизмы работы, тогда для любой задачи найдется способ решения.Настраиваем координаты и формируем сборку
Задачу размещения любого количества моделей на генплане всегда можно сузить до определения координат для разбивочного файла(ов) Revit на основе файла генплана AutoCAD/Civil 3D. Так как мы знаем, что разбивочный файл потом будет погружаться в модель каждого раздела здания (чтобы задать единую разбивку на оси и уровни), понятно, что все разделы без проблем смогут получить координаты из него, пользуясь командой «Получить координаты». В этом и есть смысл разбивочного файла.
Вариантов же скоординировать генплан DWG и разбивочный RVT внутри сборки может быть несколько.
Случай первый
Вы делаете максимально быстрый концепт, конкурсный или учебный проект. У вас есть примерный dwg-файл генплана участка в AutoCAD, например, из открытых источников вроде cadmapper.com, но нет никакого представления о координатах и топосъемке. В этом случае подходит следующий способ:
1. Самостоятельно выбираем точку начала координат. Сдвигаем весь чертеж, чтобы ее координаты стали 0,0,0. Помечаем эту точку для наглядности. |
2. Внедряем связь CAD. Размещение: Совмещение центров |
3. Получаем координаты из dwg. Или вручную передвигаем Точку съемки в нужное положение. Базовая точка получает координаты в системе съемки. |
4. Внедряем связью в RVT наш один или несколько разбивочных файлов RVT зданий и передаем им координаты . |
В итоге получаем файл сборки, где собраны все модели по общим координатам. Плюс в модель каждого из зданий можно будет потом загрузить весь контекст – генплан* или здание соседа по тем же общим координатам. Если вдруг позже появится топосъемка с координатами, то достаточно будет в сборке заново получить координаты уже из нее, затем передать их дальше в файлы зданий.
Случай второй
У вас есть генплан с топосъемкой в координатах. Можно полностью повторить способ из первого случая, но теперь точку начала координат нам самим выбирать уже не нужно. Проблема заключается в том, что она, как правило, располагается очень далеко от самого участка:
1. Точку начала координат на генплане уже помечать не нужно, чтобы чертеж не стал огромным по протяженности. На этом шаге достаточно убедиться, что она на месте, проверив координаты пары точек чертежа. |
2. Внедряем связь CAD. Размещение: Совмещение центров |
3. Получаем координаты из DWG. Базовая точка получает координаты в системе съемки. |
Задача почти выполнена – сборка уже имеет координаты в системе съемки, но контролировать значение координат в такой сборке будет неудобно. Базовая точка, конечно, отображает свои координаты, но располагается она в абсолютно абстрактном месте – в центре генплана. Поэтому на практике делают еще следующее:
4. Выбираем дополнительную точку – угол участка, крест топосъемки или просто точку за пределами участка с ровными координатами – и в закрепленном положении двигаем Базовую точку туда. Выбранную точку также отмечаем на генплане с указанием ее координат. Видя, что Базовая точка совпала полностью с координатами опорной точки на генплане, можно убедиться, что сборка действительно имеет общие с генпланом координаты. |
5. Вспоминаем, что все это время точки нами перемещались только по X,Y, так как DWG-файл генплана – это плоский чертеж. Задаем Базовой точке также координаты по Z. |
6. Внедряем связью в RVT наш один или несколько разбивочных файлов RVT зданий и передаем им координаты . |
В блоге Стива Стаффорда Revit OpEd можно увидеть альтернативный способ решения той же задачи. Вначале идут те же шаги, он также выбирает опорную точку на генплане для мониторинга координат, но предлагает совмещать с этой точкой не Базовую точку, а Точку съемки. Для этого он перемещает ее в открепленном положении. После чего Точка съемки отображает координаты в системе съемки точно так же, как это делает Базовая точка:
Учитываем особенности облачных моделей
Если вы работаете с облачными моделями, то главный нюанс заключается в следующем: команда «Получить координаты» там работает, а вот «Передать координаты» – нет. Скорее всего, это сделано для того, чтобы пользователи не могли случайно перезаписать координаты в каком-либо файле, недоступном им для редактирования (в BIM 360 мы можем гибко настраивать права доступа к каждой модели).Для процесса настройки координат это означает, что придется изменить тактику только на самом последнем шаге. Вместо того чтобы передавать координаты из сборки в разбивочный файл/файлы, нужно, наоборот, открыть разбивочный, внедрить в него файл сборки, повернуть/переместить в нужное положение и нажать «Получить координаты».
Публикация координат в облачные модели недоступна
Но весомым аргументом уже в пользу облачных моделей в плане координационных сборок является то, что в Revit 2019 реализована функция «Связь топографии», которая позволяет внедрить поверхность из Civil 3D в Revit, не пользуясь промежуточным экспортом в DWG. Кроме того, такая топография уже отображается так же корректно, как и собственная внутри Revit. И, само собой, топография при импорте размещается по Общим координатам, если они уже были настроены в Revit. Функция доступна только для облачных моделей.
Проверяем, как все получилось
Самый простой способ проверить, насколько все правильно в итоге совмещается, – экспортировать все модели и сделать сборку в Autodesk Navisworks. Главное – не забыть выгрузить их именно по общим координатам.
Выбор систем координат при экспорте в NWC из Revit
Мониторим координаты в процессе работы
Мы настроили координаты во всех файлах, и все совмещается чудесно. Как быть уверенными, что в процессе работы с файлами никто не сбил координаты? Координаты Базовой точки (их может быть несколько, по числу площадок) для проекта нужно один раз зафиксировать в BEP. И потом постоянно их проверять.Просмотр и маркировка значений координат базовой точки
Проверки можно автоматизировать для большого числа моделей при помощи Autodesk Dynamo. Например, использовать скрипт, выводящий списком координаты для всех моделей в указанной папке.
Пример скрипта с форума dynamobim.com
Проверка координат через Revit Model Checker