Пакетная очистка файлов dwg
Захотелось мне создать такой мини-опрос
Известно, что нередки ситуации, когда надо сто-двести-пятьсот файлов очистить от мусора. Известно, что есть решения на том же dwg.ru / caduser.ru / cadtutor.net / theswamp.org etc, решающие такие вопросы.
Собственно вопрос - надо ли создавать код для таких задач? Будет он использоваться? Вообще - надо ли? Или оставить все как есть?
Прошу ответы в комментариях. В ответах не приводите никаких ссылок (иначе срабатывает спам-бот, комментарий может запросто свалиться в спам, и его никто не увидит).
Version 0.1.0; исходник.
Ошибки и пожелания
- Для 2013 и 2014 версиий AutoCAD добавить проверку и удаление проксиобъектов
Алексей, добрый день!
Натравил твою программу на архив документов dwg.
После успешной обработки части файлов, всплывает ошибка:
Команда: BP
Обработка файла Лестницы.dwg : |; ошибка: аргумент не является ошибкой
vl-catch-all-apply: "Ошибка Automation. Отсутствует описание."
Проделывал это на 2х машинах. Win7x64/Autocad2012x64rus и Win7x64/Autocad2015x64eng
Ошибка одинаковая.
После этого, насколько я понял, DEMANDLOAD стал=2
Доброго. Оччень интересно... А файл глянуть можно? Я подозреваю, что проблема в самом файле и ее как-то надо "отслеживать". Но требуется пациент
P.S. Файл можно скинуть на почту, например - я приеду домой сегодня и посмотрю, что там можно сделать.
Выслал файл и логи на почту
Удалось скачать
В файле обнаружены прокси:
СПДС GraphiCS - 71 графический объект, 1 неграфический
AEC-объекты (от вертикального приложения типа AutoCAD Architecture / AutoCAD MEP) - 307 неграфических объектов.
В файле сохранились записи о 2 растрах (не предоставлены; вхождений не имеют).
Проверка (которую можно выполнить только в текущем документе) выявляет 2 ошибки (что-то с размерами радиусов "не то").
Кстати, такое количество фильтров слоев действительно необходимо?
В общем и целом: если разбиение прокси-объектов еще реализовать можно, то удаление - увы и ах. То же самое с проверкой. Могу посоветовать в автозагрузку повесить код из http://autolisp.ru/2014/03/24/clear-dwg-at-opening/ - я думаю, что множество вопросов можно будет снять с повестки дня.
P.S. Почищенный файл обратно высылать?
То, что файл - помойка я знаю.
Чистить умею. Удаление прокси от Ривилиса использую давно.
Файлов вагон и маленькая тележка, достался архив от проектного института.
Временами, что то копирую в свои файлы. Вот и хочется почистить исходники, да и места меньше будут занимать.
Открывать каждый файл, чтобы почистить при открытии - не подходит
Влад. Во всём архиве найдётся с десяток подобнх файлов.
Их можно обработать вручную.
"В общем и целом: если разбиение прокси-объектов еще реализовать можно, то удаление – увы и ах. То же самое с проверкой. "
А можно сделать так, чтобы программа не вываливалась на таких файлах, а просто пропускала?
Ну и как бонус, вывести все файлы в лог, чтобы потом вручную, при желании, почистить?
"Их можно обработать вручную."
Ну у всех архивы разные, и я не уверен, что их десяток.
+Настройки для расположения лог файла не сохраняются
+Слетают системные переменные (не верится, что у Алексея нет обработчика ошибок!)
+Почищенный вручную файл (Removeallproxy, explodeallproxy, audit/y, purge/all) все равно не обрабатывается.
BP на нем спотыкается и вываливается, с теми же признаками
"Их можно обработать вручную."
Ну у всех архивы разные, и я не уверен, что их десяток.
+Настройки для расположения лог файла не сохраняются
+Слетают системные переменные (не верится, что у Алексея нет обработчика ошибок!)
+Почищенный вручную файл (Removeallproxy, explodeallproxy, audit/y, purge/all) все равно не обрабатывается.
BP на нем спотыкается и вываливается, с теми же признаками
ЗЫ. Какой-то баг с сайтом. Забыл отметить галочку "Я не робот", вернулся назад, а опубликовать не могу. Говорит "Повторное сообщение удалено"
Так, сегодня у меня точно не получится Работы накидали, я ничего не успеваю
Если удастся в воскресенье поиграться, результат выложу.
Алексей, подскажи пожалуйста, почему после запуска скрипта в диалоговом окне вместо текста закорючки? Как это исправить?
Windows 7 x64, Autocad 2012 x64 Rus.
Подозреваю, что при записи исходника была использована кодировка не-Windows. Советую переоткрыть lsp в том же Notepad++ и там поменять кодировку. Потом lsp-файл сохранить и снова загрузить в AutoCAD.
Алексей,
подскажи какая кодировка в lisp ?
иногда при создании кодов кракозябра в lispe из кирилицы
Кодировка ANSI (Windows-1251).
Привет!
Сегодня заметили, что после очистки сбрасывается тип стрелки в Мультивыноске. Т.е. часть была стрелка, а часть засечка. После все стало стрелка.
1. Возможно как-то исправить?
2. это Purge только пакетный? Что-то белее чистит:(я не читал ветку комментов)
Евгений, вычлени два примитива - один с изменяющейся стрелкой, второй с неизменной. Вышли мне, посмотрю.
"Побелее" - это либо руками, либо http://autolisp.ru/2014/03/24/clear-dwg-at-opening/
2. это Purge только пакетный?. Торопился...
BP - это продвинутый Purge + пакетный?
BP что/как чистит?
файл завтра пришлю с работы.
Проверил дома. ACAD 2013 x64/
новый чертеж
вставил мультивыноску со стрелкой
вставил мультивыноску рядом с засечкой или любой другой вид.
сохранил, закрыл и почистил - стрелки сбросились.
Вытекающее: что еще может сброситься, если не исправиться?
Ок, пойдем по-другому. Если выполнить штатные очистки - что будет? Если выполнить очистку от прокси - что будет?
Если будет сегодня время - попробую создать файл с мультивыносками и посмотреть, что будет.
Да, кстати! Менялись свойства конкретной выноски или настройки стиля?
1. _purge - штатная . Все хорошо. Выноска не сбрасывается
2. _purge - ВР. (остальное включено). - Сбрасывается
3. ВР _purge - выключено, не сбрасывается
4. от прокси - файл новый, прокси нет, чистил (найдено/удалено 0)
5. _Audit - ошибок нет
п.4 п.5 после очистки ВР - по нулям
проблема в _purge - ВР.
ни чего нового?
Просто было не вздохнуть...
Выяснил я, в чем дело. Если в стиле MLEADER или в объекте MLEADER переназначены стрелки с "Closed Filled" на любую другую - хоть из штатной поставки ACAD, хоть из ручного варианта - ACAD при обработке неактивного документа почему-то считает, что такой блок можно удалять. Можно, конечно, попытаться исключить такие моменты - но скорость упадет нереально, поскольку понадобится принудительно проходить по всем элементам чертежа, коллекционировать имена блоков / слоев / типов линий / размерных и текстовых стилей, и потом уже выполнять чистку. Это будет кошмар.
Тут уж проще будет сформировать scr-файл и подсунуть его в консольный ACAD.
Т.е. решение будет? или самостоятельно?
Шикарная прога. с 2013 года выручает. Сегодня ею мёртвый DWG файл удалось воскресить.