Создание блоков по электрике в автокаде
Обновлено: 07.07.2024
На одном из известных форумов пользователь предложил решить интересную задачу.
Он создал два динамических блока — щит рабочего освещения и щит аварийного освещения. В каждом блоке можно было выбрать в свойствах тип щита.
Предлагалось реализовать такой алгоритм:
- Выбрать изображение щита;
- Выбрать тип (исполнение) щита;
- Извлечь атрибуты при помощи _dataextraction и заполнить спецификацию.
Основная задача — реализовать это при помощи одного динамического блока.
Собственными силами пользователю удалось реализовать либо выбор условного графического изображения щита освещения, либо выбор типа (исполнения) щита.
После этого он обратился за помощью. Реализуем запрос пользователя.
Шаг 1
Открываем блок в редакторе блоков и вставляем параметр «Видимость» с панели инструментов. Переименовываем параметр в «УГО».
Шаг 2
Добавляем атрибут в блок. Команда _att. Затем в появившемся окне задаём параметры. Назначаем тэг, и делаем атрибут невидимым. Значение атрибута по-умолчанию пока не заполняем.
Шаг 3
В правом верхнем углу окна вызываем редактор состояний видимости (кнопка «1») и создаём два состояния видимости: ЩО для изображения щита рабочего освещения и ЩАО для изображения щита аварийного освещения.
При помощи кнопок «2» и «3» скрываем/отображаем ненужные/нужные элементы блока для каждого состояния видимости. Кнопка «4» переключает отображения скрытых элементов (показывать или не показывать скрытые элементы для текущего состояния видимости).
Шаг 4
Добавляем вспомогательную линию длиной 72 единицы и линейный параметр для неё. Делаем линию невидимой во всех состояниях блока. Параметр должен быть видимым во всех состояниях блока.
Шаг 5
Устанавливаем свойства параметра длины, как показано на рисунке. При нажатие на кнопку «1» появляется окно редактирования списка допустимых значений. При помощи кнопки «2» необходимые значения.
Шаг 6
Переходим на вкладку Actions/Действия и выбираем действие Strech/Растяжение. Далее выбираем параметр «Размер», выбираем сторону (можно просто нажать Enter), выполняем выделение рамкой, чтобы она захватывала вспомогательную линию, выбираем объект (вспомогательную линию), на которую будет распространяться действие растяжения, нажимаем Enter.
Шаг 7
Шаг 8
Переходим на вкладку Actions/Действия и выбираем действие Lookup. Далее выбираем параметр «Тип щита».
В появившемся окне редактирования таблицы свойств параметра Lookup нажимаем на кнопку «Добавить свойство» (1) и во всплывающем окне добавляем свойство «Размер».
Заполняем таблицу свойств.
Тестируем работу блока. Оба меню доступны, в свойствах отображается нужные значения.
Значения свойства Lookup можно извлечь при помощи _dataextraction для заполнения спецификации. Но пользователь хотел видеть это в атрибуте. Сделаем это.
Шаг 9
Двойной клик мышкой на атрибуте и появляется окно редактирования свойств. В поле «Значение по-умолчанию» кликаем правой кнопкой мышки и выбираем «Вставить поле».
Далее устанавливаем свойства как на рисунке.
Тестируем работу блока. Оба меню доступны, в свойствах отображается нужные значения. В значении атрибута отображается значение свойства Lookup, т.е. тип щита.
Так как отображение свойств свойств Lookpup в атрибуте реализовано при помощи полей AutoCAD, то это создаёт определённые неудобства. При изменении свойства параметра Lookup, нужно обновлять поля AutoCAD в чертеже. Это выполняется командой _updatefield. Выделяем блок (или блоки) и обновляем поля.
Также обновить поля можно командой _regenall. Но в данном случае нужно посмотреть в настройках AutoCAD, при каких условиях обновляются поля.
Так вот, я когда начинал работать в AutoCad, я не использовал динамические блоки вообще. Если мне попадались динамические блоки из других чертежей, которых надо были использовать в моём проекте, то я их разбивал и создавал заново без параметров и аттрибутов, потому что мне с ними было неудобно работать. На самом деле, я просто не утруждал себя тем, чтобы разобраться, как ими пользоваться.
И только пару лет назад я осознал, что это такое, и насколько это удобно. Нужно потратить немного времени, чтобы создать нужные динамические блоки, зато потом это сильно сэкономит время. Нужно всего лишь посмотреть на youtube бесплатно несколько видеоуроков и попробовать самому создать динамические блоки с разными параметрами.
Динамические выключатели и розетки
Вот, например, выключатель, тип которого легко можно менять, нажав на ручку рядом с блоком:
А вот динамический блок розетки, тип которой легко менять.
В этот же блок можно добавить и другие типы розеток: интернет, интернет двойная, телевизионная, кабельный вывод, заглушка. Тогда можно будет просто ставить в ряд нужное количество элементов, затем менять у каждого тип на соответствующий. Но мне удобнее, когда на слаботочные розетки сделан отдельный динамический блок.
Светильник, конечно, тоже удобно делать динамическим блоком: там будут, например, точечный светильник, настенная лампа, люстра. Но поскольку в процессе работы над проектом тип светильников меняется редко по сравнению с изменениями розеток и выключателей, светильник делать динамическим блоком необязательно.
Динамические блоки в щитах
Динамическим блоком можно удобно сделать коммутатор с выбором нужного числа портов.
Автоматы и УЗО тоже легко делать динамическими. Здесь у него динамически меняется номинал (параметр видимости) и назначение (атрибут). Было бы здорово сделать ещё одну ручку параметра видимости для того, чтобы на автомате появилась буква его фазы, но AutoCAD не позволяет сделать два выбора в одном блоке.
Что нам даёт то, что мы выбираем номинал автомата из списка заранее заданных номиналов, а не пишем его поверх автомата текстом, как я раньше делал сам, и как я вижу в множестве чужих проектов?
Во-первых, выбрать номинал из списка просто быстрее, чем написать его. Тем более, номинал сразу появляется точно по центру автомата и никуда не уедет.
Во-вторых, можно легко менять номинал сразу большого количества автоматов. Надо их выделить и в окне свойств изменить настройку видимости, она изменится сразу для всех выделенных элементов.
Крайне удобно в листах использовать рамку, которую можно мгновенно изменить с А4 на А3 и с горизонтальной на вертикальную.
Подсчёт количества блоков в AutoCAD
В-третьих, самое интересное: быстрый подсчёт количества элементов разного типа.
Либо мы набираем команду _COUNT и получаем таблицу всех блоков чертежа с их количеством, посчитанным по каждому варианту параметра блока.
Это просто невероятно удобно, весь расчёт сразу виден. Минус только в том, что нельзя так быстро посчитать блока в выделенной области.
Теперь самое интересное. Нажимаем кнопку слева от поля поиска, выделяем блоки, которые нам нужно вынести в отдельную таблицу.
Разумеется, расчёт количества, работает и без использования динамических блоков, но с ними гораздо удобнее, так как блоки будут группироваться, можно будет видеть как общее количество вхождений блока, так и количество блоков с разными свойствами.
В полноценном AutoCAD (который не LT) есть мастер извлечения данных для подсчёта блоков и атрибутов, доступный по команде ДАННЫЕИЗВЛ, он автоматически формирует таблицу и позволяет её более удобно настроить, но это занимает больше времени, чем использование инструментов, которых я описал выше.
В проектировании дизайна динамические блоки играют гораздо большую роль: они позволяют делать легко изменяемые блоки окон и дверей, мебели, сантехники, там без них, казалось бы, вообще не обойтись, тем не менее, в большинстве присылаемых мне дизайн-проектах, выполненных в AutoCad, они не используются. Хотя с ними даже проектирование стен проходило бы на порядок быстрее, не говоря уже о простом подсчёте количества блоков разного размера.
Читайте также: