4.1 Передача рельефа в Revit как топоповерхности через LandXML
Дополнительный пункт по передаче в Revit точного представления поверхности через её LandXML-представление
Last updated
Дополнительный пункт по передаче в Revit точного представления поверхности через её LandXML-представление
Last updated
Данный пункт не является обязательным к исполнению! Он лишь содержит иной взгляд на механику передачи поверхностей.
ДОДЕЛАТЬ
Autodesk Revit не предназначен для проектных решений в части генплана (и вертикальной планировке территории), поэтому поверхность рельефа в него передается "как есть", без оглядки на удобство работы с ней впоследствии.
В этом разделе будет рассмотрен вариант формирования топопверхности Revit используя заранее сформированное определение поверхности (посредством её передачи как LandXML-файл). Вариант с построением топоповерхности вручную по DWG-граням рассмотрен в следующем разделе 4.2.
В общем случае, для начала работы нам потребуется иметь исходную поверхность на город в форме поверхности AutoCAD Civil 3D, из которой мы вырезали бы нужный участок и сформировали бы локальное определение поверхности в виде файла LandXML.
В силу того, что в настоящем курсе AutoCAD Civil 3D не рассматривается как основное ПО, построение топоповерхности мы не требуем как обязательное к исполнению - скорее прикладываем, как альтернативный взгляд на процесс. При реализации инфраструктурной части так поступать придется - для корректной увязки проектных решений и существующего рельефа; об этом мы сообщим позже отдельно.
Произведем действия для участка №105 в Нижнем Новгороде:
Первым делом необходимо подрезать общую поверхность до границ конкретного участка либо иной необходимой площади.
Для этого открываем разбивочный файл на данный город, в нашем случае "NN_GP_Template.dwg" и подгружаем в него быстрой ссылкой поверхность на моделируемую часть города из материалов курса либо последовательно присоединяем квадраты с гранями и формируем на их основе поверхность с режимом "Сохранение исходных ребер триангуляции".
Теперь необходимо создать новое определение поверхности Civil 3D только в границах данного участка. Для этого есть удобная опция - создание "Обрезанной поверхности".
Первым делом нам необходимо выбрать экстент обрезки - для этого щелкаем на вторую строку и далее в командной строке подтверждаем что нас интересует Object:
Теперь программа будет просить выбрать точку внутри контура - чтобы явно определить, хочет пользователь сформировать поверхности внутри или снаружи контура. Нас интересует "внутри":
Далее необходимо выбрать место сохранения новой поверхности - в исходный он сохранять не дает, поэтому мы выберем опцию для нового чертежа:
Далее необходимо нажать на позицию ниже и выбрать шаблон DWT на базе которого будет создана новая обрезанная поверхность:
После этого в фоновом режиме программа создает новый пустой чертеж и возвращается обратно в текущий, записывая имя чертежа в поле "Create a new drawing"
Далее в этом же диалоговом окне модно выбрать имя, стиль и слой для новой поверхности и как начало процесса - нажать на ОК
К слову - на картинке выше справа желтым выделена граница новой поверхности (которая будет сформирована).
Дальше нам нужно лишь сохранить этот файл с поверхностью как новый чертеж, и экспортировать эту поверхность в формат LandXML.
Теперь перейдем к импорту данного представления поверхности в Revit.
Для ознакомления, историю вопроса передачи точного представления поверхности в Revit можно прочитать в данной статье.
Помимо подготовленного файла LandXML нам потребуется Dynamo-пакет "CreateRevitTopoSurface", в котором реализован процесс чтения файла LandXML. Скачать его можно через менеджер пакетов Dynamo:
Ставить версию 1.0.3
Теперь воспользуемся скриптом "CreateTopoByLandxml.dyn" ниже и построим топоповерхность по файлу LandXML:
В нем надо установить только файловый путь к файлу *.xml. Остальное трогать не надо.
В результате у нас формируется нередактируемая топоповерхность, точно повторяющая исходную поверхность (выраженную в LandXML-структуре):
Обратим внимание, что Revit достраивает контуры поверхности, где фактически присутствует граница поверхности - и как-то "скрыть" грани, которые не должны отображаться, к сожалению, нельзя. Как решение - формировать для импорта в Revit поверхность с выпуклой границей -- тогда граница будет идти четко, как и в исходном файле.