Отверстия в стенах — известная проблема Revit. Конечно, есть «Проем в стене», но нам, помимо собственно отверстия в 3D, еще нужно:
— обозначение проема на развертке стены;
— спецификация отверстий и марка с указанием размеров и отметки низа отверстия;
— обозначение отверстия на планах.
Да, можно рисовать обозначение проема «Цветовой областью», и табличку составлять вручную, но это не наш метод.
Семь бед — один ответ: проемы нужно делать при помощи семейств. Условное обозначение нарисуем внутри самого семейства, в спецификации и марки будем выводить общие параметры.
Кстати говоря, я не очень люблю все эти планы с обозначениями отверстий — имхо, это всё артефакты эпохи автокада, но есть задача — есть решение.
Конечно, сразу известны проблемы:
— обозначение в плане не будет отображаться, если отверстие находится выше или ниже секущего диапазона;
— параметр «Смещение по высоте» не выводится в марки и спецификации.
Ну ничего, я тут как раз для того, чтобы найти решения. Воспользуемся особенностями аннотативных семейств и Dynamo.
Про один из способов решения я писал на форуме автодеска, но вариант совсем неудобный, тут уже поинтереснее.
Подготавливаем семейство
Семейство для отверстия будем делать «На основе стены» в категории «Обобщенные модели» (можно использовать «Окна» или «Двери», есть плюсы и минусы, но сейчас рассмотрим простой вариант).
Для начала будут нужны общие параметры «Рзм.Ширина» и «Рзм.Высота». Перейдем на фасад «Сторона размещения», добавим плоскости, размеры назначим на опорные плоскости:
И нарисуем проем, привязав границы к плоскостям:
Выберите созданный проем и включите для него прозрачность:
Теперь нужно сделать обозначение проема. Я обычно делаю его вложенным семейством «Элемента узла». Создадим такое семейство, опорные плоскости и параметры для ширины-высоты — всё стандартно. Создаю «цветовую область», для начала две линии, привязываю их:
Привязываю концы линий:
Теперь дорисовываю две линии обозначения и создаю параметр «Смещение обозначения».
Подумаем над формулой для параметра, чтобы обозначение для разных отверстий выглядело адекватно. Для этого в формуле надо учесть размер отверстия (для больших отверстий заливка должна быть узкой относительно размера отверстия, для маленьких — шире), и отношение сторон, чтобы для узкого и длинного отверстия обозначение не сломалось. Рекомендую такую формулу:
Посмотрите, как будет изменяться обозначение при разных размерах отверстия.
Загружаем обозначение в семейство проема, связываем параметры ширины-высоты, привязываем обозначение к опорным плоскостям:
Попробуйте изменить размеры и посмотреть, правильно ли срабатывает обозначение:
Далее нужны еще три общих параметра — «Рзм.ВысотаБазовогоУровня», «Рзм.СмещениеОтУровня», «Рзм.ОтметкаРасположения». Все три параметра добавляем в семейство, ставим их «по экземпляру». Можете взять эти параметра из моего файла общих параметров с Яндекс-диска.
Для «Рзм.ОтметкаРасположения» пишем формулу:
Сохраняем семейство как «231_Отверстие прямоугольное (ОбщМод_Стена)» и загружаем в проект.
Плагин — передача параметров
Да, не все параметры семейства мы можем использовать в марках и спецификациях, но не беда: можно воспользоваться плагином Bim-Starter Высотные отметки. Этот плагин делает очень простое действие — переносит значение из «Смещение от уровня» в «Рзм.СмещениеОтУровня», а высоту уровня, на котором стоит отверстие — в «Рзм.ВысотаБазовогоУровня». Далее в семействе эти два значения складываются в параметре «Рзм.ОтметкаРасположения» и его можно выводить в марки и спецификации.
Кстати, в марке можно настроить форматирование параметра:
Обозначение в плане
Используем следующую особенность: если в 3D-семейство загружено аннотативное семейство (элемент узла или типовая аннотация), то в проекте мы увидим эту вложенную аннотацию, разрезав семейство в любом месте. Делаем: cоздаем семейство «Элемента узла» с нужным обозначением в плане
В семействе обозначения нужны будут параметры «Толщина стены» и «Ширина отверстия»:
Загружаем обозначение в семейство отверстия и устанавливаем на плане. Связываем параметр ширины обозначения с соответствующим параметром отверстия, а для связывания толщины стены используем «Параметр для отчета». Создадим в семействе отверстия параметр «ТолщинаСтеныОтчет», включим опцию «Для отчетов»:
Повесим этот параметр на грани условной стены (выбирайте через tab именно грань стены, а не что-то другое, а то работать не будет), параметр «Толщины стены» у обозначения связываем с этим новым параметром:
Теперь при установке семейства оно автоматически определит толщину стену и нужным образом изменит обозначение.
Далее не забываем привязать обозначение к центру отверстия.
Теперь вспоминаем про задачу. Секущий диапазон плана обычно делают на высоте 1-1.5м, а отверстие может располагаться под потолком на высоте 2м. Но мы увидим обозначение, если разрежем семейство отверстия горизонтально в любом месте, значит, надо как-то сделать так, чтобы часть семейства доходила до секущего диапазона.
Сказано — сделано: нарисуем на «Виде спереди» невидимую линию, а удлинение этой линии сделаем равным параметру «СмещениеОтУровня»:
Верх линии привязываю к опорному уровню, указываю свойства для линии, чтобы она нам не мешала при работе.
Скорее всего, после создания такой линии и загрузки семейства в проект произойдет страшное: все отверстия улетят вверх. Неудивительно: по умолчанию Revit определяет границы семейства по максимальным габаритам, и переместит семейство вверх на длину этой добавленной линии.
Для того, чтобы это не происходило, мы принудительно укажем, какую точку хотим считать началом семейства.
Создадим «Опорную плоскость», совпадающую с «Опорным уровнем», привяжем замком к уровню и включим для нее опцию «Задает начало»:
Теперь «Смещение по высоте» будет отсчитываться именно от этой плоскости.
Теперь после запуска Dynamo невидимая линия будет удлиняться точно до уровня пола текущего этажа, гарантированно пересекать секущий диапазон и появляться на планах:
Качаем проект с семействами, марками и спецификацией и скрипт Dynamo (выбирайте Макросы/Отметки отверстий).
А в качестве домашнего задания предлагаю решить следующую задачу. Если семейство отверстия поставить прямо на уровень пола, возникнут проблемы:
— невидимая линия не может быть нулевой длины, и семейство сломается;
— отверстие будет находиться ниже секущего диапазона и не будет видно из-за стены.
Надо будет немного поколдовать с семейством, но, думаю, ничего сложного. Удачи!