| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Очистка чертежа от мусора

LISP. Очистка чертежа от мусора

Ответ
Поиск в этой теме
Непрочитано 18.08.2014, 16:15 11 |
LISP. Очистка чертежа от мусора
gomer
 
строю, ломаю
 
Украина
Регистрация: 03.04.2008
Сообщений: 5,515

Выкладываю пилотный проект программы по очистке чертежа. Код не мой, я просто собрал кое-что до кучи
Надеюсь кому-нибудь да поможет

Применение
- Загрузить CleanDWG.vlx в автокад или CleanDWG.des в bricscad
- В командной строке набрать CLEANDWG

Замеченные ошибки
В Autocad 2013 En русские буквы в диалоговом окне отображаются некорректно. Обсуждение проблемы тут

Критика и предложения приветствуются

История изменений
31.03.2014 Программа обновлена до версии 1.3

Миниатюры
Нажмите на изображение для увеличения
Название: CleanDWG13.png
Просмотров: 7699
Размер:	39.4 Кб
ID:	147269  

Вложения
Тип файла: zip CleanDWG13.zip (19.1 Кб, 12440 просмотров)


Последний раз редактировалось gomer, 16.03.2016 в 18:02.
Просмотров: 181431
 
Непрочитано 03.12.2017, 00:34
#101
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Кстати, разве вызовы vla-startundomark и vla-endundomark не должны идти парными группами? В лиспе метку завершения группы отмены вижу только в локальном обработчике *ERROR*.
Сергей812 вне форума  
 
Непрочитано 03.12.2017, 01:29
#102
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Сергей812, ну так *error* и вызывается принудительно в конце. Как меня в своё время учил gomer, если строчки друг друга повторяют, смысл приводить их два раза? Ладно тут только метка отмены. А если в коде нужно обеспечить возврат к первоначальным значениям нескольких десятков переменных? Повторять придется уже не одну строку. Подход gomer'a мне пришелся по душе и я его перенял.
skkkk вне форума  
 
Непрочитано 03.12.2017, 02:03
#103
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


не совсем логично вызывать в конце успешного завершения функции обработчик ошибок) Да и много он сэкономил строчек в данном случае? Из-за дополнительной проверки
Код:
[Выделить все]
 (if msg
      (princ (strcat "\n" msg))
    ) ;_ конец if
на две строчки больше.
Сергей812 вне форума  
 
Непрочитано 03.12.2017, 02:11
| 1 #104
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Цитата:
Сообщение от superkot007 Посмотреть сообщение
кто бы это мог сделать с соответствующей квалификацией и знаниями.
Добро пожаловать в "Поиск исполнителей"
Да, кстати, пока сообразил: в Autodesk AppStore есть пакетные "чистилки" файлов.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 03.12.2017, 02:47
1 | 1 #105
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Offtop:
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
не совсем логично вызывать в конце успешного завершения функции обработчик ошибок)
А с другой стороны не совсем, что ли, профессионально (или как правильней сказать) писать одни и те же куски кода более одного раза. Для меня тоже тогда такой подход показался странным.
Можно, конечно, добавить функцию, которая будет обеспечивать восстановление системы к первоначальному состоянию, ставить конечную метку отмены, удалять временные примитивы, делать регенерацию и т.д. и т.п., а затем вызывать ее в конце кода, или внутри обработчика ошибок. Логичнее? Пожалуй. Лаконичнее? Нет. Но более важный вопрос: это может чему-то помешать или быть в корне в чём-то неверным? Вряд ли. Поэтому принципиальной разницы в этих подходах не вижу. А экономия на дополнительных телодвижениях по созданию дополнительной функции возврата среды или повтору кусков кода в начале и в конце программы - налицо. Только и всего.


----- добавлено через ~11 мин. -----
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Добро пожаловать в "Поиск исполнителей"
Может, лучше для начала обратиться к gomer'у в личку? Кстати, сообщения в личке скорее всего, сопровождаются уведомлением на почту. Это к тому, что вдруг возникнут сомнения в частоте посещении им форума.
skkkk вне форума  
 
Непрочитано 03.12.2017, 08:22
2 | 1 #106
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от superkot007 Посмотреть сообщение
кто бы это мог сделать с соответствующей квалификацией и знаниями.
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Да, кстати, пока сообразил: в Autodesk AppStore есть пакетные "чистилки" файлов.
Я использовал пару раз Drawing Purge там есть команда DWG-PURGE-BATCH
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 03.12.2017, 09:58
#107
superkot007


 
Регистрация: 15.01.2010
Сообщений: 254


VVA, то, что доктор прописал, спасибо! Радует, что бесплатная, есть русский язык и куча настроек)
Минусов, правда, два - нужна установка (на работе все установки только админские) и поддержка с 2012 версии (многие сидят на 2008).
Хотя, установку, думаю, можно обойти, распаковав инсталлятор и прописав нужные пути в настройках AutoCAD...

Хотя не все так радужно - каждый файл при последующем открытии требует восстановления, если выбрать другую версию формата dwg

Последний раз редактировалось superkot007, 03.12.2017 в 12:50.
superkot007 вне форума  
 
Непрочитано 03.12.2017, 14:59
#108
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Offtop:
Цитата:
Сообщение от skkkk Посмотреть сообщение
Поэтому принципиальной разницы в этих подходах не вижу. А экономия на дополнительных телодвижениях по созданию дополнительной функции возврата среды или повтору кусков кода в начале и в конце программы - налицо. Только и всего.
принципиальную разницу увидите, если придется копаться в чужом коде такого же "оптиматизатора") Для себя можно писать как удобно, конечно.
Сергей812 вне форума  
 
Непрочитано 23.04.2018, 21:04
1 | #109
Денис_Ск


 
Регистрация: 23.04.2018
Сообщений: 2


Супер! Специально зарегился, чтобы спасибо Вам сказать. Все перепробовал - спасла только Ваша программа!
Денис_Ск вне форума  
 
Непрочитано 16.10.2018, 00:20
#110
Gregory_father


 
Регистрация: 16.10.2018
Сообщений: 1


Подскажите, существует ли способ пакетной очистки группы файлов. Их более 100 шт., вручную долго...
Gregory_father вне форума  
 
Непрочитано 16.10.2018, 00:38
#111
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Хм, что мешает прокрутить ветку назад до 106 поста?
Сергей812 вне форума  
 
Непрочитано 03.10.2019, 10:58
#112
allar8


 
Регистрация: 12.03.2013
Сообщений: 650


Люди подскажите плиз, может есть киде готовое решение по очистке неактуального содержимого из диспетчера внешних ссылок? Т.е. задача удалять потерянные ссылки без вызова диспетчера вш. ссылок, т.е. как говорится в одно касание, т.е. одной командой.
allar8 вне форума  
 
Непрочитано 28.07.2020, 04:20
#113
КонстСергей

Проектировщик
 
Регистрация: 25.07.2020
Челябинск
Сообщений: 5


Впервые пытаюсь воспользоваться возможностями LISP. В данном случае - Вашим кодом.
Команда прошла (см. screen 1.png). Правда, слегка "ругнулась" в конце (см. screen 2.png).
После сохранения файла его объем - больше 8 Мб.
Что-то пошло "не так"?
Миниатюры
Нажмите на изображение для увеличения
Название: screen 1.png
Просмотров: 319
Размер:	40.5 Кб
ID:	228623  Нажмите на изображение для увеличения
Название: screen 2.png
Просмотров: 310
Размер:	6.1 Кб
ID:	228624  
КонстСергей вне форума  
 
Непрочитано 28.07.2020, 04:25
#114
КонстСергей

Проектировщик
 
Регистрация: 25.07.2020
Челябинск
Сообщений: 5


К предыдущему сообщению - сам файл

----- добавлено через ~2 ч. -----
Наконец получил ожидаемый результат.
Разработчикам кода - спасибо!
Вложения
Тип файла: dwg
DWG 2013
КР2.dwg (7.30 Мб, 39 просмотров)
КонстСергей вне форума  
 
Непрочитано 28.07.2020, 06:40
#115
futyn2


 
Регистрация: 14.11.2011
Сообщений: 30


Почистил. Видовые экраны надо будет заново создать.
Вложения
Тип файла: dwg
DWG 2013
КР2_ч.dwg (316.3 Кб, 44 просмотров)
futyn2 вне форума  
 
Непрочитано 28.07.2020, 06:46
#116
КонстСергей

Проектировщик
 
Регистрация: 25.07.2020
Челябинск
Сообщений: 5


Цитата:
Сообщение от futyn2 Посмотреть сообщение
Почистил. Видовые экраны надо будет заново создать.
У меня удачно почистилось. Все, включая видовые экраны, сохранилось
КонстСергей вне форума  
 
Непрочитано 09.09.2020, 09:49
#117
danil19953


 
Регистрация: 09.09.2020
Сообщений: 1


Спасибо, всё работает, у меня получилось сделать, результат есть. Теперь копирует быстро и размер файла уменьшился.
danil19953 вне форума  
 
Непрочитано 30.09.2020, 11:36
#118
pitbul


 
Регистрация: 20.11.2008
Сообщений: 11


Дякую. Гарна штука
pitbul вне форума  
 
Непрочитано 20.01.2021, 12:32
#119
kiplilek

Проектировщик
 
Регистрация: 12.11.2015
Orenburg
Сообщений: 1


Спасибо! AutoCad 2014, файлы очищены от мусора. В работе с "грязными" файлами - просто глоток свежего воздуха.
Было: после копирования из другого файла dwg, файлы весили не меньше 4,5 Мб, даже если оставить одну линию и почистить пургеном, прокси и т.д. по списку из "dwg.ru - уменьшение размера dwg". Не понимаю, что удаляет программа, но после ее использования проблема с копированием исчезает!!!)
kiplilek вне форума  
 
Непрочитано 19.08.2021, 08:25 gomer Спасибо Дорогой!
#120
Роман Р.


 
Регистрация: 16.08.2021
Сообщений: 6


Решил програмкой задачу которую месяца два пытался! Вот это СИЛА!!!
Роман Р. вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Очистка чертежа от мусора

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему очистка чертежа не выполняется при наличии Object Enabler? Xara AutoCAD 15 03.07.2014 11:50
Создание шаблона и очистка чертежа Сержик AutoCAD 9 14.02.2013 23:06
LISP. Как запустить LISP программу при создании чертежа по шаблону? (Автоматическое заполнение основной надписи) Do$ LISP 25 22.06.2011 15:39
очистка скана от мусора grozd62 Прочее. Программное обеспечение 4 04.04.2011 21:41
LISP для очистки чертежа от дублирующихся объектов Nikolays AutoCAD 5 13.12.2010 16:59