| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Цитата:
Спасибо за уточнение, теперь то что и было нужно. Надо попробовать ExplodeProxyXXX встроить на досуге. Как понимаю, будет тогда вообще шикарно.
__________________
С уважением, Чигинский Дмитрий. |
||||
|
||||
никаких проблем его встроить...
скачиваешь, подгружаешь один раз в АК (можно просто мышкой *.arx перетащить в окно чертежа)), потом в скрипт добавляешь перед окончательной очисткой и аудитом Код:
__________________
Мастерская СПДС |
||||
|
||||
Цитата:
если делать лисп по первоначальном варианту tc, то получим следующее. открываем акад (-2) однократно!, открываем какой-то dwg/создаём новый (-1) однократно!, загружаем лисп (0) однократно!, запускаем загруженную команду (1) для выбора группы файлов, обрабатываем файл (2, 3, 4). то есть в этих двух вариантах действия пересекаются только в пунктах 2, 3, 4. во втором случае исключаются временные интервалы (1+5)*количество файлов. таким образом теоретически и я думаю практически скорость обработки группы файлов по второму сценарию будет всё-таки больше) да к тому же vla методы работают ГОРАЗДО быстрее нежели методы командные. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Уточнение: я документы открывал через ObjectDBX.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,053
|
Цитата:
Offtop: Кстати, привязкой к активному окну документа и тот же эксель страдает при выполнении кода VBA - ряд операций с группами ячеек (сортировка, ресайз) не на активном листе вызывает явления: от появления артефактов отображения до появления ошибки кода, а в особо тяжелых случаях - и вылета приложения. |
|||
|
||||
извините, что вмешиваюсь в столь высокоинтелектуальный спор, без сомнения все эти технологии хороши, но я пока не увидел ни одной строчки высокого кода. по теме топа.. ну впрочем не об этом.. если скриптом удалять несуществующий слой, то все дело сразу стопорится..
учитывая, что ТС просил помощь, а все отписавшиеся тут де факто ее оказывают, ну и типо я тож помогаю, но в лиспе Е-10..уважаемые, коль отписались в теме.. может чтонить по теме сможете набросать коду кагонить легкоприменимого для ламеров мимоходом так ----- добавлено через ~4 мин. ----- насколько я понял не важно за сколько времени, важен результат чреслами мериться тут мудрым мужам, да еще пред юнцами... ну вы поняли уважаемые..
__________________
Мастерская СПДС |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Если "нужен результат, по-быстрому и с минимальными затратами" - то scr, консольный acad и понеслась.
Если чистый лисп, то ситуация меняется очень сильно. И нарисовать код "на ура" вряд ли получится. По крайней мере у меня...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
по опыту предыдущих стрельб убедились, что консоль много чо не может.. в т.ч. удалять слои((((
теесу вроде скорость не критична, но при удалении несуществующего слоя процесс останавливается.. в принципе маленький лисп проверки слоя перед удалением ему бы помог наверное, но возможно он уже все сделал руками, пока тут обсуждают какая технология работает эффективнее)) ----- добавлено через ~12 ч. ----- Цитата:
Код:
__________________
Мастерская СПДС Последний раз редактировалось doctorraz, 08.03.2019 в 10:18. Причина: укоротил)) |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Или так:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
ну так это как бы совсем другое дело, а то, Алексей, вводишь людей в заблуждения, а они верют
----- добавлено через ~4 мин. ----- ну ежели по быренькому, на низком так сказать полёте, то можно, например, выполнить такой лисп, предварительно забив полный путь для обрабатываемой папки: Код:
Последний раз редактировалось koMon, 12.03.2019 в 13:48. |
||||
|
||||
Регистрация: 14.02.2011
Сообщений: 66
|
Точно такая же проблема как у ТС, долго искал подобный функционал. Отлично все работает (хоть и долго).
Для себя добавил в скрипт ссылку на лисп для внедрения xref. Код:
Код:
Для сокращения времени на открытие автокада пробовал вместо команды _QUIT в конце команду _CLOSE. Команда работает с версиями автокада выше 2015 закрывая вкладку, но оставляя открытым сам автокад. Только вот батник в данном случае не отрабатывает следующий файл, все заканчивается после обработки и закрытия первого файла. Можно это как то исправить? P.S. Я по умолчанию не пользуюсь командной строкой, использую либо динамический ввод, либо если нужен лог текстовым окном которое открывается по F2. При использовании данного скрипта автоматически появляется командная строка и лог работы ведется в ней. И затем по умолчанию автокад открывается всегда с командной строкой, каждый раз приходится закрывать ее. Что можно сделать чтобы этого не происходило и лог при работе отображался именно в текстовом окне? Последний раз редактировалось Sart, 14.07.2020 в 10:41. Причина: P.S. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Попробуй использовать accoreconsole.exe
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 14.02.2011
Сообщений: 66
|
В дополнение к предыдущему посту.
Нашел програмку AutoScript для запуска скриптов из окна автокада. Описание http://imolodec.com/ace-articles/avt...riptov-chast-3 Ссылка на скачивание http://www.cadig.com/products/autocad-script-pro.php Собственно она решает вопрос заданный в предыдущем посте. В скрипте убираем две последние строки _qsave _QUIT В настройках программы ставим галочки "Save the dravings..." и "Close the dravings..." Запускаем скрипт из этой программы и тогда автокад не закрывается. ----- добавлено через ~1 мин. ----- Из предыдущего обсуждения я так понял что с ней будут работать не все команды из скрипта, но сейчас попробую. Последний раз редактировалось Sart, 14.07.2020 в 12:29. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Я не очень понимаю, зачем внедрять ссылки. Тем не менее есть команда
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 14.02.2011
Сообщений: 66
|
Не вышло
d:\Print>( echo Processing d:\Print\399_1-Р-2-АТ-01.dwg "c:\Program Files\Autodesk\AutoCAD 2020\accoreconsole.exe" /i "d:\Print\399_1-Р-2-АТ-01.dwg" /s "c:\clean\clean.scr" /l "en-US" ) Processing d:\Print\399_1-Р-2-АТ-01.dwg Redirect stdout (file: C:\Users\kulakov\AppData\Local\Temp\accc149162). AcCoreConsole: StdOutConsoleMode: processed-output: enabled,auto AutoCAD Core Engine Console - Copyright 2019 Autodesk, Inc. All rights reserved. (Q.111.0.0) Execution Path: c:\Program Files\Autodesk\AutoCAD 2020\accoreconsole.exe Version Number: Q.111.0.0 (UNICODE) Загружается модуль База AD... Выполняется регенерация листов. **** Системная переменная изменена **** Отслеживаемым системным переменным (4) назначены значения, отличные от предпочтительных. Для просмотра изменений воспользуйтесь командой СИСТПЕРЕММОНИТОР. Команда: Команда: Команда: Команда: (vl-cmdf "_-LAYER" "_u" "формат_роспись" "") Текущий слой: "формат_роспись" Задайте параметр [?/Создать/Установить/Новый/ПЕРеименоватЬ/Вкл/Откл/Цвет/Тип/вЕс/пРозрачность/Материал/пеЧать/ПСтиль/Заморозить/РАзморозить/Блок/рАзблок/Конфигурация/опИсание/соГласовать/ВНешняя ссылка]: _u Список имен слоев для разблокирования или <выбрать объекты>: формат_роспись Задайте параметр [?/Создать/Установить/Новый/ПЕРеименоватЬ/Вкл/Откл/Цвет/Тип/вЕс/пРозрачность/Материал/пеЧать/ПСтиль/Заморозить/РАзморозить/Блок/рАзблок/Конфигурация/опИсание/соГласовать/ВНешняя ссылка]: Команда: (vl-cmdf "CLAYER" "0") CLAYER Новое значение CLAYER <"формат_роспись">: 0 Команда: (if (/= (tblsearch "Layer" "формат_роспись") nil) (command "_.laydel" "_n" "формат_роспись" "" "_y")) d:\Print>( echo Processing d:\Print\399_1-Р-2-АТ-02.dwg "c:\Program Files\Autodesk\AutoCAD 2020\accoreconsole.exe" /i "d:\Print\399_1-Р-2-АТ-02.dwg" /s "c:\clean\clean.scr" /l "en-US" ) Processing d:\Print\399_1-Р-2-АТ-02.dwg Redirect stdout (file: C:\Users\kulakov\AppData\Local\Temp\accc471082). AcCoreConsole: StdOutConsoleMode: processed-output: enabled,auto AutoCAD Core Engine Console - Copyright 2019 Autodesk, Inc. All rights reserved. (Q.111.0.0) Execution Path: c:\Program Files\Autodesk\AutoCAD 2020\accoreconsole.exe Version Number: Q.111.0.0 (UNICODE) Загружается модуль База AD... Выполняется регенерация листов. Выполняется регенерация модели. **** Системная переменная изменена **** Отслеживаемым системным переменным (4) назначены значения, отличные от предпочтительных. Для просмотра изменений воспользуйтесь командой СИСТПЕРЕММОНИТОР. Команда: Команда: Команда: Команда: (vl-cmdf "_-LAYER" "_u" "формат_роспись" "") Текущий слой: "СВЯЗЬ" Задайте параметр [?/Создать/Установить/Новый/ПЕРеименоватЬ/Вкл/Откл/Цвет/Тип/вЕс/пРозрачность/Материал/пеЧать/ПСтиль/Заморозить/РАзморозить/Блок/рАзблок/Конфигурация/опИсание/соГласовать/ВНешняя ссылка]: _u Список имен слоев для разблокирования или <выбрать объекты>: формат_роспись Задайте параметр [?/Создать/Установить/Новый/ПЕРеименоватЬ/Вкл/Откл/Цвет/Тип/вЕс/пРозрачность/Материал/пеЧать/ПСтиль/Заморозить/РАзморозить/Блок/рАзблок/Конфигурация/опИсание/соГласовать/ВНешняя ссылка]: Команда: (vl-cmdf "CLAYER" "0") CLAYER Новое значение CLAYER <"СВЯЗЬ">: 0 Команда: (if (/= (tblsearch "Layer" "формат_роспись") nil) (command "_.laydel" "_n" "формат_роспись" "" "_y")) d:\Print>pause Для продолжения нажмите любую клавишу . . . Цитата:
Не помню почему, но предложенная команда почему то не устраивала, давненько уже разбирался. Пришлось использовать именно данный лисп для внедрения. Вспомнил почему не использую "_-.xref _bind *" Данная команда не внедряет ссылки если есть проблемы со ссылками 2 уровня, т.е. вложенными в используемые ссылки. Если одна из подссылок неподгружена или удалена, данная команда выдает ошибку. А приложенный лисп игнорирует данные косяки и внедряет в любом случае. Последний раз редактировалось Sart, 15.07.2020 в 05:14. Причина: Дополнение |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать, чтобы ключевые слова отображались в менюшке? | -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 |