Найти в Дзене

Revit_004. Масштабируемые марки с заливкой.

Оглавление

Каждому архитектору хочется, чтобы у него была красивая марочка с нужными размерами, да и еще чтобы была масштабируемая, с разными стилями шрифта, да и, возможно, чтобы цвет менялся. Ох...

Столкнулся я с такой задачей на примере марки помещений. Архитекторы хотели, чтобы марка была для двух масштабов и чтобы заливка марки менялась в зависимости от типа квартиры (не автоматически). Чтобы не делать тяп-ляп, я решил сделать одну марку раз и навсегда (ну то есть до следующей нетиповой марки).

Основной принцип


Данную марку можно разделить на два семейства:
1. Родительское семейство, в котором будут границы марки и текст
2. Загружаемое семейство штриховки, которое будет менять свой цвет и размеры

Штриховка


Начнем с создания штриховки, которую подгрузим потом в родительское семейство.

Итак ,создаем семейство типовой аннотации, и назовем его "Штриховка" или "Заливка" или "Маска". Как вам будет удобнее.
В нем рисуем штриховку и, внимание, внутри штриховки задаем размеры, не привязываясь к плоскостям. Это сделано для того, чтобы при дальнейшем копировании штриховки внутри семейства (а такое будет) мы могли менять размеры сразу всем штриховкам. Важно, чтобы параметры были на экземпляр.

Штриховку после завершения эскиза, конечно же, нужно разместить на перекрестье.
Штриховку после завершения эскиза, конечно же, нужно разместить на перекрестье.


Далее чуточку посложнее. Типоразмер самой штриховки должен соответствовать типу квартиры. Создаем столько типоразмеров штриховки, сколько типов квартир у нас должно быть. В данном случае, для упрощения, у нас будет три типа квартир: 1S, 1M, 1L.

1LLL - неугодная нам штриховка
1LLL - неугодная нам штриховка

Если вы случайно создали не тот типоразмер и вам нужно его удалить, то сделать это можно через вкладку Управление -> Удалить неиспользуемые. Там мы находим наш ненужный типоразмер штриховки и удаляем его.

-3

Внимание!

Нужно сначала нажать кнопку "Отменить выбор" и уже потом выделить нашу одну штриховку.

Далее мы задаем цвета нашим штриховкам по заданию от архитекторов.
Советую сразу задавать цвет и переднего плана и образца фона. Иначе при экспорте в DWG могут возникнуть проблемы с отображением (заливка становится прозрачной).

Сразу задаем один цвет для переднего плана и фона.
Сразу задаем один цвет для переднего плана и фона.

После этого создаем параметры "да/нет" с названиями типов квартир: 1S, 1M, 1L.

-5

Копируем наши штриховки в количестве 3 штук и назначаем каждой штриховке свой тип.

Таким образом мы видим все имеющиеся типоразмеры квартир, которые удобно отследить.
Таким образом мы видим все имеющиеся типоразмеры квартир, которые удобно отследить.

Далее к каждой штриховке назначаем "свою" видимость, которая соответствует типу квартиры.

-7

После этого собираем их все вместе на перекрестье и остается только создать типоразмеры семейства и сопоставить с ними параметры.

Теперь мы настроили взаимосвязь типа штриховки и типа квартиры
Теперь мы настроили взаимосвязь типа штриховки и типа квартиры

Ура, мы закончили с этим семейством. Хоть и все создание кажется достаточно длительным процессом, то это и правда длительный нудный процесс (особенно, когда 15-20 разных типов квартир). Но без этого, к сожалению никак.
С этим семейством все. Мы его подгрузим чуть позже.

Рамка

Создаем марку помещений. Называем ее, как этого требует ваш внутренний стандарт.
Далее создаем вспомогательные линии, которые будут габаритными для рамки. Готовьтесь, вспомогательных линий будет много.

Желательно все делать вспомогательными линиями. В противном случае могут слететь привязки при большом кол-ве зависимостей.
Желательно все делать вспомогательными линиями. В противном случае могут слететь привязки при большом кол-ве зависимостей.

Далее таким же образом разлиновываем всю нашу марку по кол-ву столбцов и строк и параметризируем их.

Всегда лучше привязывать к опорным линиям или плоскостям.
Всегда лучше привязывать к опорным линиям или плоскостям.

После этого мы привязываем к этим вспомогательным линиям 2D линии и подбиваем все параметры под нашу марку по умолчанию.

Длина вспомогательных линий ни на что не влияет.
Длина вспомогательных линий ни на что не влияет.

Далее мы создаем текстовые примечания или метки и после этого на примерном центре примечания/метки создаем небольшое перекрестье из <Невидимые линии>. Тексту и линиям задаем видимость "Масштаб М100", а потом группируем все это. К сожалению, Revit не позволяет привязать сам текст, а вот группу с этим тексом может. Вот этим мы и воспользуемся.

Линии создаются подкатегорией <Невидимые линии>, чтобы их не было видно на планах.
Линии создаются подкатегорией <Невидимые линии>, чтобы их не было видно на планах.

Привязываем эту группу по центру ячейки и проделываем это для всех оставшихся ячеек.

Размеров будет много.
Размеров будет много.

Для упрощения задачи можно создать еще одну направляющую линию и к ней привязывать весь текст/метки.
Для упрощения задачи можно создать еще одну направляющую линию и к ней привязывать весь текст/метки.

Текст для масштаба М:100 готов!

Теперь нужно выполнить все тоже самое, только для масштаба М:200 с нужными размерами текста и ячеек. Для упрощения процесса мы можем скопировать любую метку с перекрестьем, разгруппировать ее и убрать определение видимости. В параметрах семейства отключаем "Масштаб М100", переходим на план и включаем "Видимость просмотра". Теперь у нас включена видимость только тех элементов, которые включены в параметрах семейства. Очень удобная штука для проверки.

Также работает и в 3D.
Также работает и в 3D.

Есть еще один недочет - у нас нет никакой взаимосвязи между параметрами "Столбец_1 Ширина" и "Строка_1 Высота". Нужно сделать эти размеры вычисляемыми, иначе можно будет легко сломать семейство, задав общую ширину меньше, чем первый столбец. Исправим это.
Для этого параметр "Столбец_1 Ширина" переименовываем в "Параметр_Столбец Ширина" и закидываем его в группу "Прочее". Аналогично с параметром "Строка_1 Высота". В формулах мы высчитываем число, на которое должны поделить общую ширину или длину, чтобы получить ширину/высоту столбца/строки.

Теперь у нас марка будет пропорциональна при любом масштабе.
Теперь у нас марка будет пропорциональна при любом масштабе.

И-так, вернемся к тексту для масштаба М:200.
Размер шрифта стоит примерить и согласовать с архитекторами, чтобы потом по 100 раз не переделывать ничего. Я не буду исхитряться и просто все шрифты уменьшу в два раза для чистоты эксперимента, попутно уменьшив размер самой рамки.
Во второй раз я решил вывести центры каждой ячейки через вспомогательные линии. Этот способ будет более правильным, ибо если у вас будет 3, 4, 5 типов текста, то этот текст проще привязать к направляющим, которые нужно создать всего один раз.

Как и обещал - вспомогательных линий много.
Как и обещал - вспомогательных линий много.

Быстренько привязываю все размеры из масштаба М:100 к направляющим линиям и идем дальше.
Загружаем штриховку и привязываем ее к началу нашей марки. Завязываем размеры штриховки с размерами марки.

-18

Далее завязываем (или создаем) параметры видимости марки и штриховки, с дальнейшим созданием типоразмеров семейства. Не забудем создать тип "Без заливки", в котором отключим все штриховки.

-19

Теперь заблокируем наши масштабы простой формулой.

1 > 0 эквивалентно True, а 1 < 0 (или 0 > 1) эквивалентно False.
1 > 0 эквивалентно True, а 1 < 0 (или 0 > 1) эквивалентно False.

Для чего мы это сделали. Причин несколько. Самая важная - что при большом количестве масштабов при добавлении нового типа квартиры нам достаточно будет в одном таком семействе все поправить и при сохранении указать нужный масштаб поставив флаг "True" около нужного нам масштаба и заменить старую марку. А второе - чтобы архитектор случайно не сменил масштаб текста.

Все, можно загружать в проект и смотреть на результат.

В проекте сразу видим марки для двух масштабов.
В проекте сразу видим марки для двух масштабов.

Всем спасибо за внимание. Надеюсь, урок был не очень утомительным =)