Работа с блоками


В данном разделе меню находятся модули для различных манипуляций с блоками.

Экспорт блоков в CSV
Импорт блоков из CSV(TXT)
---
Поворот блоков по полилинии
Поворот блоков по полилиниям
Проставить блоки по полилинии
Случайное заполнение полилинии блоком
---
Прибавить к атрибуту блока текст
Прибавить к атрибуту блока число
Прибавить к атрибуту блока случайное число
Округлить число в атрибуте блока
Заменить текст в атрибуте блока на перенос строки
---
Переименовать определение блока
Видимость скрытых атрибутов
Скрыть задний фон атрибутов штриховкой
Повернуть атрибуты в соответствии с правилами чтения чертежа
Повернуть блоки в соответствии с правилами чтения чертежа
Преобразовать 'поле' в текст в атрибутах блоков
---
Сбросить свойства динамических блоков
Замена блоков с наследованием атрибутов
Замена точек на блок
---
Подпримитивы блока: Задать слой
Подпримитивы блока: Задать ширину линии
Подпримитивы блока: Задать вес линии
Подпримитивы блока: Задать цвет 'По блоку'
Подпримитивы блока: Задать цвет 'По слою'
Подпримитивы блока: Заменить отрезки на полилинии
Подпримитивы блока: Масштабировать
---
Показать динамические свойства блока
Пакетное редактирование динамических свойств блоков

Экспорт блоков в CSV

Данный модуль экспортирует в CSV файл следующие данные блоков: координаты точки вставки, слой (если задан параметр "обработать все слои"), угол поворота блока и значения атрибутов, если таковые присутствуют. При запуске модуль просит указать на экране блок. В обработку попадут все блоки с таким именем. Если параметр "обработать все слои" не задан, в обработку попадут только блоки, лежащие на том же слое, что и указанный образец. Первой строкой в CSV файле идет "шапка таблицы", где указаны значения столбцов. В нижеприведенном примере последние три столбца – имена и значения атрибутов.
Окно ZWCAD с отображением свойств блока:

CSV файл, результат работы модуля:


Импорт блоков из CSV(TXT)

Данный модуль позволяет построить блоки по данным из CSV или любого текстового файла. Необходимый минимум параметров: два столбца, X и Y координаты, разделенные символом-разделителем.

При запуске модуль просит указать файл, символ-разделитель(точка-запятой, пробел, или табуляция) и блок-образец с экрана, т.е. импортируемый блок должен присутствовать в чертеже. После появляется окно, в котором пользователь должен указать соответствия столбцов CSV файла параметрам блока:

Для каждого параметра блока выбирается значения из выпадающего меню, представляющего собой 1-ю строку CSV файла с номером столбца в скобках. Так же задаются соответствия значений атрибутов импортируемых блоков столбцам CSV файла:

Если в столбцах CSV файла, указанных как XYZ координаты, встречается не число, то вся строка игнорируется, замена запятой на точку в столбцах с координатами происходит автоматически.

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

Пример. В чертеже присутствует несколько сотен отметок высот (блок с атрибутом, в котором хранится значение отметки высоты), к которым необходимо прибавить какое-либо значение, например, 0.27. Экспортируем блоки в CSV файл и открываем его в Excel. Добавляем новый столбец, в который вносим формулу:

Результат:

Применяем введенную формулу ко всем необходимым строкам, сохраняем как CSV и импортируем блоки из CSV файла, сопоставив столбец с новым значением необходимому атрибуту блока.


Поворот блоков по полилинии

Данный модуль позволяет повернуть блоки в соответствии с направлением полилинии в точке, являющейся ближайшей к блоку. Выбор блоков осуществляется по образцу, а именно программа просит указать Пользователя блок-образец и в обработку попадают блоки с таким же именем что и образец и лежащие на том же слое.
Пример. До обработки:

После обработки:

Черная полилиния - та, по которой выравнивались блоки. Пунктирной линией (показана для наглядности) показан допуск, в примере равный 100. В качестве начала полилинии была указана точка рядом с левым концом полилинии.


Поворот блоков по полилиниям

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


В связи с тем что модуль не запрашивает у пользователя направление начала для каждой полилинии, артибуты некоторых блоков могут оказаться плохочитаемыми на чертеже. Поправить такую ситуацию поможет модуль Повернуть атрибуты в соответствии с правилами чтения чертежа.


Проставить блоки по полилинии

Модуль позволяет проставить по полилиниям блок различными способами. Основных - три, с шагом по полилинии, по вершинам и случайно. На приведенных ниже изображениях показан результат работы модуля при различных режимах и с различными опциями:












Случайное заполнение полилинии блоком

Позволяет заполнить контур(полилинию) указанным блоком(выбор по образцу) в случайном порядке. Пример:

Пояснение к примеру. Блок, изображенный в верхнем правом углу был выбран в качестве блока-образца. Модуль расчитывает разброс координат от сетки с указанном шагом (в данном примере 5) с учетом фактора случайности(в примере он равен 0.5). При указании фактора случайности 0 блоки встанут на шаг сетки:

При факторе случайности, равном 1, диапазон случайного разброса будет равен указанному шагу.


Прибавить к атрибуту блока текст

Позволяет прибавить к значению выбранного атрибута блоков, выбранных по образцу, какой-либо текст.

Пример:


Прибавить к атрибуту блока число

Позволяет прибавить (или отнять) к значению выбранного атрибута блоков, выбранных по образцу, какое либо значение. Нечисловое содержимое игнорируется.

Пример:


Прибавить к атрибуту блока случайное число

Позволяет прибавить (или отнять) к значению выбранного атрибута блоков, выбранных по образцу, случайное число:

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


Округлить число в атрибуте блока

Позволяет округлить с заданной точностью число в указанном атрибуте. Выбор блоков осуществляется по образцу:

Если встречен атрибут, содержимое которого не является числом, по окончании работы модуля выводится предупреждение, после чего такие блоки могут быть показаны на экране.

Примечание. С динамическими блоками ZWCAD корректно работает начиная с 2019 версии. Если запустить этот модуль в более ранней версии и выбрать динамический блок, работа завершится с ошибкой.


Заменить текст в атрибуте блока на перенос строки

Позволяет 'преобразовать' заданный атрибут в многострочный посредством замены заданного символа или текста на спецсимвол переноса строки:

Выбор атрибута и блока осуществляется по образцу. Если указан НЕ многострочный атрибут, он будет автоматически преобразован в многострочный, в том числе в описании блока, о чем будет выведено соответствующее предупреждение.

Примечание. С динамическими блоками ZWCAD корректно работает начиная с 2019 версии. Если запустить этот модуль в более ранней версии и выбрать динамический блок, работа завершится с ошибкой.


Переименовать определение блока

Позволяет переименовать определение блока. Выбор определения блока осуществляется путем указания блока-образца с экрана.


Видимость скрытых атрибутов

Управляет видимостью скрытых атрибутов блоков:

Управлять видимостью скрытых атрибутов блоков можно и штатными средствами. Модуль написан для быстрого доступа к данной функции.


Скрыть задний фон атрибутов штриховкой

Скрывает задний фон атрибутов блоков, выбранных по образцу, с помощью заштрихованного прямоугольника белого (RGB 255,255,255) цвета.

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


Повернуть атрибуты в соответствии с правилами чтения чертежа

Модуль поворачивает атрибуты блоков в соответствии с правилами чтения чертежа, а именно: если угол атрибута находится в диапазоне от 90 до 270 градусов, то он поворачивается на 180 градусов:



Примечание. Угол атрибута расчитывается от оси X против часовой стрелки в мировой системе координат.


Повернуть блоки в соответствии с правилами чтения чертежа

Модуль поворачивает блоки в соответствии с правилами чтения чертежа, а именно: если угол блока находится в диапазоне от 90 до 270 градусов, то он поворачивается на 180 градусов:



Примечание. Угол расчитывается от оси X против часовой стрелки в мировой системе координат.


Преобразовать 'поле' в текст в атрибутах блоков

Модуль позволяет массово преобразовать объект 'поле' в текст в атрибутах указанных блоков, избежав долгого ручного редактирования, как на примере ниже:



Сбросить свойства динамических блоков

Модуль сбрасывает динамические свойства выбранных блоков в значения поумолчанию:



Модуль может быть полезен в тех случаях когда часть блоков повернута стандартными средствами, а часть - посредством динамического свойства 'поворот', и необходимо привести чертеж к единому оформлению.

Примечание. Модуль работает только в AutoCAD и ZWCAD версии не ранее 2018.


Замена блоков с наследованием атрибутов

Модуль позволяет заменить одни блоки, выбранные по образцу, другими, с наследованием атрибутов:




Замена точек на блок

Позволяет заменить точки, выбранные по образцу, на указанный блок.


Подпримитивы блока: Задать слой

Позволяет задать слой у всех подпримитивов описания блока. Выбор блоков возможен 3-мя вариантами: из списка имен, все именованные и все, включая безымянные(которые вставлялись из буфера обмена командой 'вставить как блок'). Модуль будет полезен для случаев, когда нельзя удалить слои, на которых нет примитивов, но которые используются.


Подпримитивы блока: Задать ширину линии

Задает параметр 'глобальная ширина линии' у подпримитивов блока, которые имеют такое свойство(полилинии). Выбор блоков возможен 3-мя вариантами: из списка имен, все именованные и все, включая безымянные.


Подпримитивы блока: Задать вес линии

Задает параметр 'вес линии' у подпримитивов блока. Выбор блоков возможен 3-мя вариантами: из списка имен, все именованные и все, включая безымянные.


Подпримитивы блока: Задать цвет 'По блоку'

Задает свойство 'Цвет' у подпримитивов блока в значение 'По блоку'.

На изображении ниже можно увидеть блок, у которого задан красный цвет, однако несколько подпримитивов блока окрашены в зеленый, т.к. у них установлено свойство 'По слою'(у остальных - 'По блоку'). Сам блок находится на слое, цвет которого как раз зеленый. Данный модуль позволяет привести блоки к единому оформлению.



Подпримитивы блока: Задать цвет 'По слою'

Задает свойство 'Цвет' у подпримитивов блока в значение 'По слою'.

На изображении ниже можно увидеть блок, у которого задан красный цвет, однако несколько подпримитивов блока окрашены в зеленый, т.к. у них установлено свойство 'По слою'(у остальных - 'По блоку'). Сам блок находится на слое, цвет которого как раз зеленый. Данный модуль позволяет привести блоки к единому оформлению.



Подпримитивы блока: Заменить отрезки на полилинии

Заменяет в описании блока отрезки на полилиинии. Выбор блоков возможен 3-мя вариантами: из списка имен, все именованные и все, включая безымянные.


Подпримитивы блока: Масштабировать

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



Модуль будет полезен в ситуациях, когда в чертеже применялась неметрическая система координат, или когда чертеж собирался из нескольких чертежей, один или несколько из которых был в неметрической системе координат.

Примечание. При редактировании блока в редакторе положение и масштаб атрибутов существующих блоков не меняется. Для применения изменений необходимо воспользоваться штатной командой автокада _ATTSYNC. Именно для этой цели в данном модуле предусмотрена галочка 'Обновить атрибуты'


Показать динамические свойства блока

Примечание. Модуль работает только в среде AutoCAD, ZWCAD не поддерживается.

Данный модуль выводит на экран список свойств и значений выбранного динамического блока.


До двоеточия - имя динамического свойства, после двоеточия - его значение. В скобках после значения указан тип значения.

Модуль является вспомогательным инструментом для нижеописанного модуля.


Пакетное редактирование динамических свойств блоков

Примечание. Модуль работает только в среде AutoCAD, ZWCAD не поддерживается.

Модуль предназначен для массового редактирования свойств динамических блоков во множестве файлов DWG.

Понять принцип работы модуля поможет нижеследующий пример.

Предположим, имеем множество файлов DWG, в каждом из них содержится множество листов, в каждом листе имеется угловой штамп, представленный, к примеру, вот таким замечательным блоком:


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


Предположим, что в конце рабочего дня, накануне сдачи материалов заказчику, ВДРУГ выясняется что необходимо поменять оформление. Тыкать вручную всю ночь несколько сотен файлов, в каждом из которых по несколько десятков Листов, - такое себе удовольствие. Данный модуль как раз способен решить такую задачу.

И так, предположим, что все изменения заключаются в таком нехитром действии:


Перед собственно запуском модуля нам нужно узнать несколько вещей. А именно, имя блока, имя динамического свойства, значение этого свойства и тип данных. Это поможет сделать модуль Показать динамические свойства блока:


Нас интересует отмеченная красной стрелкой строка, поскольку мы уже знаем(подсмотрели в редакторе блоков) как называется имя динамического свойства(или, если говорить терминами автокада 'параметр выбора') - 'Штамп'.


Так же необходимо обратить внимание на слово 'текст' в скобках. Это тип данных.


Далее я рекомендую скопировать(скопировать-вставить) нужные нам данные из текстового окна автокада в любой текстовый редактор, поскольку модуль чувствителен к регистру, единица в названии параметра может оказаться строчной L и т.д.

Далее, если мы изучали файл, подлежащий редактированию, обязательно закрываем его, запускаем модуль, и вносим необходимые параметры в соответствующие поля:


Запускаем на выполнение и любуемся. По окончании работы будет выведен краткий отчет:


Прочие замечания, на которые необходимо обратить внимание.

Настоятельно рекомендую сделать копию всех файлов, на которых будет запущен модуль, и с этой копией уже работать. Потому что если что то пойдет не так как нужно, могут оказаться испорченными ВСЕ файлы.

Во время работы модуля компьютер лучше вообще не трогать.

Файлы для обработки должны быть доступны для редактирования, т.е. не должны быть открытыми в автокаде или в других программах.

Если количество файлов значительное, и нет возможности сидеть рядом и контролировать процесс, можно установить галочку 'Игнорировать ошибки'.

Ошибка может возникнуть, если в поле 'Значение' вбить фразу, которая отсутствует в списке возможных(например, 'Форма 33'):


С установленной галочкой 'Игнорировать ошибки' модуль не будет останавиваться с предложением прервать работу.

Так же ошибка может возникнуть если ошибиться с названием динамического свойства и/или типом данных


К оглавлению