О чистке файлов
Ох уже эти прокси... Как они мешают, сил нет! Если бы не Александр Ривилис и его ExplodeAllProxy + RemoveAllProxy, жизнь была бы совсем грустной.
Понятно, что ExplodeAllProxy "разбивает" прокси-объекты на составляющие, а RemoveAllProxy убивает неразбиваемые и неграфические элементы. Но иногда этих команд не хватает или они не срабатывают в некоторых случаях.
Вот, в качестве "шпаргалки" для себя и написал этот текст. Если у кого-то есть что добавить - милости прошу Одно "но" - не использовать сторонние приложения типа BricsCAD / GstarCAD / nanoCAD - что из них придет, сейчас предсказать трудно. Попробуем обойтись одним инструментом
- Вертикальные приложения (AutoCAD Architecture / AutoCAD MEP / AutoCAD Mechanical etc) той же версии, что и рабочий AutoCAD.
- У нас есть "то самое" приложение. Значит, открываем этот несчастный файл в "том самом" приложении и выполняем экспорт в AutoCAD (как правило, в таких вертикалках есть специальная команда).
- У нас нет "того самого" приложения. Или версия, в которой создавали файл, отличается от Вашей (а файл тупо сохранили в версии, например, DWG 2007). Тогда смотрим "рецепт".
- Сторонние разработки (СПДС GraphiCS / MechaniCS / MagiCAD etc)
- У нас есть "то самое" приложение, той же или более новой версии (это важно). Тогда пытаемся, используя инструментарий самого этого дополнения, разбить все его построения. Если не получилось - к "рецепту".
- У нас нет "того самого" приложения, или версия более древняя. Прямая дорога к рецепту.
Собственно рецепт. Может, неуниверсальный, но у меня пока работает. Для подобной очистки я создал отдельный профиль AutoCAD.
- demandload устанавливаем в 2
- Открываем очищаемый файл
- Если используется нечто типа wipeout, RTEXT и т.п., принудительно даем соответствующие команды. Теоретически можно все возможные и необходимые arx поставить в принудительную автозагрузку, но меня пока Бог миловал Так что я забил на это дело. Все равно ничего страшнее wipeout пока не приходило.
- Очищаем файл стандартной _.purge и _.-purge [Enter] _r [Enter] [Enter] _n [Enter]. (сначала графику, потом зарегистрированные приложения). В 2012 версии не ставим галку "Убирать графику с нулевой длиной".
- Даем команду ExplodeAllProxy, следом - RemoveAllProxy.
- Очищаем файл стандартной _.purge и _.-purge [Enter] _r [Enter] [Enter] _n [Enter]. Нулевые длины можно и удалять.
- Естественно, не забываем про _.audit и очистку списка масштабов.
Подскадите как Wipeout Поставить в принудительную загрузку? Спасибо
Самое простое - поставить в автозагрузке команду "_.wipeout" и тут же ее отменить. Вариант сложнее - определить нужный arx и загрузить его через arxload.
Если честно, я выбрал первый вариант.
Здравствуйте, Алексей,) Перепробовав множество известных мне методов, так и не смог сократить вес непонятно почему слишком много весящего файла dwg... Обращаюсь, как к гуру, с просьбой проверить файл для примера (чувствую проблема то в целом в одном и том же). Может научусь раз и навсегда не допускать такой засоренности... Буд очень признателен, спасибо
https://cloud.mail.ru/public/Exsm/2RzmEVDJB
Доброго.
Во-первых, http://autolisp.ru/2012/03/16/howto-provide-dwg/
Во-вторых, в файле следы СПДС GraphiCS, которым я не пользуюсь.
И последнее: выполнение инструкций из документа, упоминающегося в http://forum.dwg.ru/showpost.php?p=1235146&postcount=24 , уменьшили объем файла до 907 кб. К сожалению, выложить смогу только завтра, не раньше.
Спасибо огромное, Алексей, за наводку!
Дело оказалось в переменной PROXYNOTICE, значение выставил в "1" и сразу корректно заработала программа Ривилиса.
Успеха вам и всех благ!