Форумы Проектант
Размещение
рекламы



   @proektant.
ПОИСК ПО ФОРУМАМ
перед созданием новых тем используйте поиск,
возможно ответ на Ваш вопрос уже есть на форумах

Расширенный поиск
 
Всего пользователей - 19650
Всего тем - 26981
Всего сообщений - 252198
Страниц: [1]   Вниз
ВЕРСИЯ ДЛЯ ПЕЧАТИ

AutoCAD. Пакетная очистка файлов чертежей

Количество просмотров - 1794
(ссылка на эту тему)
Temniydrakon
Участник форумов


Сейчас отсутствует Сейчас отсутствует
Сообщение #1 : 31 Января 2019 года, 16:38
(ссылка на это сообщение)

Здравствуйте

Появился вопрос, в фирме имеется постоянный поток "грязных" чертежей от подрядчиков, которые надо чистить.
Возможно ли написать какой-то скрипт или макрос для автокада, чтобы очищать их от всякого мусора?
doctorRaz
***
Куратор

Мастерская СПДС
Сейчас отсутствует Сейчас отсутствует
 
Сообщение #2 : 31 Января 2019 года, 17:10
(ссылка на это сообщение)

возможно
какого рода  мусор?
версия AutoCad на которых будет производиться чистка.
желательны образцы файлов

Конструктор (Волгоград, Россия)
Supermaksik
**
Активный участник форумов


Сейчас отсутствует Сейчас отсутствует
 
Сообщение #3 : 31 Января 2019 года, 19:37
(ссылка на это сообщение)

Попробуйте Drawing Purge от Ajilal Vijayan.

Инженер-электрик (Вологда, Россия)
Евгений ТХ
**
Активный участник форумов


Сейчас отсутствует Сейчас отсутствует
 
Сообщение #4 : 01 Февраля 2019 года, 05:48
(ссылка на это сообщение)

Вы хотите, чтобы программа сама распознавала - где нужное, а где ненужное?

Инженер-технолог (Костанай, Казахстан)
Temniydrakon
Участник форумов


Сейчас отсутствует Сейчас отсутствует
 
Сообщение #5 : 01 Февраля 2019 года, 13:26
(ссылка на это сообщение)

возможно
какого рода  мусор?
версия AutoCad на которых будет производиться чистка.
желательны образцы файлов

autocad 2016 sp1
мусор - проски графика, неудаляемые блоки, геометрические зависимости, несогласованные слои, может еще что-то чего я не знаю
примеры прилагаю(3 не влез - 17 Мб))

----- добавлено 01 Февраля 2019 года, 13:27 -----


----- добавлено 01 Февраля 2019 года, 13:32 -----
Вы хотите, чтобы программа сама распознавала - где нужное, а где ненужное?
В идеале да, но я понимаю что нюансов много) поэтому какое-то универсальное решение, хорошо если подойдет для чистки 70-80% чертежей
* 1.dwg
(10160.06 Кб)  [скачать]  [загрузок: 10]
* 2.dwg
(6909.55 Кб)  [скачать]  [загрузок: 9]
Антониони
****
Активный участник форумов


Сейчас отсутствует Сейчас отсутствует
 
Сообщение #6 : 02 Февраля 2019 года, 19:21
(ссылка на это сообщение)

1. Переконвертил в 2007
2. Скопировал в новый файл
3. Purge (очистить)
* 1_1.dwg
(219.09 Кб)  [скачать]  [загрузок: 4]

Проектировщик КИП (Самара, Россия)
doctorRaz
***
Куратор

Мастерская СПДС
Сейчас отсутствует Сейчас отсутствует
 
Сообщение #7 : 02 Февраля 2019 года, 20:59
(ссылка на это сообщение)

    Вы хотите, чтобы программа сама распознавала - где нужное, а где ненужное?
    хех)) конечно программа знать не может, что нам нужно...
    Например flatten или overkill, могут и делов наделать, но на то мы и человеки, что бы решать когда и что делать программе))
    В идеале да, но я понимаю что нюансов много) поэтому какое-то универсальное решение, хорошо если подойдет для чистки 70-80% чертежей
    Такое решение есть уже давно
    bat+scr
    Плюс такого подхода...
    1. *.bat - позволяет производить пакетную обработку файлов (в т.ч. и во вложенных каталогах)
    2.*.scr - позволяет выполнять команды АК в открытом файле напрямую, либо подгружать лиспы *.dvb,  NETсборки и выполнять команды из них.
    3. Нет никакого программирования, все просто и прозрачно, из инструментов нужны интернет с гуглом и блокнот)))
    4. Пользователь всегда может добавить нужные ему сейчас команды в скрипт, либо закомментировать ненужные.
    -------------
    Минусы конечно есть... нужно разбираться и понимать, как это работает.
    Кому лениво, есть AutoScript, ScriptPro так же этим вопросом занимался крыс и другие Гуру AutoCAD, но если мы не хотим ни от кого зависеть, то лучше процесс взять в свои руки
    Итак поехали...
    --------------
    Сам скрипт, максимально упростил
    (setvar "LAYEREVAL" 0)(setvar "LAYEREVALCTL" 0)(setvar "LAYERNOTIFY" 0) - процедура лисп, согласовывает слои
    EXPLODEALLPROXY -  разбивает прокси объекты (разработка  А. Ривилиса, NET сборку можно скачать с его странички, один раз загрузить в АК, потом будет подгружаться сам при вызове команды.)
    (load "d:\\!clean\\clean.LSP") - подгружаем лисп программу в текущий чертеж.
    ВАЖНО!! путь необходимо изменить на свой.
    DR - команда из подгруженной выше лисп программы (от уважаемого крыс и VVA) удаляет словари которые не АК, делает очистку чертежа (purge), делает проверку чертежа (audit)
    WBOUT - команда из подгруженного лисп, сохраняет ВЕСЬ ЧЕРТЕЖ  ПБЛОК (wblock) в папку ТЕМП
    _qsave - сохраняемся
    _QUIT - закрываемся
    [/list]
    Код:
    (setvar "LAYEREVAL" 0)(setvar "LAYEREVALCTL" 0)(setvar "LAYERNOTIFY" 0)
    EXPLODEALLPROXY
    (load "d:\\!clean\\clean.LSP")
    DR
    WBOUT
    _qsave
    _QUIT
    В этот скрипт каждый по желанию и необходимости по аналогии может добавить нужные лично ему команды и (или) процедуры.
    -----------------
    собственно *.bat файл
    В цикле поочередно перебираем файлы с расширением *dwg и параметром запуска этот путь передаем АК.
    Параметр /r (рекурсия) читать файлы в подпапках, если убрать будет открывать файлы только в текущем каталоге.
    /b "d:\!clean\clean.scr" - путь к файлу сценария, который разобрали выше.
    ВАЖНО необходимо путь изменить на свой, путь и имя файла не должен содержать символов кириллицы!!!!
    ВАЖНО! путь к AutoCAD нужно изменить на свой
    ВАЖНО профиль  АК /p "Spds 12" нужно изменить на свой
    т.к. WBOUT положил ПБЛОК в папку темп, надо его оттуда вернуть в исходную директорию, этим и занимается строка
    move /Y "%temp%\%%~nxA" "%%A"
    pause - ниче не делает, вернее не дает закрыть окно консоли, чисто потом посмотреть чего этот батник делал.
    Код:
    @ECHO OFF
    FOR /r %%A IN (*dwg) DO (
    echo Processing %%A
    "c:\Program Files\Autodesk\AutoCAD 2016\acad.exe" "%%A" /language "ru-RU" /product "ACAD" /p "Spds 12" /nologo /b "d:\!clean\clean.scr"
    echo Moving "%%A"
    move /Y "%temp%\%%~nxA" "%%A"
    )
    pause
    ------------------
    если АК старше 2015, т.е. 2014,2013 и т.д. команда purge не сможет очистить файл от непривязанных данных (DGN)
    ---------
    Как использовать..
    Распаковываем архив, папку !clean закидываем в любое удобное место (см. рекомендации по кириллице выше)
    В файлах чистка.bat и clean.scr исправляем пути в соответствии с местными условиями.
    Закидываем файл чистка.bat в директорию в которой будем чистить dwg, запускаем и идем пить кофе)))
    Думаю излишне напоминать, что стоит попробовать на небольшом количестве файлов, так ли все работает и не удаляет чего лишнего)). В любом случае оригиналы из  *.BAK никуда не делись))
    Ну и код и идея As Is, пользователь применяет на свой страх и риск.
    ------
    хех объемненько получилось, ну форум жэж, что непонятно спрашиваем.
    один раз настроить и потом вычищать 100500 файлов автоматом... думаю стоит того))
    * чистка.zip
    (1.29 Кб)  [скачать]  [загрузок: 13]

    Конструктор (Волгоград, Россия)
    Антониони
    ****
    Активный участник форумов


    Сейчас отсутствует Сейчас отсутствует
     
    Сообщение #8 : 02 Февраля 2019 года, 22:38
    (ссылка на это сообщение)

    EXPLODEALLPROXY -  разбивает прокси объекты (разработка  А. Ривилиса, NET сборку можно скачать с его странички, один раз загрузить в АК, потом будет подгружаться сам при вызове команды.)
    Насколько я помню, после этой команды рекомендуется удалить прокси и провести проверку
    _REMOVEALLPROXY
    _AUDIT

    Проектировщик КИП (Самара, Россия)
    doctorRaz
    ***
    Куратор

    Мастерская СПДС
    Сейчас отсутствует Сейчас отсутствует
     
    Сообщение #9 : 03 Февраля 2019 года, 07:51
    (ссылка на это сообщение)

    Насколько я помню, после этой команды рекомендуется удалить прокси и провести проверку
    _REMOVEALLPROXY
    _AUDIT
    согласен, удаление прокси после разбивки можно добавить на всякий случай,
    проверка чертежа в скрипте есть...
    скрипт с батником выше это удочка и леска с крючком
    каждый сможет поймать свою рыбу.
    ЗЫ в моем боевом есть еще  superflatten и overkill, но другим они могут принести больше вреда, чем пользы

    Конструктор (Волгоград, Россия)
    Temniydrakon
    Участник форумов


    Сейчас отсутствует Сейчас отсутствует
     
    Сообщение #10 : 04 Февраля 2019 года, 15:12
    (ссылка на это сообщение)

     DoctorRaz, пакетно очистил пару десятков файлов,  скрипт отработал на ура, спасибо огромное))
    Лекс
    ***
    Активный участник форумов


    Сейчас отсутствует Сейчас отсутствует
     
    Сообщение #11 : 04 Февраля 2019 года, 22:11
    (ссылка на это сообщение)

    DoctorRaz, мощное решение. Замечу лишь, что Drawing Purge от Ajilal Vijayan также умеет выполнять пакетную глубокую очистку файлов, только с прокси-графикой ничего не делает.

    Инженер-технолог (Омск, Россия)
    doctorRaz
    ***
    Куратор

    Мастерская СПДС
    Сейчас отсутствует Сейчас отсутствует
     
    Сообщение #12 : 05 Февраля 2019 года, 09:25
    (ссылка на это сообщение)

    Кстати, начиная с версии AutoCAD 2013, программа имеет еще и консольный вариант c:\Program Files\Autodesk\AutoCAD 2018\accoreconsole.exe
    Что дает нам это знание?
    если в батнике из #7 заменить строку
    Код:
    "c:\Program Files\Autodesk\AutoCAD 2018\acad.exe" "%%A" /language "ru-RU" /product "ACAD" /p "Spds 12" /nologo /b "z:\clean_DWG\cleanConsole.scr"
    на
    Код:
    "c:\Program Files\Autodesk\AutoCAD 2018\accoreconsole.exe" /i "%%A" /s "z:\clean_DWG\cleanConsole.scr" /l "en-US"
    естественно поправив пути к автокаду и скрипту на свои
    то обработка десяти файлов из  сообщения #5  (пять №1, пять №2) сокращается с 10 минут (на моей машине) до одной!!!!
    но есть и ложки дегтя:
    1. EXPLODEALLPROXY - работать в консоли не будет, по крайней мере мне не удалось,
    upd 18.03.19 таки будет если сборке ExplodeProxy_ххххх*.arx заменить расширение на *.crx и разочек подгрузить в АК
     но  учитывая, что консольная версия не подгружает вертикалки, то возможно в этом случае от разбивки прокси будет больше вреда, чем пользы.
    2. не работают лиспы и команды которые предполагают выбор объектов чертежа (например SuperFlatten)
    --------------
    тем не менее по быстрому  пакетно очистить несколько чертежей от:
    -неиспользуемых объектов (PURGE),
    -непривязанных данных (DGN),
    -словарей сторонних приложений (DR),
    -неудаляемых блоков (ПБЛОК)
    вполне годное решение, тем более, что запустив чистку из консоли вполне можно продолжить заниматься своими делам, открываемые окна перед глазами не мельтешат))
    ---------------
    в скрипт добавил:
    -включает и размораживает все слои,
    -включает маскировки,
    -отдельный прогон PURGE (DR вычищает не все)
    -лисп очистки от неиспользуемых ссылок на чертежи и рисунки (в консоли ругается, но чистит)
    --------------
    в батник добавил вывод общего времени очистки (вдруг, кто не поверит, ну и самому интересно  было))))
    ------------------
    Важно!!! не забываем поправить пути в файлах *.BAT и *.SCR на свои.
    ---------------
    upd  
    Рис_ 1.jpg
     
    * Рис_ 1.jpg
    (252.54 Кб, 866x524)  [скачать]  [загрузок: 58]
    * clean_DWG.zip
    (33.62 Кб)  [скачать]  [загрузок: 9]

    Конструктор (Волгоград, Россия)
    Yandex
    Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью.
    Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.
    Страниц: [1]   Вверх
    ВЕРСИЯ ДЛЯ ПЕЧАТИ



    Сейчас Вы - Гость на форумах «Проектант». Гости не могут писать сообщения и создавать новые темы.
    Преодолейте несложную формальность - зарегистрируйтесь! И у Вас появится много больше возможностей на форумах «Проектант».


    Здравствуйте, Гость
    Сейчас Вы присутствуете на форумах в статусе Гостя.
    Для начала общения надо зарегистрироваться или пройти авторизацию:
    Вам не пришло письмо с кодом активации?
     
     
      (забыли пароль?)  
       

    если Вы не зарегистрированы, то
    пройдите регистрацию
    Создать тему


    Последние сообщения на форуме «Программное обеспечение Autodesk»
    автор: Евгений Е.
    14 Апреля 2019 года, 05:42

    автор: Valery Brelovsky
    11 Апреля 2019 года, 09:36

    автор: Gedezuk 5
    10 Апреля 2019 года, 15:44

    автор: Gedezuk 5
    10 Апреля 2019 года, 15:43

    автор: doctorRaz
    18 Марта 2019 года, 12:39

    автор: St-u-d-e-nt
    17 Марта 2019 года, 02:13

    автор: Offroader 10052
    16 Марта 2019 года, 15:35

    автор: Valery Brelovsky
    12 Марта 2019 года, 08:29

    автор: Trust Me
    04 Марта 2019 года, 11:28

    01 Марта 2019 года, 12:48

    автор: Barmaley
    27 Февраля 2019 года, 22:46

    автор: doctorRaz
    18 Февраля 2019 года, 07:56

    автор: doctorRaz
    14 Февраля 2019 года, 19:19

    автор: doctorRaz
    05 Февраля 2019 года, 09:25

    автор: doctorRaz
    04 Февраля 2019 года, 14:55

    Последние 10 cообщений чата:
    16 Апреля 2019 года, 12:40
    Добрый!
    16 Апреля 2019 года, 11:04
    Добрый день, коллеги.
    20 Марта 2019 года, 14:16
    спасибо!
    07 Марта 2019 года, 15:47
    Всех девчонок с наступающим!
    27 Февраля 2019 года, 09:55
    Доброго дня всем) Может есть тут кто делает проекты на учет сточных вод с ИП? Есть работка. [подмигиваю]
    19 Февраля 2019 года, 17:33
    всем привет!! У нас солнце и как будто весна!)))
    13 Февраля 2019 года, 22:29
    Приветствую всех.
    06 Февраля 2019 года, 15:33
    Доброго дня всем.
    01 Февраля 2019 года, 16:11
    В новый год с новым дизайном) Ждем новых полезных функций!
    28 Января 2019 года, 14:01
    Добрый день. У нас обновился сайт proektant.ru ( https://www.proektant.org/index.php?topic=46188.0 )

    Сейчас на форуме:
    Сейчас на форумах: гостей - 226, пользователей - 1
    Имя присутствующего пользователя: Омон
    Контактные данные | Рекламно-информационные услуги | Баннерная реклама | Партнёрская программа | Подробная статистика
    Настройка форумов © «Проектант» | Конфиденциальность данных
    Powered by SMF 1.1.23 | SMF © 2017, Simple Machines