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

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

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

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

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

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

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

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

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

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

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


Последний раз редактировалось gomer, 16.03.2016 в 18:02.
Просмотров: 93674
 
Непрочитано 18.08.2014, 16:19
#2
Кулик Алексей aka kpblc
Moderator

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


Добавь еще очистку параметрических зависимостей и историю твердых тел Можно заодно еще и словари посносить, но это только для варианта "невертикального" AutoCAD (ИМХО).
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.08.2014, 16:28
#3
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Очистка истории твердых тел какая-то есть. Насчет параметризации я пока не нашел "некомандный" способ для сего действия. В планах еще разобраться с с пустыми блоками, изображениями и внешними ссылками (код спилю у VVA из bgtools) и очистка прокси с помощью программы А. Ривилиса.
Алгоритм обработки текста самый простой пока, но это все поправимо
gomer вне форума  
 
Непрочитано 18.08.2014, 16:34
#4
Кулик Алексей aka kpblc
Moderator

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


Посмотри у меня на сайте - я делал все это.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.08.2014, 18:01
#5
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Кулик Алексей aka kpblc, А через entnext не быстрее будет удалить п-зависимости и вообще можно ли?
gomer вне форума  
 
Непрочитано 18.08.2014, 18:11
#6
Кулик Алексей aka kpblc
Moderator

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


Не думаю, что получится. Посмотри мой код http://autolisp.ru/2014/03/24/clear-dwg-at-opening/ - вроде бы работало. Нарисовать для этого кода dcl не проблема, но мне сегодня точно не до этого будет.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.08.2014, 20:27
#7
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Не думаю, что получится.
Да действительно, не получается... А почему сначала entdel, а потом vla-delete?
gomer вне форума  
 
Непрочитано 18.08.2014, 21:16
#8
skkkk

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


Цитата:
Сообщение от gomer Посмотреть сообщение
Критика и предложения приветствуются
Более ли менее потестировал по всем пунктам - ошибок не нашел.
Критиковать - нос не дорос, а вот предложения - пожалуй (в добавок к #3):
1. Прикрутить бы туда удаление дубликатов из overkill'a.
2. Мое мнение: галочки на удаление точек и маскировок и групп по умолчанию лучше бы убрать. Думаю, их правильнее сознательно поставить, чем случайно посносить нужные объекты. А в идеале - запоминать галочки, выбранные ранее. Хотя бы в пределах сеанса, но неплохо бы и глобально. Как это сделать лучше - не знаю. Может в реестр писать или в текстовый файл?
3. Не смог создать пустой Мтекст (однострочник получилось), может, программно надо было - поленился. А вот текст, содержащий только пробелы, не удаляется. Жаль, потому что его нельзя выделить кроме как Ctrl+A. Может, добавить галку "Текст из пробелов"? Ну или под одну грубенку его, все равно не могу придумать от него практического толку - в топку.

Беру на вооружение, спасибо, gomer.
skkkk вне форума  
 
Непрочитано 18.08.2014, 23:16
#9
Кулик Алексей aka kpblc
Moderator

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


Offtop: Если завтра будет время, опубликую графический вариант своего кода.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.08.2014, 17:00
#10
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от skkkk Посмотреть сообщение
1. Прикрутить бы туда удаление дубликатов из overkill'a.
Тут я бы посоветовал макрос, так как overkill - самостоятельная команда со своим диалогом

Цитата:
Сообщение от skkkk Посмотреть сообщение
галочки на удаление точек и маскировок и групп по умолчанию лучше бы убрать.
Может ты и прав, это не сложно переделать

Цитата:
Сообщение от skkkk Посмотреть сообщение
в идеале - запоминать галочки, выбранные ранее. Хотя бы в пределах сеанса, но неплохо бы и глобально. Как это сделать лучше - не знаю. Может в реестр писать или в текстовый файл?
не хотелось бы связываться с реестром, но опять же это несложно добавить, вопрос в том как реализовать это

Цитата:
Сообщение от skkkk Посмотреть сообщение
текст, содержащий только пробелы, не удаляется. Жаль, потому что его нельзя выделить кроме как Ctrl+A. Может, добавить галку "Текст из пробелов"? Ну или под одну грубенку его, все равно не могу придумать от него практического толку - в топку.
Текст с маскировкой может быть полезен Сейчас программа выбирает только пустой текст. Придумаешь маску (условие пустоты) для выбора, добавлю. Вообще это не так просто, нужно выбрать все тексты и каждый проверить на наличие контента и уж потом удалить. Это займет больше времени, а я уже заметил, что на больших файлах программа может вызвать подвисание. В-общем нужно тестить.
gomer вне форума  
 
Непрочитано 20.08.2014, 02:56
#11
skkkk

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


Цитата:
Сообщение от gomer Посмотреть сообщение
Тут я бы посоветовал макрос, так как overkill - самостоятельная команда со своим диалогом
А жаль. У нее есть брат -overkill, который, вроде, можно накормить аргументами через (vla-SendCommand). А в случае отсутствия на машине ExpressTools можно эту галочку в DCL-диалог не включать. Но по-моему, ты недолюбливаешь командные способы.
Цитата:
Сообщение от gomer Посмотреть сообщение
не хотелось бы связываться с реестром, но опять же это несложно добавить, вопрос в том как реализовать это
Пока только могу лишь в качестве набросков для алгоритма:
Вариант №1:
1. Создаем для каждой галки запись в реестре. Шучу. Если это будет сумма битовых флагов, то записи хватит одной.
2. При запуске читаем эту запись.
3. При изменении пользователем набора галочек... чтобы узнать что будем делать, отправь смс на короткий номер
Вариант №2:
1. Создаем в укромном местечке, а может и в той же самой папке, откуда запущен лисп (кстати, не об этом ли здесь?) текстовый файл и делаем туда запись суммы битовых флагов.
2. Далее как и в п.п. 2 и 3 варианта №1.

Цитата:
Сообщение от gomer Посмотреть сообщение
Текст с маскировкой может быть полезен
Ну ладно, не в топку. То есть, если делать, то непременно отдельную галку? А маскированные пустые тексты, может, вообще удалять/не удалять вместе с маскировками?
Цитата:
Сообщение от gomer Посмотреть сообщение
Придумаешь маску (условие пустоты) для выбора, добавлю.
Пока слёту так и не могу придумать маску для n-ного количества пробелов. А заодно и "непустых" пробелов (те, что Ctrl+Shift+Space). А может и не надо, потому что
Цитата:
Сообщение от gomer Посмотреть сообщение
выбрать все тексты и каждый проверить на наличие контента
- это как-то не айс. Реально долго это может быть. Если уж и делать такую галку, то с пометкой "долго" и выключенной по умолчанию

----- добавлено через ~1 ч. -----
Еще пару мыслей:
1. Линии нулевой длины.
2. Может, "плющилку" 2D? Или хотя бы обнуление уровня полилиний? В частности случаи, когда полилиния ведет себя как-то неадекватно. Попадались такие файлы, может, смогу найти - выложу. При выборе такой полилинии не видна ее центральная ручка (при GRIPS=2) , и при попытке потянуть за крайнюю ручку рядом с полилинией появляется начало координат, с осью, параллельной этой полилинии (СК объекта?). У таких полилиний уровень всегда ненулевой, и при попытке обнулить его через свойства полилиния просто пропадает из виду. Надеюсь, понятно объяснить получилось...

Последний раз редактировалось skkkk, 20.08.2014 в 04:14.
skkkk вне форума  
 
Автор темы   Непрочитано 20.08.2014, 11:08
#12
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от skkkk Посмотреть сообщение
Создаем для каждой галки запись в реестре. Шучу.
Это не шутки, так и придется сделать, ведь
Цитата:
Сообщение от skkkk Посмотреть сообщение
Линии нулевой длины.
и сразу найдутся товарищи, кому не по нраву линии маленькой, но гордой, ненулевой длины. Точнее отрезки и скукоженные полилинии но это опять же лопатить. Знаю, спрашивал...
Хотя лопатить все равно придется, если нужно будет чистить в блоках
gomer вне форума  
 
Непрочитано 20.08.2014, 11:14
#13
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от gomer Посмотреть сообщение
Это не шутки, так и придется сделать, ведь
Еще раз говорю - посмотри у меня на сайте (http://autolisp.ru/2014/03/24/clear-dwg-at-opening/). Вся очистка регулируется единственным параметром - битом. А разбираешь ты его уже внутри кода.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.08.2014, 11:21
#14
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,683
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от skkkk Посмотреть сообщение
Пока слёту так и не могу придумать маску для n-ного количества пробелов.
Тримить строку от пробелов и табуляции и проверять на пустоту.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 20.08.2014, 11:40
#15
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Do$ Посмотреть сообщение
Тримить строку от пробелов и табуляции и проверять на пустоту.
А заодно сносить форматирование...
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.08.2014, 13:43
#16
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,683
Отправить сообщение для Do$ с помощью Skype™


Да, если мтекст и все что на его основе.
Offtop: Как же с этим проще в NET! Там напрямую из MTEXT без танцев с бубном можно прочитать строку без форматирования...
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 21.08.2014, 14:01
#17
skkkk

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


Цитата:
Сообщение от gomer Посмотреть сообщение
и сразу найдутся товарищи, кому не по нраву линии маленькой, но гордой, ненулевой длины
Можно для них сделать поле для записи минимального значения длины. Ниже которой все удалять. Но тут в таком темпе сейчас пойдет-поедет, что окошко программы не уместится на экране меньше 30 дюймов
Цитата:
Сообщение от Do$ Посмотреть сообщение
Тримить строку от пробелов и табуляции и проверять на пустоту.

Цитата:
Сообщение от Do$ Посмотреть сообщение
Offtop: Как же с этим проще в NET! Там напрямую из MTEXT без танцев с бубном можно прочитать строку без форматирования...
Я не ошибусь, если скажу, что все танцы сводятся к применению одной функции, например, LM:Unformat от Lee Mac?

----- добавлено через ~11 мин. -----
Цитата:
Сообщение от gomer Посмотреть сообщение
Это не шутки, так и придется сделать, ведь
В смысле, только из-за линий нулевой длины придется делать запись в реестре для каждой галочки? Не пойму, почему так?
skkkk вне форума  
 
Непрочитано 21.08.2014, 20:28
#18
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,683
Отправить сообщение для Do$ с помощью Skype™


Offtop:
Цитата:
Сообщение от skkkk Посмотреть сообщение
Я не ошибусь, если скажу, что все танцы сводятся к применению одной функции, например, LM:Unformat от Lee Mac?
Я тоже так думал, когда примерно год тому назад коллега попросил помочь убрать форматирование мультитекста из чертежа. Большой чертеж геодезической съемки, где на каждый текст навешано было форматирования выше крыши. Ну, я прикинул - на лиспе я знаю кучу функций для этого, в том числе mip_MTEXT_Unformat, LM:Unformat, StripMtext... Не буду трогать NET, обойдусь ими. В итоге ни одна из них не справилась на 100%, все равно оставался мусор. В итоге, промучившись с поиском и проверками почти час, я плюнул на это дело и написал код в NET.
Если убрать всю "обвязку" (используемые имена пространств, выбор объектов, открытие-закрытие объектов на запись и пр...), то все сводится к одной строчке:
Код:
[Выделить все]
mText.Contents = mText.Text;
Берем одно свойство и записываем в другое - вот и все танцы.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Автор темы   Непрочитано 21.08.2014, 22:20
#19
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


ну . Net и побыстрее будет. проблема только в совместимости...
gomer вне форума  
 
Непрочитано 22.08.2014, 09:55
#20
MorganSpb


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


как установить данную приблуду? лисп подгрузил, результата нет.
MorganSpb вне форума  
 
Непрочитано 22.08.2014, 10:32
1 | #21
freese

ingénieur
 
Регистрация: 21.07.2008
Сообщений: 714


Цитата:
Сообщение от MorganSpb Посмотреть сообщение
как установить данную приблуду? лисп подгрузил, результата нет.
нужно vlx загружать, диалоговое окно вызывается CleanDWG
freese вне форума  
 
Непрочитано 22.08.2014, 12:29
#22
MorganSpb


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


Цитата:
Сообщение от freese Посмотреть сообщение
нужно vlx загружать, диалоговое окно вызывается CleanDWG
Спасибо, что то ступил, я и lsp и vlx одновременно подгрузил и ничего не заработало.
MorganSpb вне форума  
 
Непрочитано 30.08.2014, 20:02
#23
skkkk

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


Вспомнил еще про неиспользуемые внешние ссылки, а также про растры, которые болтаются во внешних ссылках...
skkkk вне форума  
 
Автор темы   Непрочитано 30.08.2014, 20:21
#24
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от skkkk Посмотреть сообщение
Вспомнил еще про неиспользуемые внешние ссылки, а также про растры, которые болтаются во внешних ссылках...
Я не думаю что, это под силу лиспу, слишком уж он медленный. Если говорить о растрах и ссылках в чертеже, то это реализовано в bgtools. У меня просто руки не доходят допилить под свою прогу
gomer вне форума  
 
Непрочитано 01.09.2014, 14:22
#25
Sergey_5

коструктор
 
Регистрация: 28.08.2014
Москва
Сообщений: 4


Здравствуйте! А не подскажете, как установить данную вещь?

----- добавлено через ~1 ч. -----
Все, разобрался
Помогло! Большое спасибо!
Sergey_5 вне форума  
 
Непрочитано 05.09.2014, 11:10
#26
shartal


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


Что имеется в виду под Настройки печати?. В диспетчере параметров листов все как было так и осталось. Возможно принтер установленный в параметрах должен был бы сброситься на Нет?
shartal вне форума  
 
Автор темы   Непрочитано 05.09.2014, 17:29
#27
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


откройте диспетчер параметров листов, там в списке найдете то, что ищете
gomer вне форума  
 
Непрочитано 18.10.2014, 16:03
#28
skkkk

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


Цитата:
Сообщение от skkkk Посмотреть сообщение
2. Может, "плющилку" 2D? Или хотя бы обнуление уровня полилиний? В частности случаи, когда полилиния ведет себя как-то неадекватно. Попадались такие файлы, может, смогу найти - выложу. При выборе такой полилинии не видна ее центральная ручка (при GRIPS=2) , и при попытке потянуть за крайнюю ручку рядом с полилинией появляется начало координат, с осью, параллельной этой полилинии (СК объекта?). У таких полилиний уровень всегда ненулевой, и при попытке обнулить его через свойства полилиния просто пропадает из виду. Надеюсь, понятно объяснить получилось...
Вернулся к своему посту, поскольку нашел такой файл. Ошибся я правда в одном: такой полилинии можно назначить нулевой уровень, но адекватнее она от этого не становятся. Просто улетает в другую часть модели.
Кто знает, что это за такое, и можно ли сделать с такой линией что-то, чтоб она осталась на своем видимом месте, но с нулевым уровнем и адекватная?
Вложения
Тип файла: dwg
DWG 2010
Пример неадекватной полилинии.dwg (88.7 Кб, 3807 просмотров)
skkkk вне форума  
 
Непрочитано 18.10.2014, 20:01
#29
Кулик Алексей aka kpblc
Moderator

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


Там система координат объекта ни разу не похожа на мировую. Поэтому в качестве решения: flatten из ET или SuperFlatten из архивов форума )
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.10.2014, 20:04
#30
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от skkkk Посмотреть сообщение
адекватная?
посмотри код 210 у твоей полилинии

----- добавлено через ~3 мин. -----
У меня тут беда случилась с исходником... нет, никуда он не потерялся. Но слетела кодировка, и в блокноте++ при открытии абракадабры наблюдаю. При этом НП++ показывает кодировку макинтош... Но какой макинтош? если я сроду им не пользовался... это меня бесит чрезвычайно
gomer вне форума  
 
Непрочитано 18.10.2014, 23:14
#31
skkkk

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


gomer, я не понял, дело в файле (и в каком именно?) или в NP++? Файлы на всякий прилагаю. Вроде я в них ничего пока не менял.
У меня как-то что-то давно слетало в NP++, так я после этого, когда вернул все обратно, сделал backup папок NP++ из Program Files и из AppData->Roaming. После переустановки Windows очень помогло. В том числе перешла и вся моя подсветка синтаксиса, и выпадающее меню функций (автозавершение) и все остальное. Очень советую. Если нужно, могу скинуть свои баки. Правда, перевод у меня какой-то кривой стал почему-то: половина меню на русском, другая - на английском. Но на скорость не влияет, и я заморачиваться не стал.
Вложения
Тип файла: rar CleanDWG.rar (3.3 Кб, 94 просмотров)
skkkk вне форума  
 
Автор темы   Непрочитано 19.10.2014, 00:37
#32
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


А у тебя мои исходники нормально открываются? Дело в том, что например я меняю кодировку на win1251 тескт становится нормальным, переоткрываю блокнот, текст нормальный, закрываю файл и переоткрываю блокнот - абракадабры и макинтош, будь он не ладен
Миниатюры
Нажмите на изображение для увеличения
Название: скрин2.png
Просмотров: 249
Размер:	70.5 Кб
ID:	137033  
gomer вне форума  
 
Непрочитано 19.10.2014, 12:07
#33
skkkk

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


Цитата:
Сообщение от gomer Посмотреть сообщение
А у тебя мои исходники нормально открываются?
Полностью. Как и все другие. Может, настройки? У меня вообще ANSI...
P.S.:Смотрю, там у тебя изменения уже есть
P.P.S.: Прошу прощение за качество скрина, но качественный не прикрепляется из-за размера
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок.jpg
Просмотров: 114
Размер:	137.9 Кб
ID:	137048  Нажмите на изображение для увеличения
Название: Снимок2.JPG
Просмотров: 135
Размер:	56.1 Кб
ID:	137049  
skkkk вне форума  
 
Автор темы   Непрочитано 19.10.2014, 12:39
#34
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


У тебя какая-то древняя версия стоит, еще 5 сколько-ко там, если не ошибаюсь, В этой версии как раз нормально все. А уже в 6й бардак...
gomer вне форума  
 
Непрочитано 19.10.2014, 13:08
#35
skkkk

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


Offtop: У меня версия 6.1.2. Последняя на данный момент, вроде 6.6.9.
Я устанавливал недавно последнюю версию, но оказалось, что в ней переработали алгоритм сортировки функций автозавершения.
В файле с перечнем этих функций я записал их в таком порядке, что самые часто используемые находятся выше остальных, игнорируя алфавитный порядок. А в новой версии этот порядок не игнорируется и применяется "насильно", мне это жутко не понравилось, вот я и решил откатиться.
Что-то подзагадилась как-то ветка ... Может, откроем тему про NP++ для лиспа и других языков под AutoCAD?
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок.JPG
Просмотров: 163
Размер:	41.4 Кб
ID:	137050  Нажмите на изображение для увеличения
Название: Снимок 2.JPG
Просмотров: 87
Размер:	23.4 Кб
ID:	137052  
skkkk вне форума  
 
Автор темы   Непрочитано 19.10.2014, 13:16
#36
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от skkkk Посмотреть сообщение
Может, откроем тему про NP++ для лиспа и других языков под AutoCAD?
я не против, открывай Самое интересное то, что vlide нормально парсит cleandwg.lsp...
gomer вне форума  
 
Непрочитано 19.10.2014, 13:19
#37
skkkk

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


Цитата:
Сообщение от gomer Посмотреть сообщение
vlide нормально парсит cleandwg.lsp...
Так, стало быть, дело только в этом файле?
Offtop:
Цитата:
Сообщение от gomer Посмотреть сообщение
я не против, открывай
Задумался... А в каком разделе бы ее открыть? Разное или Программирование?
skkkk вне форума  
 
Автор темы   Непрочитано 19.10.2014, 13:30
#38
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от skkkk Посмотреть сообщение
Так, стало быть, дело только в этом файле?
Есть и другие файлы, взятые из инета, в которых всплывает макинтош...
В программировании конечно
gomer вне форума  
 
Непрочитано 19.10.2014, 14:15
#39
skkkk

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


Offtop: Думаю, тут дело в NP++. Может, проще всего его переустановить? Сохранив настройки из папок программы. Ума не приложу, что это может быть.
Возвращаясь к неадекватной полилинии... Надеюсь, что это по теме "Очистка чертежа...", хотя более подходит под тему обнуления Z-координаты, но раз я уж начал ходатайствовать о добавлении в очистку такой функции, то продолжу тут. gomer, если ты против, скажи сразу - я отстану.
Цитата:
Сообщение от gomer Посмотреть сообщение
посмотри код 210 у твоей полилинии
Почитал, 210 - это координата Х вектора направления выдавливания. Меняю ее на '(0.0 0.0 1.0) - полилиния улетает совершенно в другое место. А хотелось бы, чтоб она при этом осталась на своем месте. И вообще не пойму, как в чертежах, присланных тётеньками, может оказаться подобное?
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Поэтому в качестве решения: flatten из ET или SuperFlatten из архивов форума
Flatten из ET с опцией No помог, с опцией Yes - полилиния улетела, SuperFlatten - отчасти. Преобразовал эту полилинию в отрезок и оставил его на месте. Правда, то же самое делает и простой _EXPLODE.
Может, добавить обработку таких полилиний с кодом 210: взрывать их и преобразовывать обратно в PLINE? Или отстать?
skkkk вне форума  
 
Автор темы   Непрочитано 19.10.2014, 14:33
#40
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


ставил неоднократно чуть ли ни все версии, результат 0... Проблема в файле, до абсурда доходит: убираешь строчку, нормальная кодировка, добавляешь - слетает.
Насчет кривых полилиний - это все таки другая задача. Да и лисп имеет ограничение по количеству объектов. Сейчас до 10000 объектов еще приемлимо лопатятся, больше уже серьезный зависон. Чем больше операций, тем меньше лимит на чертеж.
gomer вне форума  
 
Непрочитано 19.03.2015, 15:17
#41
pro9

Конструктор
 
Регистрация: 01.09.2012
Уфа
Сообщений: 77


Добрый вечер!
А то что он динамические блоки в безымянные статические переделывает, это так задумано?
pro9 вне форума  
 
Автор темы   Непрочитано 19.03.2015, 18:16
#42
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от pro9 Посмотреть сообщение
то что он динамические блоки в безымянные статические переделывает, это так задумано?
Нет, так не задумано. Возможно это автокад сам создает безымянные блоки внутри динамического, когда вы правите блок за ручки
gomer вне форума  
 
Непрочитано 20.03.2015, 12:18
#43
pro9

Конструктор
 
Регистрация: 01.09.2012
Уфа
Сообщений: 77


Цитата:
Сообщение от gomer Посмотреть сообщение
Нет, так не задумано. Возможно это автокад сам создает безымянные блоки внутри динамического, когда вы правите блок за ручки
Да, вроде сейчас все нормально. Не знаю почему раньше модифицировал блоки.
pro9 вне форума  
 
Автор темы   Непрочитано 31.03.2015, 17:21
1 | #44
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Обновил программу до версии 1.3 теперь в архиве модуль для автокада и для брикскада, добавлено удаление неавтокадовских словарей
gomer вне форума  
 
Непрочитано 31.03.2015, 19:34
#45
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


gomer, Извини - несколько отстал от жизни... Эта программа в дополнение к _purge или её заменяет?
357 вне форума  
 
Непрочитано 01.04.2015, 00:25
#46
skkkk

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


Я бы сказал, что это пурж - дополнение к этой программе
skkkk вне форума  
 
Непрочитано 01.04.2015, 05:24
#47
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


skkkk, понял, спасибо!
357 вне форума  
 
Непрочитано 01.04.2015, 10:24
#48
ie.spb

Инженер
 
Регистрация: 21.08.2007
Сообщений: 558
<phrase 1=


может только у меня такое происходит, но при нажатии кнопки "По умолчанию" программа останавливается с ошибкой: "bad argument type: stringp 0bad argument type: VLA-OBJECT nil".
Система Win7x64, Autocad 2013
__________________
Склероз нельзя вылечить, но о нем можно забыть.
(Ф. Раневская)
ie.spb на форуме  
 
Автор темы   Непрочитано 01.04.2015, 17:00
#49
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от skkkk Посмотреть сообщение
Я бы сказал, что это пурж - дополнение к этой программе
Эта программа делает 3х-кратный тоталпурж, так что в стандартном пурже отпадает необходимость


Цитата:
Сообщение от ie.spb Посмотреть сообщение
может только у меня такое происходит, но при нажатии кнопки "По умолчанию" программа останавливается с ошибкой: "bad argument type: stringp 0bad argument type: VLA-OBJECT nil".
Вы случайно не исходники не редактировали?
gomer вне форума  
 
Непрочитано 01.04.2015, 17:31
#50
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


2 gomer,
я, возможно, проглядел что-то в сообщениях... А как её запускать?
357 вне форума  
 
Автор темы   Непрочитано 01.04.2015, 17:43
#51
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


команда CleanDWG после загрузки соответствующей версии приложения
gomer вне форума  
 
Непрочитано 01.04.2015, 17:57
#52
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


gomer, при нажатии кнопки "По умолчанию" окно программы закрывается, в командной строке автокада появляется запись: "неверный тип аргумента: stringp 0неверный тип аргумента: VLA-OBJECT nil".
Какие сведения нужны? Кино сделать?
Система Win7x64, Autocad 2012
357 вне форума  
 
Автор темы   Непрочитано 01.04.2015, 18:10
#53
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от 357 Посмотреть сообщение
Кино сделать?
Кино не надо, я понял, где ошибка, зайди в аську лучше

----- добавлено через ~48 мин. -----
Спасибо всем откликнувшимся, архив перезалил.
gomer вне форума  
 
Непрочитано 01.04.2015, 19:33
#54
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


удалил

Последний раз редактировалось 357, 01.04.2015 в 19:52.
357 вне форума  
 
Непрочитано 09.04.2015, 12:41
#55
skkkk

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


Получил файл съемки, решил почистить новой версией. Из изменений заметил, что выбранные чекбоксы сохраняются от сеанса к сеансу. Удобно.
Раньше (до появления CleanDWG) я пользовался составленным при помощи форума еще на рассвете моей карьеры инженера макросом на кнопку:
Код:
[Выделить все]
^C^C_audit;д;_-SCALELISTEDIT;_R;_Y;_E;^C^C_-purge;в;*;н;;з;*;н;
Решил сравнить. Мой макрос из файла 5,12Мб сделал почему-то 5,65 (!). Странно прям даже, казалось, почистил, а на деле еще и подзагадил. Раньше я за ним такого не замечал.
Затем запустил CleanDWG. Надооооолго так всё подзадумалось (минуты на полторы), в результате - 900кб. Вот это я понимаю: прибрался так прибрался.

Однако попробовал сделать наоборот: сначала CleanDWG, потом мой макрос - после макроса удалилось еще 26 приложений, хотя изначально (до CleanDWG) он удалял 246. То есть, почему-то не все приложения почистились. Почему бы?

И еще: увидел в конце отчета записи "Размер откреплен". А галочки такой в настройках не нашел. Не всегда хочется диссассоциировать размеры.

P.S.: И еще расскажите, пожалуйста, мне, темноголовому, что это за файл *.des?
Вложения
Тип файла: dwg
DWG 2010
(1062) План (1).dwg в работе М2.dwg (5.77 Мб, 2104 просмотров)
skkkk вне форума  
 
Автор темы   Непрочитано 09.04.2015, 18:23
#56
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от skkkk Посмотреть сообщение
что это за файл *.des?
Это модуль CleanDWG для брикскада

Цитата:
Сообщение от skkkk Посмотреть сообщение
увидел в конце отчета записи "Размер откреплен". А галочки такой в настройках не нашел. Не всегда хочется диссассоциировать размеры.
Открепление размеров происходит автоматически при удалении объектов к которым они были прикреплены. Это мое предположение номер раз. Возможно проблема в замороженных слоях - это два. Да, пока программа достаточно брутальна и не учитывает статус слоев

Цитата:
Сообщение от skkkk Посмотреть сообщение
Однако попробовал сделать наоборот: сначала CleanDWG, потом мой макрос - после макроса удалилось еще 26 приложений, хотя изначально (до CleanDWG) он удалял 246. То есть, почему-то не все приложения почистились. Почему бы?
Предположу, что ошибка в программе, некоторые приложения акад не дает удалить, программа же считает, что приложение удалено, так как ошибка при его удалении не возникает. то же касается масштабов аннотаций. Думаю это не фатально, если появится возможность, исправлю.

Цитата:
Сообщение от skkkk Посмотреть сообщение
Надооооолго так всё подзадумалось (минуты на полторы), в результате - 900кб. Вот это я понимаю: прибрался так прибрался.
в брикскад 15 файл почистился секунды за три до 788кб. Скорость лиспа в автокаде действительно страдает. Смиритесь. У вас в файле > 10k объектов.
Как вариант: можно снять галки с удаления истории тел и параметрических зависимостей. Тогда программа не будет обрабатывать весь чертеж.
800 или 900 - не принципиально - это нюансы формата файла DWG
gomer вне форума  
 
Непрочитано 29.09.2015, 13:49
#57
Bob_833


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


Вопрос к Кулику Алексею: попытка почистить файл архивом "CleanDWG", 1._appload, подгружается, 2. команда "CleanDWG", 3 .в командной строке - "Отмена команды пользователем", итог - файл без изменений, что не так выполняю ?
Bob_833 вне форума  
 
Непрочитано 29.09.2015, 14:13
#58
Кулик Алексей aka kpblc
Moderator

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


Интересно, а я каким боком к этой разработке?
Скорее всего, загружен lsp, а dcl код найти не может. Все вопросы к автору
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.09.2015, 14:16
#59
Bob_833


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


Алексей, мои извинения, ошибся, вопрос к gomer

----- добавлено через ~28 мин. -----
Алексей, спасибо за подсказку, вопрос решен, файл был удален, заново распаковал архив -всё ок.
Bob_833 вне форума  
 
Автор темы   Непрочитано 29.09.2015, 17:27
#60
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от Bob_833 Посмотреть сообщение
Вопрос к Кулику Алексею: попытка почистить файл архивом "CleanDWG", 1._appload, подгружается, 2. команда "CleanDWG", 3 .в командной строке - "Отмена команды пользователем", итог - файл без изменений, что не так выполняю ?
Какой кад вы использовали для запуска программы и какая версия
gomer вне форума  
 
Непрочитано 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,550


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


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


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


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


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

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


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

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

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


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

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,799
<phrase 1= Отправить сообщение для 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,550


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


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


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

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


Цитата:
Сообщение от 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,550


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


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


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

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


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


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


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

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


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


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


В предыдущей версии не было этого поля и как-то обходились. Да и в команде "_-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
Московия*
Сообщений: 4,551


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

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от engngr Посмотреть сообщение
А будет (есть?) вариант для _-, то есть без диалогового окна?
Такая возможность не планируется. Во первых потому, что параметров достаточно много, во-вторых, процесс очистки занимает много времени и давать возможность консольного управления - это обречь себя на непонимание пользователя... слишком много есть таких кто любит загружать всяких хлам при загрузке...
gomer вне форума  
 
Непрочитано 10.02.2016, 20:04
#81
Seeker

инженер-гидротехник
 
Регистрация: 13.04.2012
Москва
Сообщений: 126


Спасибо огромное gomer за программку.
Seeker вне форума  
 
Непрочитано 16.03.2016, 15:00
#82
vasilev666


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


Почему-то вместо слов в окне программы значки. Ни кто не сталкивался?
vasilev666 вне форума  
 
Непрочитано 16.03.2016, 15:21
#83
Кулик Алексей aka kpblc
Moderator

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


AutoCAD случайно не 2013, английский, и без SP?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.03.2016, 16:08
#84
vasilev666


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


Совершено верно.
vasilev666 вне форума  
 
Непрочитано 16.03.2016, 16:54
#85
VVA

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


AutoCad 2013 En, проблемы с кодировкой в программах.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.04.2016, 16:02 Очистка чертежа от мусора
#86
Bina2857


 
Регистрация: 06.04.2016
Электросталь
Сообщений: 2


А как загрузить CleanDWG.vlx в автокад 2016?
В 2013 все получилось, а в 2016 на (load"CleanDWG.vlx") пишет ошибка...Подскажите пожалуйста
Bina2857 вне форума  
 
Непрочитано 06.04.2016, 16:49
#87
trushev


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


Цитата:
Сообщение от Bina2857 Посмотреть сообщение
(load"CleanDWG.vlx") пишет ошибка
Может быть поможет один из вариантов:
1. В пакете загружающем lisp заменить (load "имя файла") на (load (strcat (getvar 'dwgprefix) "имя файла"))
Не понял почему, но после этого находятся и DCL и вспомогательные текстовые файлы.
2. В строку запуска программы с рабочего стола добавить ключ /s с путем к файлам поддержки Заменяет ранее установленные пути.
3. От Александр Ривилис, установить LEGACYCODESEARCH = 1.
trushev вне форума  
 
Автор темы   Непрочитано 07.04.2016, 17:34
#88
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от Bina2857 Посмотреть сообщение
В 2013 все получилось, а в 2016 на (load"CleanDWG.vlx") пишет ошибка...
Что именно пишет после слова ошибка? Может денег просит?
gomer вне форума  
 
Непрочитано 21.04.2016, 14:36
#89
Ярко


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


Автокад 2016, при чистке чертежа программой, автокад виснет, в чем может быть проблема?
Ярко вне форума  
 
Автор темы   Непрочитано 21.04.2016, 16:35
#90
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от Ярко Посмотреть сообщение
при чистке чертежа программой, автокад виснет, в чем может быть проблема?
Проблема в скорости выполнения программ на Visual LISP и количестве объектов в чертеже.
Решение - снять галку История твердых тел и Параметрические зависимости, они запускают механизм прополки всего чертежа
gomer вне форума  
 
Непрочитано 14.05.2016, 19:13
#91
doslidnik


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


AutoCAD 2008 - English SP1

После пользования утилитой CLEANDWG13 (даже при настройках по умолчанию) получаю чертеж с багом но не во всех файлах.
После печати из Layout и последующей попытки сохранения получаем ошибку
"FATAL ERROR: Unhandled e06d7363h Exception at 75a1c41fh"

Если ничего не печать то все сохраняется до первой печати.

Автокад 2011 либо ZWCAD 2014 c файлом и далее работают чудесно но 2008 автокад уже его не сохраняет.
Пересохранение в 2011 акаде на 2000, 2004 не помогает (2008 акад открьівает печатает но не может сохранить), аналогично ZWCAD и DWG TrueView.
Пробьівал даже сохранять в 2013 (через ZWCAD или DWG TrueView), а потом в 2007 или 2000 - результат открьітие 2008 акадом файл - открьіваеться но не сохраняеться.
Сохранение в dxf портит штриховки и не расматриваеться.

После удаления содержимого (без последующего _purge) чертеж с лейаутами ( Layout ) можно сохранить.
Содержимое Model также можно скопировать и вставить в новьій чертеж (все слои открьітьі и не замороженьі).
Потом копирование назад содержимого Model в чертеж с Layout восстанавливает сохранение чертежа 2008 акадом.

Если ничего не печатать все хорошо сохраняется.
Причину такой ошибки искал два дня.

---Updated
Ошибку получаем после первого сохранения и потом открьітия и попьітки сохранения
Какая галочка именно вызывает ошибку пока не понял
Нашел - Масштабы анотаций приводит к "FATAL ERROR: Unhandled Access Violation Reading 0x0000 Exaption ad 6237788dh" после сохранения, закрытия, открытия и сохранения

Последний раз редактировалось doslidnik, 15.05.2016 в 10:45.
doslidnik вне форума  
 
Автор темы   Непрочитано 17.05.2016, 21:57
#92
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от doslidnik Посмотреть сообщение
Нашел - Масштабы анотаций приводит к "FATAL ERROR: Unhandled Access Violation Reading 0x0000 Exaption ad 6237788dh" после сохранения, закрытия, открытия и сохранения
Если масштабы аннотаций удалить вручную, то ошибка сохраняется?
gomer вне форума  
 
Непрочитано 17.05.2016, 23:07
#93
Кулик Алексей aka kpblc
Moderator

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


Не должна. Это ограничение лиспа - пройтись лиспом по базе чертежа и проверить используемые масштабы за вменяемое время нереально.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 18.05.2016, 12:31
#94
doslidnik


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


Визуальные объекты -> Точки приводит к такой ошибке прораммы (Выбран только етот пункт)
Код:
[Выделить все]
Command: CLEANDWG

Очистка документа...
Command:
Automation Error. Invalid entity name"Automation Error. Invalid entity name"

Command:
Цитата:
Сообщение от gomer Посмотреть сообщение
Если масштабы аннотаций удалить вручную, то ошибка сохраняется?
Код:
[Выделить все]
Command: _AIOBJECTSCALEREMOVE

Select annotative objects: Specify opposite corner: 72041 found


Select annotative objects:

0 objects scale removed.
46 objects don't support annotation scale <1:1>.
46 objects cannot remove scale.
Если так
Код:
[Выделить все]
Select annotative objects:

Command: objectscale

Select annotative objects: Specify opposite corner: 72041 found

Select annotative objects:
то показывает в форме "Anotation Object Scale" в списке "Object Scale List" один маштаб "1:1"

Вот отработка cleandwg13
Код:
[Выделить все]
Command: cleandwg

Очистка документа...
Всего удалено визуальных объектов: 0
Удалено масштабов аннотаций: 33
Очистка завершена

Command:
После повторного открьітия и попьітки сохранить получим ошибку.

Нюанс - у меня 19 Лейаутов. Может из-за них?
Проверил в каждом лейауте(Layout) меню "Modify->Anotative Object Scale" не активно. Активно только в модели (Model).
Результат запуска cleandwg из Model и из Layout дает одинаковый результат (последующую ошибку при новом откытии чертежа).

Все слои открьітьі и область ZoomExtens.
Команда _AIOBJECTSCALEREMOVE всегда срабатьівала в проблемном чертеже но один раз нет.
Вот как-то получил такое после ~15-30го простоя чертежа. Закрьіл не сохраняя открьіл- Поменял автосохранениt на 1 минуту но такого не добилься.


----- добавлено через 52 сек. -----

Последний раз редактировалось doslidnik, 18.05.2016 в 14:16.
doslidnik вне форума  
 
Автор темы   Непрочитано 20.05.2016, 03:21
#95
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


насчет точек, у меня они корректно удаляются, насчет масштабов, все таки в 2008 они только появились и возможны баги.
gomer вне форума  
 
Непрочитано 22.05.2016, 12:48
#96
SlavaLu


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


gomer
Список словарей Мэпа здесь. Если ещё нужно.

Последний раз редактировалось SlavaLu, 22.05.2016 в 19:35.
SlavaLu вне форума  
 
Непрочитано 27.12.2016, 16:12
#97
linkrogers


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


А программка больше не развивается?

А то не понятно на сколько она с версией автокада 2017 сдружина.

Вот такая ошибка появляется при чистке файлов; Ошибка Automation. Недопустимое имя примитива
linkrogers вне форума  
 
Непрочитано 02.12.2017, 21:31
#98
superkot007


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


Хорошая штука.
А можно ее как-то допилить под пакетную обработку определенной папки?
superkot007 вне форума  
 
Непрочитано 02.12.2017, 22:33
#99
Кулик Алексей aka kpblc
Moderator

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


Можно. Допиливай, автор вряд ли будет против.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 02.12.2017, 23:33
#100
superkot007


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Можно. Допиливай, автор вряд ли будет против.
Хороший ответ) Но суть вопроса в другом, как ты наверняка понял, - кто бы это мог сделать с соответствующей квалификацией и знаниями.
Тем более, что
Цитата:
Сообщение от gomer Посмотреть сообщение
... предложения приветствуются
Я попробовал свести это с http://dwg.ru/dnl/11817 - результат нулевой, из сотни файлов обрабатывается (?) только два, выдает ошибку, и новые файлы абсолютно чисты (глобально так почистилось )
superkot007 вне форума  
 
Непрочитано 03.12.2017, 00:34
#101
Сергей812


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


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

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


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


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


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


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

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

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


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


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

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,799
<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
Сообщений: 147


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

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

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


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


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


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


Супер! Специально зарегился, чтобы спасибо Вам сказать. Все перепробовал - спасла только Ваша программа!
Денис_Ск вне форума  
 
Непрочитано 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
Сообщений: 6,993


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


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


Люди подскажите плиз, может есть киде готовое решение по очистке неактуального содержимого из диспетчера внешних ссылок? Т.е. задача удалять потерянные ссылки без вызова диспетчера вш. ссылок, т.е. как говорится в одно касание, т.е. одной командой.
allar8 вне форума  
Ответ
Вернуться   Форум 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