Як зробити динамічний блок щита в autocad


На одному з відомих форумів користувач запропонував вирішити цікаву задачу.
Він створив два динамічних блоку - щит робочого освітлення і щит аварійного освітлення. У кожному блоці можна було вибрати у властивостях тип щита.
Пропонувалося реалізувати такий алгоритм:
- Вибрати зображення щита;
- Вибрати тип (виконання) щита;
- Витягти атрибути за допомогою _dataextraction і заповнити специфікацію.
Основне завдання - реалізувати це за допомогою одного динамічного блоку.
Власними силами користувачеві вдалося реалізувати або вибір умовного графічного зображення щита освітлення, або вибір типу (виконання) щита.

Після цього він звернувся за допомогою. Реалізуємо запит користувача.
Додаємо атрибут в блок. Команда _att. Потім у вікні задаємо параметри. Призначаємо тег, і робимо атрибут невидимим. Значення атрибута за замовчуванням поки не заповнюємо.

Додаємо допоміжну лінію довжиною 72 одиниці і лінійний параметр для неї. Робимо лінію невидимою у всіх станах блоку. Параметр повинен бути видимим у всіх станах блоку.

Встановлюємо властивості параметра довжини, як показано на малюнку. При натискання на кнопку «1» з'являється вікно редагування списку допустимих значень. За допомогою кнопки «2» необхідні значення.

Переходимо на вкладку Actions / Дії та вибираємо дію Strech / Розтягування. Далі вибираємо параметр «Розмір». вибираємо сторону (можна просто натиснути Enter), виконуємо виділення рамкою, щоб вона захоплювала допоміжну лінію, вибираємо об'єкт (допоміжну лінію), на яку поширюватиметься дія розтягування, натискаємо Enter.

Повертаємося на вкладку «Параметри» і додаємо параметр Lookup. Перейменовуємо в «Тип щита».

Переходимо на вкладку Actions / Дії та вибираємо дію Lookup. Далі вибираємо параметр «Тип щита».
У вікні редагування таблиці властивостей параметра Lookup натискаємо на кнопку «Додати властивість» (1) і у спливаючому вікні додаємо властивість «Розмір».

Заповнюємо таблицю властивостей.

Тестуємо роботу блоку. Обидва меню доступні, у властивостях відображається потрібні значення.

Значення властивості Lookup можна витягти за допомогою _dataextraction для заповнення специфікації. Але користувач хотів бачити це в атрибуті. Зробимо це.
Подвійний клік мишкою на атрибуті і з'являється вікно редагування властивостей. В поле «Значення за замовчуванням» натискаємо правою кнопкою мишки і вибираємо «Вставити поле».

Далі встановлюємо властивості як на малюнку.

Тестуємо роботу блоку. Обидва меню доступні, у властивостях відображається потрібні значення. У значенні атрибута відображається значення властивості Lookup. тобто тип щита.

Так як відображення властивостей властивостей Lookpup в атрибуті реалізовано за допомогою полів AutoCAD, то це створює певні незручності. При зміні властивості параметра Lookup, потрібно оновлювати поля AutoCAD в кресленні. Це виконується командою _updatefield. Виділяємо блок (або блоки) і оновлюємо поля.
Також оновити поля можна командою _regenall. Але в даному випадку потрібно подивитися в настройках AutoCAD, за яких умов оновлюються поля.
Щоб завантажити файл з блоком, натисніть на кнопку: СКАЧАТИ Фото З БЛОКОМ
