ADN Open CIS
Сообщество программистов Autodesk в СНГ

28/03/2014

Очистка файла dwg при открытии

Не секрет, что при открытии файла крайне желательно получить максимально очищенный от мусора файл. Причем так, чтобы очистка выполнялась в максимальном объеме, а ручной работы не было вообще.

Памятуя о документе на GoogleDocs (если лениво ходить по ссылке, документ можно забрать здесь в формате docx, а здесь - в формате pdf), нарисовался вот такой вот код (ссылка приведена в конце статьи).
Здесь представлена вторая версия, которая учитывает возможность наличия в файле объектов максировки (wipeout), rtext (предшественника понятия поле) и arctext (текст по дуге, объект из ExpressTools). Код тестировался на AutoCAD 2013, 2014 для 32- и 64-разрядных систем с предустановленными ExpressTools

При использовании обратите внимание на параметр вызова: это сумма битов из списка
Значение бита Пояснение
1 очищать графический и неграфический мусор (аналог обычного _purge)
2 очищать зарегистрированные приложения
4 проверка файла с исправлением ошибок (аналог _.audit _y)
8 очищать фильтры слоев
16 удалять историю создания твердых тел, включая вхождения в блоки (аналог команды _.brep)
32 удаление параметрических зависимостей, включая вхождения в блоки (аналог _.delconstrain)
64 при загруженном ExplodeAllProxy, demandload = 2, proxyshow = 1: разбиение графических прокси-объектов (автоматически добавляются биты 1, 2, 4)
128 при загруженном ExplodeAllProxy, demandload = 2, proxyshow = 1: удаление неграфических и неразбиваемых прокси-объектов (автоматически добавляются биты 1, 2, 4)
256 очистить следы VBA в файле
Очистка файла от мусора и зарегистрированных приложений, а также проверка может выполняться два раза (особенно если выполнялась очистка от прокси-объектов).

Для очистки от прокси-объектов необходимо скачать комплекс ExplodeAllProxy от А.Ривилиса

Код для скачивания. Сейчас, если скачать код, он при загрузке сразу выполнится в максимальном объеме (обратите внимание на последнюю строку).

Обсуждение: http://adn-cis.org/forum/index.php?topic=636

Опубликовано 28.03.2014