NanoCAD: проблема с назначением на кнопку КОМАНДЫ - Страница 2
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > NanoCAD: проблема с назначением на кнопку КОМАНДЫ

NanoCAD: проблема с назначением на кнопку КОМАНДЫ

Ответ
Поиск в этой теме
Непрочитано 15.03.2024, 12:18
NanoCAD: проблема с назначением на кнопку КОМАНДЫ
===AAA===
 
г. Норильск
Регистрация: 15.08.2005
Сообщений: 616

Всем привет!

Опять же в Автокаде всё прекрасно работало, а в наноКАДе не получается.

Назначаю на кнопку панели инструментов КОМАНДУ (т.е. не функцию)

^C^C^P(load"c:/путь/имя.lsp")(princ) ^PD_ABC

где D_ABC оформлена, как команда, т.е. (defun C: D_ABC ... и так далее ...)

***После С: "пробел" стоит специально, иначе в данном сообщении "рожа" рисуется, типа

Подгрузка каждый раз при нажатии на кнопку - для отладки.

Т.е. нажал кнопку, посмотрел, как работает, поправил файл, снова нажал кнопку...
Или чтобы код большой в памяти всё время не держать - неважно.

В Автокаде всё чудесно работает, а вот в наноКАДе эта же самая конструкция
при первом вызове выдаст:



Команда: D_ABC
Неправильный ключ или команда. Введите (') для команды или (?) для математического выражения: D_ABC

Т.е. загрузка отрабатывает (определение команды появляется), а вот её выполнение - нет.

При втором/третьем/четвёртом нажатии на кнопку может сработать ... или не сработать ... или вообще
запустить невесть что ("сохранить рисунок, как растр", "печать" и прочие произвольные команды).
А вот если оформить это дело не командой, а функцией (т.е. без C:xxx ) - то всё стабильно и нормально.

Конечно, дело не в коде. Для теста использовался такой вот примитив:

(defun C: D_ABC ( / p)
(write-line "Начало...")
(setq p (+ 5 5))
(print p)
(write-line "...конец.")
(princ)
)

Где собака порылась, может, что-то в определении *.cfg-файла не то?

Вот реальное определение кнопки для команды:

[\ConfigMan\Commands\ID_SdVerDwg]
cmdtype=i1
weight=i50
Intername=sID_SdVerDwg
LocalName=sID_SdVerDwg
BitmapDll=sD:\DREAMn\sd_vda32.bmp
DispName=sПроверка
StatusText=sКомплексная проверка чертежей
Keyword=s^C^C^P(progn(load"d:\\dreamn\\nd_abc.lsp")(princ)) ^PD_ABC
IsUserCommand=f1

Для функции строка
Keyword=
конечно, будет немного другая, но там вопросов нет.
__________________
Счастливо, Алексей!
Просмотров: 4300
 
Непрочитано 19.03.2024, 13:07
#21
doctorraz

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


в соответствии с ТЗ

Код:
[Выделить все]
 [\ConfigMan\Commands\nap2]
weight=i30
cmdtype=i1
Caps=W60
Intername=snap_2
BitmapDll=snewbtns.dll
StatusText=sТест
DispName=sТест
Keyword=s(progn(load"d:\\setup\\nCAD\\lsp Nano\\test.LSP")(command "nap")(princ))
Icon=sPURGE
LocalName=sНАНОАП_2
по энтер и пробелу повторяет nap
на ПКМ в истории появляется
---------------
nap_2 или НАНОАП_2 вызов с подгрузкой он не повторяется, только по кнопке


======================
ну и это жэж все видели?
https://habr.com/ru/articles/780312/
__________________
Мастерская СПДС

Последний раз редактировалось doctorraz, 19.03.2024 в 13:18.
doctorraz вне форума  
 
Автор темы   Непрочитано 19.03.2024, 14:55
#22
===AAA===


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


Цитата:
Keyword в историю не попадает...
Не совсем так. Если Keyword "примитивный", т.е. состоит только из одной
команды, каким-нибудь образом загруженной/определённой ранее, т.е.:

Keyword=s^C^CD_ABC

То эта команда D_ABC вполне себе попадёт а историю и может быть
повторно вызвана ПКМ.

Все проблемы начинаются, когда очень хочется повесить на кнопку и загрузку
(перезагрузку) и последующее выполнение этой команды, как команды.

----- добавлено через ~5 мин. -----
Опаньки!

Код:
[Выделить все]
 (command "nap")
nanoCAD умеет через (command ) запускать определённые
в LISP-файле команды?

Интересно, интересно...

Автокад такого не позволял, поэтому я этот вариант даже
и не рассматривал.
__________________
Счастливо, Алексей!

Последний раз редактировалось ===AAA===, 19.03.2024 в 15:01.
===AAA=== вне форума  
 
Непрочитано 19.03.2024, 15:27
#23
doctorraz

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


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
Все проблемы начинаются, когда очень хочется повесить на кнопку и загрузку
(перезагрузку) и последующее выполнение этой команды, как команды
Ты жэж конфиг выше проверил?
Только Intername имя команды не присваивай, либо держи наготове диспетчер задач)))

----- добавлено через ~1 мин. -----
Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
nanoCAD умеет через (command ) запускать определённые
в LISP-файле команды?
Видно жэж, что нанокад умеет в кейворд запускать целые дисп выражения
__________________
Мастерская СПДС
doctorraz вне форума  
 
Автор темы   Непрочитано 19.03.2024, 15:36
#24
===AAA===


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


Цитата:
Ты жэж конфиг выше проверил?
Это я писал до того, как увидел пост #21 :-)

Сразу кинулся тестировать новый для меня способ (command команда)

и обнаружил, что он рабочий ... лишь частично. :-(((

Т.е. да - команда отрабатывает, но вывод её сообщений в командную строку
не производится (работает только alert), и непонятно как она себя поведёт (ещё не
тестировал), если внутри её будут использованы-таки командные методы, т.е.
будет вызов (command ) внутри (command) ...
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 19.03.2024, 16:24
#25
doctorraz

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


Тебе прям принципиально, не закидывать команды в автозагрузку?
Или нужна возможность каждый раз перезагружать команду при ее вызове?
Кроме исследования цель есть?
__________________
Мастерская СПДС
doctorraz вне форума  
 
Автор темы   Непрочитано 19.03.2024, 16:35
#26
===AAA===


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


Цитата:
Кроме исследования цель есть?
Уже больше исседовательская...

Фиг с ним, закину в автозагрузку. Ну, будет 1-й чертёж открываться на
доли секунды дольше. Не критично. Но и не спортивно. :-)

А вдруг кто из читателей форума сумеет достучаться до разработчиков nanoCAD,
и они всё поправят? А то ведь и не знают, родимые, как народ страдает... :-)
Видать бета-тестеров нормальных у них не было...
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 19.03.2024, 17:51
#27
doctorraz

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


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
вдруг кто из читателей форума сумеет достучаться до разработчиков nanoCAD,
и они всё поправят?
Хм, часто трудно понять это бага или особенность работы))
Опять жэж можно кинуть в автозагрузку, но незагружать, а загружать точно такжэж повызову
__________________
Мастерская СПДС
doctorraz вне форума  
 
Автор темы   Непрочитано 20.03.2024, 05:48
#28
===AAA===


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


Цитата:
Опять жэж можно кинуть в автозагрузку, но незагружать, а загружать точно такжэж повызову
С функциями (а они у меня разделены по разным библиотекам опять же для
ускорения загрузки) я так и поступаю, с командами - не пробовал.
Необходимости не было. И проблем. В Автокаде.
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 20.03.2024, 07:07
#29
doctorraz

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


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
Необходимости не было. И проблем. В Автокаде.
Offtop: Нано другой кад, очевидно, что и работает по другому.
Ну и чем ждать пока сделают как там, быстрее и незатратнее изменить свои бизнес процессы чем пытаться их реализовать в нано
__________________
Мастерская СПДС
doctorraz вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > NanoCAD: проблема с назначением на кнопку КОМАНДЫ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C#. nanoCAD, Autocad. Экспорт геометрии в позиционный проект Stark ES Нубий-IV Готовые программы 2 27.05.2024 15:17
.Net TableAutoComplete2 - Автозаполнение строк спецификации. Поддержка баз оборудования Nanocad valerik88 Готовые программы 5 19.06.2023 08:40
Вызов команды лиспа без скобок и запись команды в файле acad.pgp Ingpro LISP 10 02.12.2022 15:12
Проблема с ксероксом Canon PC860 _Oleg_ Разное 5 26.12.2007 10:18
Проблема при применении команды BHATCH Torino AutoCAD 4 20.01.2004 18:06