Анкерные системы Schöck Dorn
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

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

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

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 18.08.2014, 16:15 8 |
LISP. Очистка чертежа от мусора
gomer
 
строю, ломаю
 
Украина
Регистрация: 03.04.2008
Сообщений: 5,552
Отправить сообщение для gomer с помощью ICQ Отправить сообщение для gomer с помощью Skype™

gomer вне форума Вставить имя

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

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

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

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

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

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

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


Последний раз редактировалось gomer, 16.03.2016 в 18:02.
Просмотров: 48043
 
Непрочитано 29.09.2015, 17:57
#61
Bob_833


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


AutoCAD 2013
Bob_833 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 29.09.2015, 18:55
#62
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,552
Отправить сообщение для gomer с помощью ICQ Отправить сообщение для gomer с помощью Skype™


Встречал подобный глюк на bricscad10. Рекомендую загружать не исходник, а CleanDWG.vlx - скомпилированный модуль, исходник я вложил для kpblc, ну и для будущих вундеркиндов. Из-за низкой скорости лиспа в автокаде использовать исходник строго не рекомендуется на тяжелых чертежах.
хм... только сейчас заметил лажу в архиве... Readme нет, исходнике не в папке для исходников... Моя вина конечно. Будет исправлено в следующем апдейте, если он случится...
gomer вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 14.10.2015, 13:04
#63
diek


 
Регистрация: 26.02.2007
от туда
Сообщений: 298


спасибо, большое человеческое
diek вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 03.12.2015, 17:46
#64
Profan

Чужой
 
Регистрация: 25.12.2005
Москва
Сообщений: 13,666


Замечено, что удаление словарей ликвидирует экранные представления AutoCAD MEP.
Profan вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 03.12.2015, 17:52
#65
Кулик Алексей aka kpblc
Moderator

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


Просто надо удалять не все словари подряд, а фильтровать те, которые надо оставить "в живых". Я сам на таком же в свое время погорел )
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 03.12.2015, 18:49
#66
skkkk

AutoCAD_2008->2011
 
Регистрация: 20.03.2008
Московская область
Сообщений: 2,102


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Просто надо удалять не все словари подряд, а фильтровать те, которые надо оставить "в живых".
А как их пометить, чтобы данная программа их не посносила? Видимо, удалять их следует не ею?
skkkk на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 03.12.2015, 21:40
#67
VVA

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


Там в архиве есть lsp файл. Фрагмент удаления словарей ниже. Самое сложное определить имя или имена словарей Mep
В коде не удаляются словари "ACAD_*" и "AcDb*"
Код:
[Выделить все]
;;; удаление словарей ________________________________________

      (if (checked-p "dicts")
        (progn 
          (setq cnt 0)
          (foreach & (entget (namedobjdict))
            (or (/= 3 (car &))
                (wcmatch (strcase (cdr &)) "ACAD_*")
                (wcmatch (cdr &) "AcDb*")
                (dictremove (namedobjdict) (cdr &))
            )
          )
          (princ "\nСловари удалены")
        )
      ) ;_ конец if
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 03.12.2015, 22:29
#68
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,552
Отправить сообщение для gomer с помощью ICQ Отправить сообщение для gomer с помощью Skype™


Цитата:
Сообщение от skkkk Посмотреть сообщение
А как их пометить, чтобы данная программа их не посносила?
Эта возможность доступна в версии PRO. Шучу! Просто сейчас нет времени на доработку и к тому же каждая новая функция замедливает и без того не быстрый процесс очистки
gomer вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 03.12.2015, 23:02
#69
Profan

Чужой
 
Регистрация: 25.12.2005
Москва
Сообщений: 13,666


Цитата:
Сообщение от VVA Посмотреть сообщение
Там в архиве есть lsp файл. Фрагмент удаления словарей ниже. Самое сложное определить имя или имена словарей Mep
В коде не удаляются словари "ACAD_*" и "AcDb*"
Видимо, надо добавить еще словари "AEC_", "AECB_", "AECS_"
Profan вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 04.12.2015, 00:53
#70
skkkk

AutoCAD_2008->2011
 
Регистрация: 20.03.2008
Московская область
Сообщений: 2,102


Цитата:
Сообщение от VVA Посмотреть сообщение
Фрагмент удаления словарей ниже.
Вот и решение, похоже. От VVA обычно другого и не ждешь.
Цитата:
Сообщение от gomer Посмотреть сообщение
каждая новая функция замедливает и без того не быстрый процесс очистки
Думаю подобная проверка не займет сильно больше миллисекунды. А польза от нее ощутима.

Цитата:
Сообщение от Profan Посмотреть сообщение
Видимо, надо добавить еще словари "AEC_", "AECB_", "AECS_"
А по-хорошему вообще отрыть где-либо список всех возможных словарей из вертикалок (как минимум, префиксов) и тоже добавить.
Беглый поиск по Сети не увенчался у меня успехом, поэтому предлагается заинтересованным в топике обладателям вертикалок выудить их прям с поля боя. Этот пример из Полещука вернет список словарей:
Код:
[Выделить все]
 (mapcar 'cdr (vl-remove-if-not (function (lambda (x) (= (car x) 3))) (entget (namedobjdict))))
Однако, надо думать, что пока в чертеже не существуют, допустим
Цитата:
Сообщение от Profan Посмотреть сообщение
экранные представления AutoCAD MEP
- то и словаря этого нет. Но префиксы, думаю, можно для каждой вертикалки выловить таким образом.
А также надо не забыть добавить свои словари. И после этого спокойненько сносить все лишнее.
skkkk на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 04.12.2015, 01:22
#71
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,552
Отправить сообщение для gomer с помощью ICQ Отправить сообщение для gomer с помощью Skype™


Цитата:
Сообщение от skkkk Посмотреть сообщение
А по-хорошему вообще отрыть где-либо список всех возможных словарей из вертикалок (как минимум, префиксов) и тоже добавить.
не получится без геморроя
gomer вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 04.12.2015, 07:43
#72
Profan

Чужой
 
Регистрация: 25.12.2005
Москва
Сообщений: 13,666


Может, убрать вообще удаление словарей из программы?
Profan вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 04.12.2015, 10:02
#73
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,552
Отправить сообщение для gomer с помощью ICQ Отправить сообщение для gomer с помощью Skype™


Цитата:
Сообщение от Profan Посмотреть сообщение
Может, убрать вообще удаление словарей из программы?
Можно просто снять соответствующую галку
gomer вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 04.12.2015, 16:20
#74
Profan

Чужой
 
Регистрация: 25.12.2005
Москва
Сообщений: 13,666


Можно снять, если знаешь, что она зарубит проект. А если не знаешь? Тогда, дескать, закрывай чертежа без сохранения. Только безобразие это не сразу обнаруживается, можно случайно и сохранить по "вредной" привычке сохранять чертеж после каждого телодвижения.
Profan вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 05.12.2015, 15:01
#75
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,552
Отправить сообщение для gomer с помощью ICQ Отправить сообщение для gomer с помощью Skype™


Цитата:
Сообщение от Profan Посмотреть сообщение
А если не знаешь?
Что по-твоему нужно сделать?
gomer вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 05.12.2015, 17:27
#76
Profan

Чужой
 
Регистрация: 25.12.2005
Москва
Сообщений: 13,666


В предыдущей версии не было этого поля и как-то обходились. Да и в команде "_-PURGE" ("-ОЧИСТИТЬ") в опциях не упоминаются словари.
Profan вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 16.12.2015, 16:54
#77
НиРо


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


Андрей, большое спасибо, ты не представляешь, хотя наверно представляешь))), какое благое дело сделал для людей работающих в САПР! Ну прям кланяюсь до земли!!!!!!!
НиРо вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 06.02.2016, 11:06
#78
Maks63708


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


Спасибо!!!!!!!!!!!!!!!!!!!!
Maks63708 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 06.02.2016, 14:25
#79
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 3,732
Отправить сообщение для engngr с помощью Skype™


А будет (есть?) вариант для _-, то есть без диалогового окна?
engngr на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 06.02.2016, 15:57
#80
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,552
Отправить сообщение для gomer с помощью ICQ Отправить сообщение для gomer с помощью Skype™


Цитата:
Сообщение от engngr Посмотреть сообщение
А будет (есть?) вариант для _-, то есть без диалогового окна?
Такая возможность не планируется. Во первых потому, что параметров достаточно много, во-вторых, процесс очистки занимает много времени и давать возможность консольного управления - это обречь себя на непонимание пользователя... слишком много есть таких кто любит загружать всяких хлам при загрузке...
gomer вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум 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

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||


Размещение рекламы