Як зменшити розмір файлу autocad, якщо команда purge не допомагає


Досить часто отримую від замовників, підрядників і суміжників файли великих розмірів. Справа в тому, що надсилаються файли містять багато непотрібної інформації, яку забули видалити з файлу. Після елементарної чистки командою _purge (видаляє з бази даних креслення все невикористовувані об'єкти - шари, блоки, типи ліній, стилі тексту, розмірів та ін.) Розмір файлу може скоротитися в 2 рази. Іноді більше, іноді менше.
Але бувають випадки, коли _purge не дає результату.
Отримав файл від підрядника. Він скаржився, що не може його відправити через великого розміру, тому перекинув через dropbox. Розмір файлу дійсно мене здивував - 28Мб. Знаючи, що це за креслення, я розумів, що він не повинен бути такого розміру. Спочатку я подумав, що він його забув почистити командою _purge. Відкриваю. AutoCAD видає попередження вікно:

Файл містить proxy-графіку. Натискаю «Закрити» і запускаю команду _purge. Purge показує, що креслення почищений перед відправкою:

Відкриваю менеджер шарів, щоб перевірити, що немає відключених або заморожених шарів, в яких може бути заховано купа сміття. Перевіряю, їх немає.
Значить, вся справа в proxy-графіку. Будемо з нею працювати, а точніше позбавлятися від неї. Запускаю утиліту Олександра Рівіліса для розчленування proxy-об'єктів командою explodeallproxy. Чекаю, поки вона відпрацює і запускаю другу команду removeallproxy. яка видалить з креслення все proxy-об'єкти, які не вдалося розчленувати. Залежно від кількості proxy-графіки в кресленні, утиліта може працювати від декількох секунд до декількох десятків хвилин. У мене виявився досить складний випадок і програма працювала близько 20-25 хвилин.
Наступним кроком я знову запустив _purge. тому після відпрацювання попередньої утиліти з'являються безіменні блоки. Якщо зберегти файл, до запуску команди _purge. то його розмір в ряді випадків може навіть збільшитися. Purge працював в моєму випадку близько 2 годин і видалив перевищила 13,5 тисяч об'єктів.
Після відпрацювання команди _purge я запустив _audit для перевірки і відновлення бази креслення.
І, нарешті, натиснув _save для збереження файлу. Я його зберіг під новим ім'ям, щоб була видна різниця. Розмір файлу зменшився з 27,6МБ до 434КБ, тобто в 65 разів! Тепер файл можна спокійно відправляти поштою.
У загальному випадку, алгоритм чищення креслення такої:
- Видаляємо все непотрібне з видимих, відключених і заморожених шарів;
- Чистимо креслення командою _purge він невикористовуваних об'єктів (блоки, типи ліній, шари, стилі тексту, розмірів, таблиць, мультівиносок та ін.);
- Висаджуємо proxy-графіку командою explodeallproxy;
- Командою removeallproxy видаляємо proxy-графіку, яку не вдалося підірвати;
- Повторно виконуємо чистку креслення від невикористовуваних об'єктів командою _purge;
- Виконуємо перевірку і відновлення бази даних креслення командою _audit.
Бажано після кожного етапу зберігати креслення, тому що може не працювати з файлом.
