Новогодние часы – Динамический блок с состояниями видимости в AutoCAD
Новогодние часы – Динамический блок с состояниями видимости в AutoCAD
В уроке описан пример создания динамического блока с новогодними часами, время на которых определяется выбранным состоянием видимости, а в полночь на циферблате появляется Дед Мороз. При написании урока использовалась AutoCAD 2024 с рабочим пространством Drafting & Annotation (Рисование и аннотации).
Файлы
Исходный чертеж (файл DWG, 118.43 KB + файлы TTF, 1.36 MB): Скачать
Готовый динамический блок (файл DWG, 139.31 KB + файлы TTF, 1.36 MB): Скачать
Текст
-
Открываем чертеж
Запускаем программу AutoCAD и открываем в ней исходный чертеж, в котором уже построена вся необходимая геометрия.
-
Создаем блок
Прямоугольной рамкой, растянутой слева направо, выделяем все объекты чертежа кроме розовых вспомогательных прямых, которыми обозначены границы рисунка.
Вызываем диалоговое окно Block Definition (Определение блока) (вкладка Insert (Вставка) ленты > панель Block Definition (Определение блока) > группа Create Block (Создать блок) > инструмент Create Block (Создать блок)), в котором задаем:
- Name (Имя) – new_year_clock;
- В разделе Base point (Базовая точка): Specify On-screen (Указать на экране) – OFF; X – 0; Y – 0; Z – 0;
- В разделе Objects (Объекты): Specify On-screen (Указать на экране) – OFF; положение переключателя – Convert to block (Преобразовать в блок); надпись в нижней части раздела – 89 objects selected (Выбрано объектов: 89);
- В разделе Behavior (Поведение): Annotative (Аннотативный) – OFF; Match block orientation to layout (Ориентация блока по листу) – OFF; Scale uniformly (Одинаковый масштаб) – OFF; Allow exploding (Разрешить расчленение) – ON;
- В разделе Description (Описание) – New Year’s Clock;
- В разделе Settings (Настройки): Block unit (Единицы блока) – Millimeters (Миллиметры);
- Open in block editor (Открыть в редакторе блоков) – ON.
Нажимаем кнопку OK. Попадем в Block Editor (Редактор блоков), где можно добавлять параметры и операции, которые будут управлять внешним видом и динамическими функциями блока.
-
Добавляем параметр «Видимость»
Берем параметр Visibility (Видимость) (вкладка Block Editor (Редактор блоков) ленты > панель Action Parameters (Параметры операций) > группа Action Parameters (Параметры операций) > инструмент Visibility (Видимость)). В ответ на запрос Specify parameter location or (Укажите местоположение параметра или) вводим координаты 1920,0 и подтверждаем ввод нажатием клавиши ‹Enter›. В ответ на запрос Enter number of grips (Введите число ручек) вводим 1 и подтверждаем ввод нажатием клавиши ‹Enter›.
Выделяем созданный параметр и корректируем его метки в свитке Property Labels (Метки свойств) палитры Properties (Свойства):
- Visibility name (Имя видимости) – Time;
- Visibility description (Описание видимости) – Time on the New Year's Clock.
-
Настраиваем первое состояние видимости
Выделяем блок с Дедом Морозом, цифру 5 и полилинию по ее контуру, затем выполняем команду BVHIDE (БЛОКСКРЫТЬ) (вкладка Block Editor (Редактор блоков) ленты > панель Visibility (Видимость) > инструмент Make Invisible (Сделать невидимым)).
Выделяем все часовые стрелки кроме той, что указывает на один час, и 44 из 48 звездочек, после чего еще раз выполняем команду BVHIDE (БЛОКСКРЫТЬ).
Вызываем диалоговое окно Visibility States (Состояния видимости) (вкладка Block Editor (Редактор блоков) ленты > панель Visibility (Видимость) > инструмент Visibility States (Состояния видимости)), в котором переименовываем единственное состояние видимости в 13:00.
-
Настраиваем второе состояние видимости
В диалоговом окне Visibility States (Состояния видимости) жмем кнопку New (Создать). В открывшемся диалоговом окне New Visibility State (Новое состояние видимости) задаем:
- Visibility state name (Имя состояния видимости) – 14:00;
- Visibility options for new states (Параметры видимости для новых состояний) – Leave visibility of existing objects unchanged in new state (Оставить видимость объектов неизменной).
Нажимаем кнопку OK в диалоговом окне New Visibility State (Новое состояние видимости), затем – кнопку OK в диалоговом окне Visibility States (Состояния видимости).
Устанавливаем для системной переменной BVMODE значение 1 (вкладка Block Editor (Редактор блоков) ленты > панель Visibility (Видимость) > переключатель Visibility Mode (Режим видимости)). Получим, что на чертеже, в приглушенных тонах, будут отображаться скрытые для текущего состояния видимости объекты.
Выделяем блок с Дедом Морозом и выполняем команду HIDEOBJECTS (иконка Isolate Objects (Изолировать объекты) в строке состояния > Hide Objects (Скрыть объекты)). Получим, что блок с Дедом Морозом будет временно скрыт.
Выделяем часовую стрелку, которая указывает на один час, и выполняем команду BVHIDE (БЛОКСКРЫТЬ) (вкладка Block Editor (Редактор блоков) ленты > панель Visibility (Видимость) > инструмент Make Invisible (Сделать невидимым)).
Выделяем часовую стрелку, которая указывает на два часа, и четыре произвольные звездочки из числа невидимых, затем выполняем команду BVSHOW (БЛОКПОКАЗАТЬ) (вкладка Block Editor (Редактор блоков) ленты > панель Visibility (Видимость) > инструмент Make Visible (Сделать видимым)).
-
Настраиваем состояния видимости с третьего по одиннадцатое
Вызываем диалоговое окно Visibility States (Состояния видимости) (вкладка Block Editor (Редактор блоков) ленты > панель Visibility (Видимость) > инструмент Visibility States (Состояния видимости)), в котором жмем на кнопку New (Создать). В открывшемся диалоговом окне New Visibility State (Новое состояние видимости) задаем:
- Visibility state name (Имя состояния видимости) – 15:00;
- Visibility options for new states (Параметры видимости для новых состояний) – Leave visibility of existing objects unchanged in new state (Оставить видимость объектов неизменной).
Нажимаем кнопку OK в диалоговом окне New Visibility State (Новое состояние видимости), затем – кнопку OK в диалоговом окне Visibility States (Состояния видимости).
Выделяем видимую часовую стрелку и выполняем команду BVHIDE (БЛОКСКРЫТЬ) (вкладка Block Editor (Редактор блоков) ленты > панель Visibility (Видимость) > инструмент Make Invisible (Сделать невидимым)).
Выделяем часовую стрелку, которая указывает на три часа, и четыре произвольные звездочки из числа невидимых, затем выполняем команду BVSHOW (БЛОКПОКАЗАТЬ) (вкладка Block Editor (Редактор блоков) ленты > панель Visibility (Видимость) > инструмент Make Visible (Сделать видимым)).
Настройка состояний видимости с четвертого по одиннадцатое выполняется аналогичным образом. Соответственно, чтобы добавить в блок состояния видимости 16:00, 17:00, 18:00, 19:00, 20:00, 21:00, 22:00 и 23:00 необходимо восемь раз повторить шаг 6, каждый раз делая невидимой часовую стрелку из предыдущего состояния видимости и делая видимыми часовую стрелку, подходящую текущему состоянию, и четыре произвольные звездочки из числа невидимых.
-
Настраиваем двенадцатое состояние видимости
Вызываем диалоговое окно Visibility States (Состояния видимости) (вкладка Block Editor (Редактор блоков) ленты > панель Visibility (Видимость) > инструмент Visibility States (Состояния видимости)), в котором жмем на кнопку New (Создать). В открывшемся диалоговом окне New Visibility State (Новое состояние видимости):
- Visibility state name (Имя состояния видимости) – 00:00;
- Visibility options for new states (Параметры видимости для новых состояний) – Show all existing objects in new state (Показать все существующие объекты).
Нажимаем кнопку OK в диалоговом окне New Visibility State (Новое состояние видимости), затем – кнопку OK в диалоговом окне Visibility States (Состояния видимости).
Выделяем все стрелки часов и две полилинии в центре циферблата, выделяем цифру 4 и две полилинии по ее контурам, затем выполняем команду BVHIDE (БЛОКСКРЫТЬ) (вкладка Block Editor (Редактор блоков) ленты > панель Visibility (Видимость) > инструмент Make Invisible (Сделать невидимым)).
Выполняем команду UNISOLATEOBJECTS (иконка Unisolate Objects (Отменить изоляцию объектов) в строке состояния > End Object Isolation (Завершить изоляцию объекта)). Получим, что скрытый ранее блок с Дедом Морозом вновь появится на чертеже, причем будет видимым в текущем состоянии видимости.
-
Сохраняем динамический блок
Выполняем команду BSAVE (БЛОКСОХР) (вкладка Block Editor (Редактор блоков) ленты > панель Open/Save (Открыть/Сохранить) > инструмент Save Block (Сохранить блок)), затем выполняем команду BCLOSE (БЛОКРЕДЗАКР) (вкладка Block Editor (Редактор блоков) ленты > панель Close (Закрыть) > инструмент Close Block Editor (Закрыть редактор блоков)).
В результате получим на чертеже динамический блок с двенадцатью состояниями видимости, переключаясь между которыми будет переводиться время на часах, а при выборе состояния 00:00 будет меняться год и на циферблате часов будет появляться Дед Мороз.