Пакетная очистка файлов dwg

Захотелось мне создать такой мини-опрос :)

Известно, что нередки ситуации, когда надо сто-двести-пятьсот файлов очистить от мусора. Известно, что есть решения на том же dwg.ru / caduser.ru / cadtutor.net / theswamp.org etc, решающие такие вопросы.

Собственно вопрос - надо ли создавать код для таких задач? Будет он использоваться? Вообще - надо ли? Или оставить все как есть?

Прошу ответы в комментариях. В ответах не приводите никаких ссылок (иначе срабатывает спам-бот, комментарий может запросто свалиться в спам, и его никто не увидит).

Version 0.1.0; исходник.
Ошибки и пожелания

  1. Для 2013 и 2014 версиий AutoCAD добавить проверку и удаление проксиобъектов


Комментарии

Есть 74 коммент. к “Пакетная очистка файлов dwg”
  1. Smog пишет:

    Заработало, когда я снял атрибут "только чтение" с файлов. 
    ошибок не выдавал про толькочтение
    еще бы сюда _audit и удаление vba.....
    ;)

  2. Кулик Алексей aka kpblc пишет:

    Есть предложение: в диалоге устанавливается флажок "вести лог", а содержимое лога предоставить сюда. Тогда хоть что-то будет понятно (ну, по крайней мере, я на это надеюсь).

  3. Smog пишет:

    ставил, в лог ничего не записывал :) я бы выложил. ну в любом случае, проблема отпала ) 
    так какие проблемы с _audit? 

  4. Кулик Алексей aka kpblc пишет:

    Очень странно, что лога не было.
    С проверкой пока все не очень гуд: время как-то кончилось. Если сегодня с основной работой более-менее получится, попробую продолжить ковырять.

  5. Кулик Алексей aka kpblc пишет:

    Вчера ковырялся с консольным AutoCAD'ом. Спасибо Евгению Елпанову, подсказал некоторые моменты.

    Тем не менее, результаты неутешительные:

    1. ExplodeProxy*.arx загрузить в консольный AutoCAD не удается. В чем причина - не знаю, но сильно подозреваю, что это не лечится априори (откровенно говоря, мне не удалось загрузить в консольный AutoCAD ни один из существующих arx'ов. Загрузку выполнял как минимум 2 способами: и через функцию arxload, и через команду arx. Результат нулевой.
      Поэтому при работе через консоль про корректное удаление и разбиение прокси можно практически забыть.
    2. Есть альтернативный вариант: создать новый экземпляр AutoCAD и в него загружать файлы. Но и тут не все здорово:
      • установить (и потом вернуть обратно) системные переменные demandload и secureload не проблема, но этого мало. При работе с вертикальными приложениями (типа AA / MEP etc) достаточно просто открыть менеджер слоев, чтобы загрузились некоторые модули, которые сделают интеллектуальные объекты вертикалок "не прокси". Т.е. надо предварительно закрыть диспетчер слоев; перезапустить AutoCAD; снова запустить пакетную обработку. ИМХО не гуд.
      • в AutoCAD 2014 при создании нового экземпляра приложения и открытии в нем файла с "ненайденными" файлами шрифтов / форм или файлами ссылок вроде бы никакого диалогового окна не появляется. Но - это у меня и только на 2014 (как дело будет обстоять в других версиях - пока не знаю; проверить нет возможности)

      Хотя такой подход позволяет и arx загрузить, и проверку файла выполнить, и параметрические зависимости поудалять (то, что мне лиспом сделать не удалось, сколько ни пытался), и командные реакторы подключить при необходимости. Но достаточно слабая гарантированность результата сводит все плюсы к нулю :(

    Как результат - даже не знаю, имеет ли смысл дальше пытаться что-то сделать. Или оставить как есть и черт с ним?

  6. Smog пишет:

    А сейчас тестовая версия очистки прокси как работает? 

  7. Кулик Алексей aka kpblc пишет:

    На тех файлах, которые ко мне приходили, срабатывало вроде корректно.

  8. Антон пишет:

    Акад 2014, почему в появившемся окошке все надписи заменены на символы?

  9. Кулик Алексей aka kpblc пишет:

    Win7 x 64 Pro; ACAD 2014 Eng x64 + SP1; ACAD 2014 Rus x64 + SP1: диалог отображается корректно. Какие у Вас настройки ОС и ACAD'a?

  10. Антон пишет:

    Win7 x 64 Pro; ACAD 2014 Rus x64 + SP1, а что подразумевается под настройками ОС и Акад?

  11. Кулик Алексей aka kpblc пишет:

    Имелись в виду прежде всего обновления на Win и на ACAD.
    Странно... Только что подключился к домашней машине (Win 7 Ultimate x64; ACAD 2014 Eng / Rus + SP1) - диалог формируется вполне нормально. Попробуйте в проводнике Windows в адресной строке вбить %temp% (прямо так, с процентами в начале и в конце), нажать Enter, найти подпапку kpblc, в ней - подкаталог с именем текущего профиля AutoCAD и там файл dlg.dcl. Откройте его в Блокноте - там нормальные символы или чертовщина какая-то?

  12. Антон пишет:

    Такие же кракозябры

  13. Антон пишет:

    Акад с последним SP и раз в квартал производится обновление системы (машина рабочая)

  14. Кулик Алексей aka kpblc пишет:

    Оччень интересно. Получается, что запись файла dcl выполняется криво? Попробую выяснить, в каких случаях это возможно и как это обходить. Прошу паузы.

  15. Кулик Алексей aka kpblc пишет:

    О, пока не забыл! Логин пользователя на английском или там есть кириллица? И в AutoCAD выполните строку
    (getvar "cprofile")
    Ответ приведите здесь.

  16. Антон пишет:

    У нас все профили идут на латинице и пароли тоже

    Команда: CPROFILE

    CPROFILE = "Акад2012" (только чтение)

  17. Кулик Алексей aka kpblc пишет:

    Ничего не понимаю... А Вы копировали текст с браузера или сохраняли его как lsp?

  18. Антон пишет:

    Копировал текст с браузера, создавал новый LISP через редактор, ну может единственный вариант, что я его запускал не с диска C, а с диска D (не хватает прав для копирования в системный диск)

  19. Кулик Алексей aka kpblc пишет:

    Попробуйте скопировать текст в блокнот или Notepad++ и оттуда сохранить как lsp. Можно попробовать и из браузера: правый клик на ссылке - сохранить объекта как:

  20. Антон пишет:

    Нажал сохранить как, потом переименовал (поменял расширение) и все стало отображаться корректно

  21. Антон пишет:

    Открыл текстовое окно по окончанию и там было написано
    Команда: BP
    Регенерация модели - кэширование видовых экранов.
    ; ошибка: аргумент не является ошибкой vl-catch-all-apply: "Ошибка Automation. Отсутствует описание."

    Это нормально?

  22. Кулик Алексей aka kpblc пишет:

    Так, есть предложение связаться через почту (адрес доступен по ссылке http://autolisp.ru/about/ ). Можно "поковыряться" в конкретной ситуации через, например, TeamViewer - он бесплатен и может работать без установки.

  23. bernata пишет:

    Антон ,
    поиграйтесь с Regional options в системе - всё пройдет.

    Алексей,
    а можно ли сделать так, что бы после обработки файлов дата последнего изменения и версия акада сохранялись ?
    Или хотябы что бы можно было выбирать версию для сохранения файла (как это реализовано в пакетной обработке файлов ToolPak) ?

  24. Кулик Алексей aka kpblc пишет:

    К сожалению, это невозможно: механизм ObjectDBX использует сохранение только в текущей версии. В принципе, попробовать сохранять дату и время файла попробовать можно - но я пока не представляю, как это можно сделать только лиспом.

  25. bernata пишет:

    После проверки на локальной машине, рискнул попробовать на корпоративном сервере :) Программа совершенно спокойно обходит файлы "read only", сбои были при встрече каталогов с длиной пути более 255 символов (как такие каталоги вобще могли быть созданы - ума не приложу). Ещё при наличии "кракозябельных" символов в пути файла происходит отказ.
    Но это ошибка вызвана настройками системы, а не недочётом в проге (имхо).

    Результаты более чем удовлетворительные.
    Освободил 10-15% места на сервере. Жалоб о "битых" файлах не поступало (прошло 2 недели активного юзания почищенного сервера).

    Спасибо Алексей !!!

Поделитесь своим мнением


Я не робот.