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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Чем в реакторе заменить команды STYLE и PURGE ?

Чем в реакторе заменить команды STYLE и PURGE ?

Ответ
Поиск в этой теме
Непрочитано 12.02.2024, 15:31 #1
Чем в реакторе заменить команды STYLE и PURGE ?
===AAA===
 
г. Норильск
Регистрация: 15.08.2005
Сообщений: 627

Всем привет!

Сделал реактор, срабатывающий на открытие/создание файла.
Цель - автоматическая "подстройка" чертежа перед началом работы.
Всякие (getvar) => (setvar) работают без проблем, но в реакторе
не получается использовать командные методы.

А мне, как минимум, нужно создать предустановленные текстовые
стили и выборочно почистить чертёж от "лишних" элементов.
Потом - может быть - ещё чего-нибудь захочется...

Чем - для начала - можно заменить команды _style и _purge ?
__________________
Счастливо, Алексей!
Просмотров: 4080
 
Непрочитано 12.02.2024, 15:36
#2
Кулик Алексей aka kpblc
Moderator

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


purge => vla-purgeall
создание / настройка стиля - либо полностью программно все делать (достаточно геморно), либо подключать dws ИМХО

----- добавлено через ~1 мин. -----
Про создание текстового стиля я вроде на сайтике у себя что-то рисовал достаточно давно
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.02.2024, 15:42
#3
Сергей812


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


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
но в реакторе не получается использовать командные методы.
лучше в обработчиках/реакторах этим не баловаться) разве что в простое|idle попробовать...
Сергей812 вне форума  
 
Непрочитано 12.02.2024, 15:45
#4
Кулик Алексей aka kpblc
Moderator

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


Offtop: Лисп в idle вроде не сильно умеет
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.02.2024, 15:46
#5
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Цитата:
purge => vla-purgeall
Да в том-то и дело, что мне не "all", а только "кое-что" удалить нужно.
Остальные "предустановленные объекты" (слои там и прочее) должны
жить из сеанса в сеанс, пока они не понадобятся.

Можно, конечно, сделать и purgeall, а потом заново их создать, но опять
же командные методы понадобятся...

----- добавлено через ~2 мин. -----
Цитата:
лучше в обработчиках/реакторах этим не баловаться)
Не от хорошей жизни, увы. :-(

В AutoCAD'е использовал S::STARTUP и горя не знал, но тут появился nanoCAD.
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 12.02.2024, 15:56
#6
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
только "кое-что" удалить нужно
Тогда по этому "кое-чему" и проходи )
Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
Можно, конечно, сделать и purgeall, а потом заново их создать, но опять же командные методы понадобятся...
Кто сказал про обязвтльность командных методов для создания слоя?

Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
В AutoCAD'е использовал S::STARTUP и горя не знал, но тут появился nanoCAD.
Тогда не парься лиспом и переходи на NET. Сэкономишь тьму времени, сил и нервов.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.02.2024, 15:59
#7
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


"Слой" - для примера. Там у меня ещё и вставка блока была...

----- добавлено через ~3 мин. -----
Цитата:
Тогда не парься лиспом и переходи на NET.
Visual Studio 2022 пойдёт или нужна будет другая версия?
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 12.02.2024, 16:02
#8
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
Там у меня ещё и вставка блока была...
Че, прям интерактивная, на курсоре болтается? Или все же программная "вставить и сразу удалить вхождение"?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.02.2024, 16:04
#9
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Цитата:
Тогда по этому "кое-чему" и проходи )
А чем ? Я только с помощью _purge выборочно знаю, как.

----- добавлено через ~3 мин. -----
Цитата:
Че, прям интерактивная, на курсоре болтается?
Не, от этого давно отказался.

Вставка ведь не только, чтобы с собой все настройки притащить,
она у меня и как "зрительный элемент" оставалась. Типа, проверил,
если нет - вставил.
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 12.02.2024, 16:16
1 | #10
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
Я только с помощью _purge выборочно знаю, как.
Зависит от того, что ты пытаешься вычистить. К примеру, для блоков^
Код:
[Выделить все]
 (vlax-for block_def (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))
(if ; тут проверки на внешние ссылки / анонимные блоки / блоки таблиц / ...
(vl-catch-all-apply '(lambda() (vla-delete block_def)))
)
)
Аналогично по текстовым стилям, размерным стилям и т.п. Может быть, придется еще и по словарям проходить (типа табличные стили / стили мультилиний и т.п.)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 13.02.2024, 13:52
#11
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


А если на одно и то же событие назначено несколько реакторов,
(скажем, один "мой", а другой "какой-то левый"), то определено,
в каком порядке они будут отрабатывать?

Или это непредсказуемо?
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 13.02.2024, 14:04
1 | #12
Кулик Алексей aka kpblc
Moderator

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


По-моему, в каком порядке они определены, в таком и будут срабатывать. Это если полного сброса нет (на лиспе, кажется, vlr-remove-all, но не уверен).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.02.2024, 14:07
1 | #13
Сергей812


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


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
Или это непредсказуемо?
не гарантируемо, скажем так)

Что такое обработчик (реактор): это когда в коде основного процесса в блоке генерации события делается список ссылок на внешние функции-обработчики событий с определенной сигнатурой (списком типов аргументов). И когда выполнение кода в основном процессе доходит до этого списка ссылок и он (список) не пустой, то будет вызвана каждая из внешних функций с передачей ей аргументов в обусловленном сигнатурой порядке. И когда список закончится - продолжится выполнение кода основного процесса. Так вот - выполнение внешней функции обработчика (реактора) события гарантировано (если произойдет генерация этого события в основном процессе, конечно), но порядок следования ссылок в этом списке - 100% не гарантирован (чтобы на него жестко завязываться).
Сергей812 вне форума  
 
Непрочитано 01.07.2024, 14:17
#14
Ingpro


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


error
Ingpro вне форума  
 
Автор темы   Непрочитано 01.07.2024, 14:24
#15
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Не совсем так - в начальном запросе речь шла о создании стиля,
а не установки текущим уже созданного.
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 02.07.2024, 05:46
#16
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,299
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
В AutoCAD'е использовал S::STARTUP и горя не знал, но тут появился nanoCAD
И он умеет shell_exec
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 02.07.2024, 06:42
#17
nickname2019


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


Может сделать отдельную нормальную функцию и запустить ее в реакторе через командную строку? Она же на сразу выполнится, а после завершения работы кода реактора?
Или эту функцию запускать через таймер (полсекунды)?
nickname2019 вне форума  
 
Автор темы   Непрочитано 02.07.2024, 06:55
#18
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Цитата:
И он умеет shell_exec
Намёк - оно, конечно, хорошо. А можно чуть подробнее?
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 02.07.2024, 07:44
#19
Кулик Алексей aka kpblc
Moderator

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


Как-то не понял, каким боком тут shell_exec вообще. Создать текстовый стиль с shx-шрифтом геморно, но не могу сказать, что нереализуемо.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 02.07.2024, 07:55
#20
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,299
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
каким боком тут shell_exec
Интересовались startup..
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 02.07.2024, 08:02
#21
Кулик Алексей aka kpblc
Moderator

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


Дык это из другой оперы вроде как. Это как сравнивать теплое и квадратное. Или я ошибаюсь?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 07.07.2024, 13:50
#22
skkkk


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


Когда мне бывает надо запустить команду из-под реактора, я использую vla-SendCommand.
skkkk вне форума  
 
Непрочитано 07.07.2024, 17:18
#23
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от skkkk Посмотреть сообщение
Когда мне бывает надо запустить команду из-под реактора, я использую vla-SendCommand.
... что, скорее всего, означает, что ты делаешь что-то не то. Или не так. Или не там
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 08.07.2024, 05:24
#24
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Да всё он правильно делает... Скорее всего. :-)

Я, например, (исходная-то тема ещё в феврале создана была)
только такой способ и нашёл, чтобы корректно сформировать
в NC отсутствующую в нём функцию S::STARTUP.

Может, быть, конечно, и более изящные решения есть, но у меня
пока всё работает, как задумано. Ну и славно.
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 08.07.2024, 09:42
#25
Сергей812


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


странно, что нанокадовцы не стали реализовывать одну из часто употребляемых функций autolisp)
Сергей812 вне форума  
 
Непрочитано 08.07.2024, 10:34
#26
Кулик Алексей aka kpblc
Moderator

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


Там лисп принципиально по-другому реализован. Начиная с того, что грузится не в документ, а в приложение. Да и части ограничений вроде бы нет. Особо не влезал.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 08.07.2024, 10:50
#27
Сергей812


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


ну с лиспом в нано такой же маркетинговый ход, как в свое время к акаду VBA сбоку прикрутили) Но можно было бы допилить хотя бы базовый функционал для привлекательности продукта - люди до сих пор на лиспе пишут же...
Сергей812 вне форума  
 
Непрочитано 08.07.2024, 14:20
#28
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,299
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
ну с лиспом в нано такой же маркетинговый ход, как в свое время к акаду VBA сбоку прикрутили)
большинство востребованных лиспов сообществом адаптированы под нану.
просто здесь по другому работает, лиспы грузятся в приложение, поэтому выполнить лисп при открытии файла получится только через реакторы , ну или психанет кто и напишет на NET launchFromDoc)))
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 08.07.2024, 14:21
#29
Кулик Алексей aka kpblc
Moderator

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


Угу, который либо имитирует команды, либо под лиспом будет жить от 24 версии и дальше?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 08.07.2024, 14:44
#30
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,299
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Угу, который либо имитирует команды, либо под лиспом будет жить от 24 версии и дальше?
это ты про LispFunction)))
отчего жэж..

Загорулько норм идею подогнал

подписываемся на DocumentActivated
проверяем, что первый раз активирован док
читаем пользовательский файл типа такого (можно в инит прочитать и держать в памяти)
Код:
[Выделить все]
[\lspModules]
D:\setup\nCAD\lsp Nano\test.LSP
[\NrxModules]
d:\@Developers\В работе\!Текущее\Programmers\!NET\SmartLine_2.1.1_nanoCAD_23\SmartLine.package
[\NetModules]
 d:\@Developers\В работе\!Текущее\Programmers\!NET\SmartLine_2.1.1_nanoCAD_23\SmartLine.package
и загружаем модули
профит, модуль подгружается при открытии файла, че то там настраивает внутри, чистит создает
------------
тот жэж реактор, но более цивилизованный)
PS естественно без проверки, только концепт, мож у них DocumentActivated затычка стоит((
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 08.07.2024, 15:36
#31
Кулик Алексей aka kpblc
Moderator

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


Зачем DocumentActivated, когда достаточно DocumentCreated?
Вроде на убитом форуме было нетовское решение, но повторять как-то пока не тянет.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 08.07.2024, 16:30
#32
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,299
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Зачем DocumentActivated, когда достаточно DocumentCreated?
Не проверял, но вроде писали, что по created ничо с документом сделать не даст, но это неточно

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Вроде на убитом форуме было нетовское решение, но повторять как-то пока не тянет
Дык я от задачи пишу, у меня такой тоже нет.
Кому надо напишут
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 08.07.2024, 16:56
#33
skkkk


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
... что, скорее всего, означает, что ты делаешь что-то не то. Или не так. Или не там
Алексей, ты и прав и нет
Я определённо делаю что-то явно не то, и явно несуразное, но я утверждаю, что из реактора реально вызвать командные методы, по крайней мере, на автокад 2011 и 2022 к примеру, при построении отрезка (командный реактор) вызвать очистку чертежа. Командными методами.

----- добавлено через ~3 мин. -----
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Там лисп принципиально по-другому реализован. Начиная с того, что грузится не в документ, а в приложение. Да и части ограничений вроде бы нет. Особо не влезал.
Как там было? Я давно отключил подписи на форуме
"Майский жук летать не должен, но он об этом не знает, и летает" (пересказ цитаты).

----- добавлено через ~4 мин. -----
Offtop:
Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
Да всё он правильно делает... Скорее всего. :-)
Похоже, кто-то ещё в теме?


----- добавлено через ~6 мин. -----
Предлагаю возродить старую добрую традицию Vov'ы - устроить конкурс?

----- добавлено через ~9 мин. -----
===AAA===, хотя, почитал, тему глубже, понял, что тебе для Нанокада надо. Тут не уверен.
skkkk вне форума  
 
Непрочитано 08.07.2024, 17:06
#34
Кулик Алексей aka kpblc
Moderator

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


Offtop:
Цитата:
Сообщение от skkkk Посмотреть сообщение
Командными методами.
ЕМНИП, команды в каде могут выполняться в синхронном и асинхронном режимах (не просто так в лиспе ввели command-s, КМК). И как работает vla-sendcommand, я не знаю.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.07.2024, 06:45
#35
skkkk


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
И как работает vla-sendcommand, я не знаю.
Ну чтоб не быть голословным, приведу пример.
Код:
[Выделить все]
 (vl-load-com)
(setq Cmnd_Reac (vlr-command-reactor "Реактор команд: "	(list '(:VLR-commandEnded . commandEnded))))
(defun commandEnded (reac data / ) ; конец какой-то комады ACad
	(setq CMD (car data))
	(if 
		(member 
			CMD 
			(list ; если это была команда, ОТРЕЗОК или ПЛИНИЯ
				"_LINE" "LINE"
				"_PLINE" "PLINE" 
			)
		) 
		(progn
			(setq adoc (vla-get-ActiveDocument (vlax-get-acad-object)))
			(vla-SendCommand adoc "_-PURGE _A \n_N ")
		)
	)
)
Надо загрузить этот код в Кад и выполнить команду _LINE. По её завершении произойдёт очистка чертежа командой _-PURGE.
skkkk вне форума  
 
Непрочитано 09.07.2024, 07:55
#36
Кулик Алексей aka kpblc
Moderator

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


ЕМНИП, command выполняется в асинхронном режиме - т.е. код отправляет эту команду на выполнение и не сильно заморачивается с ожиданием ее выполнения. Аналогично сейчас ведет себя и vl-cmdf. command-s же блокирует код до завершения своего выполнения.
Как именно в этом разрезе будет вести себя vla-sendcommand, я не знаю. Вроде бы на adn-cis.org в какое-то время это обсуждалось
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.07.2024, 09:02
#37
skkkk


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
в асинхронном режиме
В своё время я не особо заморачивался с такими нюансами, но помню, что у Полещука было сказано, что из-под реакторов командные методы недоступны. "А что с vla-SendCommand?"- подумал я и решил попробовать. И получилось
skkkk вне форума  
 
Автор темы   Непрочитано 09.07.2024, 09:48
#38
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Насчёт асинхронного режима.

Чтобы всё было ОК, (vla-SendCommand) просто
нужно давать в самом конце реактора.
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 09.07.2024, 12:20
#39
Кулик Алексей aka kpblc
Moderator

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


... а еще лучше вообще без него попытаться обойтисб ИМХО
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.07.2024, 14:19
#40
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,299
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Зачем DocumentActivated, когда достаточно DocumentCreated?
как всегда ты прав)))

Код:
[Выделить все]
  public class MyCommands : IExtensionApplication
  {
      void IExtensionApplication.Initialize()
      {
          Application.DocumentManager.DocumentCreated
            += DocumentManager_DocumentCreated;
      }
        void DocumentManager_DocumentCreated(object sender, DocumentCollectionEventArgs e)
        {
            //Set flag and send PLINE 
            Document doc = App.Application.DocumentManager.MdiActiveDocument;
            string lispPath = "c:/SDK_NC/NC_SDK_RU_24.0.6388.4326.7145/samples/Lisp/DCL/helloworld.lsp";
            string lispCmd = "helloworld";
            string loadStr = string.Format("(progn(load \"{0}\") (command \"{1}\"))\n", lispPath, lispCmd);
            doc.SendStringToExecute(loadStr, false, false, false);
        }
}
при создании-открытии нового документа здоровается)))
--------------
upd положил сборку в автозагрузку...
единственное НО, так как автозагрузка грузится уже после создания/загрузки первого документа, естественно на первом док не срабатывает
c napp.ini аналогичная шляпа(
__________________
Мастерская СПДС

Последний раз редактировалось doctorraz, 09.07.2024 в 15:36.
doctorraz вне форума  
 
Непрочитано 09.07.2024, 15:20
#41
Кулик Алексей aka kpblc
Moderator

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


Стесняюсь спросить - а что, сделать самовызывающийся лисп уже не катит? )
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.07.2024, 15:43
#42
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,299
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Стесняюсь спросить - а что, сделать самовызывающийся лисп уже не катит? )
дык командные методы из реактора в лиспе жэж вроде не работают)))
а так то таже шляпа только в профиль, доделки переделки за нанодевами((
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 15.07.2024, 08:45
1 | #43
Кулик Алексей aka kpblc
Moderator

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


Слегка поигравшись, получилось нечто типа https://autolisp.ru/2024/07/15/nanocad-startup/
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Чем в реакторе заменить команды STYLE и PURGE ?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести меню команды в командной строке? (пояснения внутри) Booka1a AutoCAD 16 02.02.2018 17:55
Как настроить команды "штриховка" и "массив"? Katerina_R AutoCAD 8 24.11.2017 08:29
Как в AutoCAD на Mac открыть диалоговое окно команды Purge? Geor9e AutoCAD 7 09.06.2017 07:08
Разная работа команды purge Genf AutoCAD 0 15.02.2017 21:42
Не получается задать команды в acad.pgp VamBEER AutoCAD 3 22.11.2016 14:56