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

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

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

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

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

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

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

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

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

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

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

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


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


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


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

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


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


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


не совсем логично вызывать в конце успешного завершения функции обработчик ошибок) Да и много он сэкономил строчек в данном случае? Из-за дополнительной проверки
Код:
[Выделить все]
 (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
С.-Петербург
Сообщений: 35,353


Цитата:
Сообщение от superkot007 Посмотреть сообщение
кто бы это мог сделать с соответствующей квалификацией и знаниями.
Добро пожаловать в "Поиск исполнителей"
Да, кстати, пока сообразил: в Autodesk AppStore есть пакетные "чистилки" файлов.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 03.12.2017, 02:47
1 | 1 #105
skkkk

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


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


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

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


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


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


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

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

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


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


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


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


Супер! Специально зарегился, чтобы спасибо Вам сказать. Все перепробовал - спасла только Ваша программа!
Денис_Ск вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум 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 || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||