|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
04.03.2019, 17:29 | #1 | |
Как в лисп PurgeFiles.lsp внедрить команду _.laydel, чтобы это работало
ГИП
Тула
Регистрация: 09.09.2006
Сообщений: 112
|
||
Просмотров: 7076
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Насколько я помню, подобный код должен работать, так сказать, не очень. Аудит-то точно работает только на текущем файле (кстати, vla-purgeall фактически тоже в некоторых версиях работал только в текущем). Открытие документа через vla-open может запросто привести к активации загруженного документа - и выполнение лиспа тупо прервется.
Я бы писал scr-файл и запускал консольный acad, подсовывая ему dwg и соответствующий скрипт. Возможно, это будет самым простым решением. ----- добавлено через 46 сек. ----- P.S. В магазине приложений Autodesk есть отличная утилита пакетной очистки (что-то типа BatchPurge, если не ошибаюсь). Работает - на ура!
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Цитата:
Код:
ключ /r рекурсия (поиск во вложенных папках) сохраняешь код в текстовом фале с расширением *.bat кидаешь в папку которую чистить запускаешь...дальше оно само все сделается (по щучьему велению) ЗЫ я тут потестил, консольная версия где-то раз в десять пошустрее обрабатывает, но конечно может не все. --------- upd и про подчеркивания не забывай ну и итоговый scr может выглядеть как-то так Код:
__________________
Мастерская СПДС Последний раз редактировалось doctorraz, 05.03.2019 в 08:21. Причина: vla- не работает в консоли |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Только стоит помнить, что консольный acad сильно урезан по возможностям - так, поддержки vla- нет, загрузить arx, по-моему, тоже невозможно. Как насчет .NET-сборок - не в курсе.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
ExplodeProxy работаетupd не совсем
это то же (repeat 3 (vla-purgeall (vla-get-activedocument (vlax-get-acad-object)))) упсс ты прав, работало за счет Код:
__________________
Мастерская СПДС Последний раз редактировалось doctorraz, 07.03.2019 в 06:06. |
||||
|
||||
Цитата:
BatchPurge, так понимаю, чистит, но слой не удаляет. То что doctorraz написал, похоже в нужном направлении. Цитата:
Что-то делает, но не сохраняет. Ниже лог командной строки (папка "1" с bat'ником и File.dwg; папка "2" содержит cleanConsole.scr): Код:
Содержание файла PurgeFilesPlus.bat: Код:
Код:
__________________
С уважением, Чигинский Дмитрий. |
||||
|
||||
есть такой слой _Подписи?
и в скрипте последняя строка должна быть.. но пустая
__________________
Мастерская СПДС |
||||
|
||||
Слой есть, пустую строку добавил. Результат тот же. Файл *.dwg остаётся без изменения (не пересохраняется).
__________________
С уважением, Чигинский Дмитрий. |
||||
|
||||
дай файл чертежа с которым не получается
__________________
Мастерская СПДС |
||||
|
||||
хех, консольный АК чет валится на _.laydel
поэтому будет медленно но верно))) (но быстрее чем руками) батник Код:
Код:
__________________
Мастерская СПДС |
||||
|
||||
Цитата:
Проверил также когда удаляемый слой отсутствует, нужно просто закрыть AutoCAD. Хотя возникает желание перед удалением слоя поставить условие-проверку о его наличии в файле) Можно ли это организовать? Также ещё вопрос, корректно ли будет в скрипт после после удаления слоя добавить Audit и Purge: Код:
Однако, после такой очистки остаются служебные блоки, типа *D1354, *D1355 и т.д. Отсюда и вопрос.
__________________
С уважением, Чигинский Дмитрий. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Блоки *D, *T - это соответственно блоки размеров и таблиц.
Если хочешь, повтори три раза строку с очисткой - уйдут. P.S. А вот про очистку зарегистрированных приложений забыл
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Цитата:
Цитата:
Код:
__________________
Мастерская СПДС Последний раз редактировалось doctorraz, 06.03.2019 в 11:24. |
||||
|
||||
Цитата:
Если arx-файл зависит от acad.exe, то он не загружается в accoreconsole даже если его переименовать в crx-файл. .NET-сборки загружаются и работают если не используют acmgd.dll (accoremgd.dll и acdbmgd.dll использовать можно).
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
|
||||
Цитата:
----- добавлено через ~2 мин. ----- Цитата:
----- добавлено через ~3 мин. ----- как-то звучит сомнительно. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
koMon, я много раз пробовал провести аудит на нетекущем документе (вплоть до 2018 версии; на 2019 не проверял) - не работало. Как и vla-purgeall. Может, у меня руки кривые, не знаю.
Что именно сомнительно? Тот факт, что лисп выполняется только в текущем документе? Или тот факт, что если в процессе выполнения лиспа сменить документ, то выполнение прервется?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
сомнительно, что может запросто. ну то есть само. но ты же понимаешь, что само не может. только если программер пожелает.
|
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Насколько я понимаю, если в автозагрузке стоят какие-либо приложения, вносящие изменения в БД документа, то файл активируется. В любом случае - если будет выбор между vla-open и ObjectDBX, я выберу второе.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
я тоже, но не в этом случае(
|
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,041
|
Еще в 2005 году было обсуждение на другом форуме (caduser.ru) про скорость и особенности работы лиспа на неактивном документе.
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать, чтобы ключевые слова отображались в менюшке? | -mavlin- | Программирование | 3 | 06.05.2009 15:32 |
Задумал лисп для layout | Red Nova | LISP | 40 | 05.06.2008 17:59 |
Нужен маленький лисп - для текста | maksimys | LISP | 2 | 28.11.2007 08:51 |
Нужен лисп (пронизыватель лайаутов) | dextron3 | LISP | 91 | 25.07.2007 07:37 |
Из лиспа в команду. | Pave1 | LISP | 4 | 25.07.2005 16:08 |