При работе в AutoCAD всегда остается актуальной тема чистки файлов DWG от всевозможного "мусора".
Чистота и опрятность чертежей не только делают их визуально более привлекательными, но и позволяют уменьшить размер файла - соответственно, и повысить скорость работы в нем; и избежать различного рода ошибки: ошибки при печати листов в PDF, фатальные ошибки (Fatal Error) и пр. Кроме того, чем тяжелее DWG-файл, тем, как правило, тяжелее получается и файл PDF из него. Также увеличивается время публикации листов в PDF.
В данной статье вкратце описываю различные методы борьбы с "тяжелыми" файлами. Очищать файлы можно как с помощью стандартных команд автокада, так и с помощью специализированных макросов.
Встроенные команды AutoCAD
_PURGE (рус. ОЧИСТИТЬ) - Команда удаляет с чертежа неиспользуемые элементы, такие как определения блоков, слои и т. д. В последних версиях автокада команда также справляется с очисткой непривязанных данных стилей линий DGN.
Самая эффективная команда: позволяет в среднем уменьшать вес файлов в 5-10 и более раз
_OVERKILL (рус. ПОДЧИСТИТЬ) - Команда удаляет дублирующиеся или перекрывающиеся линии, дуги и полилинии, а также объединяет линии, которые частично перекрываются или являются смежными.
Команда обычно уменьшает вес файла на 1-5%
_AUDIT (рус. ПРОВЕРИТЬ) - Команда проверяет чертеж на наличие ошибок. Если ошибки обнаружены и их можно исправить - команда исправляет их.
Специализированные макросы LISP
Макросы взяты из сети в свободном доступе. Подробное описание всех команд каждого из макросов можно посмотреть, зайдя внутрь каждого файла LISP. Здесь же привожу только описания определенных команд:
bgtools 2.35
BGLAYDEL - Команда удаляет выключенные и замороженные слои с примитивами.
Достаточно эффективная команда: в среднем может уменьшить вес файла до 10-30%
BGHATCHDEL - Команда удаляет все штриховки в файле. Использование команды ориентировано прежде всего на "чистку планов/подложек", - если использовать ее внутри файла графической части, то можно ненароком удалить штриховки у всех используемых блоков и других объектов DWG.
Достаточно эффективная команда: в среднем может уменьшить вес файла до 10-30%
cts 1.7
CTS - Команда замены текстовых стилей на выбранный. Данная команда необходима не столько для уменьшения веса файла, сколько для уничтожения всякого рода ненужных и избыточных текстовых шрифтов в чертеже. Когда на листе чертежа применяется по 5-10 различных шрифтов, это, как минимум, не соответствует нормам, как максимум - делает чертеж трудночитаемым. Кроме того, с файлом DWG может быть все в полном порядке, но когда из него необходимо сделать PDF, - вот тут может возникнуть куча проблем. Начиная от ошибок в процессе печати PDF, замедлением печати PDF, и заканчивая невозможностью открыть файл PDF (происходит "бесконечное зависание"). Это еще зависит от конкретной программы-просмотрщика PDF и ее возможностей обработки шрифтов.
Короче говоря, чем меньше шрифтов применяется в файле чертежа, тем лучше
ExplodeProxy (макрос .arx)
EXPLODEALLPROXY - Команда расчленяет все proxy-примитивы (которые можно расчленить) во всем чертеже. Под proxy-примитивами подразумеваются "инородные" объекты, попавшие в чертеж из других программ и/или надстроек для AutoCAD. Иногда такие объекты невозможно, например, скопировать или переместить. При этом их также не получается расчленить стандартным способом.
Дополнительно
Используя все вышеперечисленные команды можно максимально прочистить и облегчить вес файлов в 95% случаев, однако и тут бывают исключения :)
Если "прочищенный" файл все равно весит относительно много, тормозит, то есть вероятность, что проблема кроется в наличии в файле маскировок (вероятно, в большом количестве). Их можно попробовать удалить вручную.
Удаление маскировок вручную
Открываем палитру свойств (Ctrl+1) > Нажимаем на кнопку [Быстрый выбор] > Выбираем опции [Применить ко всему чертежу] и [Тип объектов - маскировка] > Оператор [Выбрать все] > [ОК];
Затем удаляем все выбранные маскировки.
В отдельных случаях благодаря удалению маскировок вес файла может уменьшиться в несколько раз
Ну и наконец, если все вышеперечисленные способы не помогли уменьшить вес тяжелого файла до ожидаемых размеров, можно попробовать использовать мой макрос CopyDWG - его также прикрепляю по ссылке ниже.
Копирование выделенных объектов в другой файл с помощью макроса
CopyDWG - макрос копирует выделенные объекты чертежа в автоматически создаваемый DWG-файл, который появляется в том же каталоге, что и исходный файл. При этом, в новый файл попадают непосредственно выделенные объекты и примитивы, без лишнего "мусора", который может попадать в файл при попытке ручного копирования тех же самых элементов.
Команда позволяет уменьшать вес файла-копии в среднем на 5-40% (это уже после применения всех вышеперечисленных способов)
В то же время, обратите внимание: в новый создаваемый файл переносятся только выделенные объекты DWG, листы при этом из файла в файл не копируются.
Подробнее ознакомиться с использованием макросов в автокаде можно в другой моей статье - Загрузка и запуск макросов в AutoCAD.
Все вышеперечисленные в статье макросы можно скачать здесь.
Больше полезной информации о приемах работы в AutoCAD можно найти в Телеграм!