Каждому архитектору хочется, чтобы у него была красивая марочка с нужными размерами, да и еще чтобы была масштабируемая, с разными стилями шрифта, да и, возможно, чтобы цвет менялся. Ох...
Столкнулся я с такой задачей на примере марки помещений. Архитекторы хотели, чтобы марка была для двух масштабов и чтобы заливка марки менялась в зависимости от типа квартиры (не автоматически). Чтобы не делать тяп-ляп, я решил сделать одну марку раз и навсегда (ну то есть до следующей нетиповой марки).
Основной принцип
Данную марку можно разделить на два семейства:
1. Родительское семейство, в котором будут границы марки и текст
2. Загружаемое семейство штриховки, которое будет менять свой цвет и размеры
Штриховка
Начнем с создания штриховки, которую подгрузим потом в родительское семейство.
Итак ,создаем семейство типовой аннотации, и назовем его "Штриховка" или "Заливка" или "Маска". Как вам будет удобнее.
В нем рисуем штриховку и, внимание, внутри штриховки задаем размеры, не привязываясь к плоскостям. Это сделано для того, чтобы при дальнейшем копировании штриховки внутри семейства (а такое будет) мы могли менять размеры сразу всем штриховкам. Важно, чтобы параметры были на экземпляр.
Далее чуточку посложнее. Типоразмер самой штриховки должен соответствовать типу квартиры. Создаем столько типоразмеров штриховки, сколько типов квартир у нас должно быть. В данном случае, для упрощения, у нас будет три типа квартир: 1S, 1M, 1L.
Если вы случайно создали не тот типоразмер и вам нужно его удалить, то сделать это можно через вкладку Управление -> Удалить неиспользуемые. Там мы находим наш ненужный типоразмер штриховки и удаляем его.
Внимание!
Нужно сначала нажать кнопку "Отменить выбор" и уже потом выделить нашу одну штриховку.
Далее мы задаем цвета нашим штриховкам по заданию от архитекторов.
Советую сразу задавать цвет и переднего плана и образца фона. Иначе при экспорте в DWG могут возникнуть проблемы с отображением (заливка становится прозрачной).
После этого создаем параметры "да/нет" с названиями типов квартир: 1S, 1M, 1L.
Копируем наши штриховки в количестве 3 штук и назначаем каждой штриховке свой тип.
Далее к каждой штриховке назначаем "свою" видимость, которая соответствует типу квартиры.
После этого собираем их все вместе на перекрестье и остается только создать типоразмеры семейства и сопоставить с ними параметры.
Ура, мы закончили с этим семейством. Хоть и все создание кажется достаточно длительным процессом, то это и правда длительный нудный процесс (особенно, когда 15-20 разных типов квартир). Но без этого, к сожалению никак.
С этим семейством все. Мы его подгрузим чуть позже.
Рамка
Создаем марку помещений. Называем ее, как этого требует ваш внутренний стандарт.
Далее создаем вспомогательные линии, которые будут габаритными для рамки. Готовьтесь, вспомогательных линий будет много.
Далее таким же образом разлиновываем всю нашу марку по кол-ву столбцов и строк и параметризируем их.
После этого мы привязываем к этим вспомогательным линиям 2D линии и подбиваем все параметры под нашу марку по умолчанию.
Далее мы создаем текстовые примечания или метки и после этого на примерном центре примечания/метки создаем небольшое перекрестье из <Невидимые линии>. Тексту и линиям задаем видимость "Масштаб М100", а потом группируем все это. К сожалению, Revit не позволяет привязать сам текст, а вот группу с этим тексом может. Вот этим мы и воспользуемся.
Привязываем эту группу по центру ячейки и проделываем это для всех оставшихся ячеек.
Текст для масштаба М:100 готов!
Теперь нужно выполнить все тоже самое, только для масштаба М:200 с нужными размерами текста и ячеек. Для упрощения процесса мы можем скопировать любую метку с перекрестьем, разгруппировать ее и убрать определение видимости. В параметрах семейства отключаем "Масштаб М100", переходим на план и включаем "Видимость просмотра". Теперь у нас включена видимость только тех элементов, которые включены в параметрах семейства. Очень удобная штука для проверки.
Есть еще один недочет - у нас нет никакой взаимосвязи между параметрами "Столбец_1 Ширина" и "Строка_1 Высота". Нужно сделать эти размеры вычисляемыми, иначе можно будет легко сломать семейство, задав общую ширину меньше, чем первый столбец. Исправим это.
Для этого параметр "Столбец_1 Ширина" переименовываем в "Параметр_Столбец Ширина" и закидываем его в группу "Прочее". Аналогично с параметром "Строка_1 Высота". В формулах мы высчитываем число, на которое должны поделить общую ширину или длину, чтобы получить ширину/высоту столбца/строки.
И-так, вернемся к тексту для масштаба М:200.
Размер шрифта стоит примерить и согласовать с архитекторами, чтобы потом по 100 раз не переделывать ничего. Я не буду исхитряться и просто все шрифты уменьшу в два раза для чистоты эксперимента, попутно уменьшив размер самой рамки.
Во второй раз я решил вывести центры каждой ячейки через вспомогательные линии. Этот способ будет более правильным, ибо если у вас будет 3, 4, 5 типов текста, то этот текст проще привязать к направляющим, которые нужно создать всего один раз.
Быстренько привязываю все размеры из масштаба М:100 к направляющим линиям и идем дальше.
Загружаем штриховку и привязываем ее к началу нашей марки. Завязываем размеры штриховки с размерами марки.
Далее завязываем (или создаем) параметры видимости марки и штриховки, с дальнейшим созданием типоразмеров семейства. Не забудем создать тип "Без заливки", в котором отключим все штриховки.
Теперь заблокируем наши масштабы простой формулой.
Для чего мы это сделали. Причин несколько. Самая важная - что при большом количестве масштабов при добавлении нового типа квартиры нам достаточно будет в одном таком семействе все поправить и при сохранении указать нужный масштаб поставив флаг "True" около нужного нам масштаба и заменить старую марку. А второе - чтобы архитектор случайно не сменил масштаб текста.
Все, можно загружать в проект и смотреть на результат.
Всем спасибо за внимание. Надеюсь, урок был не очень утомительным =)