|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
05.11.2009, 13:57 | #1 | |
Нужно повесить лисп программу на кнопку
Регистрация: 05.11.2009
Сообщений: 4,360
|
||
Просмотров: 15805
|
|
||||
Нитонисе, Приведи здесь решения, раз разобрался. Для потомков
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 05.11.2009
Сообщений: 4,360
|
Ну тогда расскажу)
Вешаю лисп-программу на кнопку. Создаю файл acad.lsp, в котором определяю функцию, запускающую действия из моей лисп-программы. Эта функция вызывается по имени. Захожу в автокаде (2008) в меню "Адаптация", создаю там новую панель и новую команду. Прописываю макрос ^C^C(<имя функции>), где <имя функции> - это как раз название функции, определенной в файле acad.lsp. Далее выбираю для своей новой команды пиктограмму для кнопки и затаскиваю ее на свою панель инструментов. Вешаю на кнопку запуск приложения из автокада. Опять же в меню "Адаптация" создаю новую команду. Макрос выглядит так - ^C^C(startapp "C://Program Files//AutoCAD 2008//MyProg.exe"), тутуказан путь к нужной мне программе MyProg.exe, которую я поместил в директории автокада. Снова же подбираю подходящую пиктограмму для кнопки и размещаю ее на моей панели инструментов. Кажется ничего не забыл) |
|||
|
||||
Добрый день. прошу помочь в следующем:
Пытаюсь повесить на кнопку лисп. Название команды XA$ (в лиспе запись: defun C:XA$) Автокад 2017 Lisp команды подгружены открываю панель: "Адаптация пользовательского интерфейса" сознаю новую команду прописываю макрос: ^C^C(XA$) вешаю на свою панель кликаю на кнопку (пиктограмму) и получаю в командной строке запись "(XA" переписываю макрос: ^C^CXA$ кликаю на кнопку (пиктограмму) и получаю в командной строке запись "XA" переписываю макрос: ^C^CXAdollar кликаю на кнопку (пиктограмму) и получаю в командной строке запись "Команда: XAdollar Неизвестная команда "XADOLLAR". Для вызова справки нажмите F1." переписываю макрос: ^C^C_XA$ кликаю на кнопку (пиктограмму) и получаю в командной строке запись "_XA" Подскажите, плиз, правильную маску для записи макроса, перепробовал кучу всего, править лисп - не вариант либо данной команде повесить дополнительную команду, если вся проблема в спец символе "$" Учитывая что LISPы подгружены, выполнил проверку по команде без спецсимвола прописал макрос ^C^CMA, где команда в LISP "MA" - и все работает Последний раз редактировалось d.mOnII, 20.04.2017 в 14:04. Причина: уточнение о подгруженных LISP |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
А лисп точно загружен? Вызов с ком.строки срабатывает? Если оба ответа "да", попробуй так:
^C^Cxa$;
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Цитата:
переписываю макрос по Вашей маске: ^C^CXA$; кликаю на кнопку (пиктограмму) и получаю в командной строке запись "XA" |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
d.mOnII, код приведи.
limonuwka, через лисп определяешь свою команду и ее вызываешь. Самое простое решение
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
при вводе в ком. строке нажимаем ENTER затем еще раз ENTER открывается диалоговое окно для подгрузки внешней ссылки
работает при условии: 1. файл сохранен в параллельной папке 2. в файле присутствует сервисный слой ZS_STDL_XREF 3. файл ссылки расположен в папке xrefs (в том же корневом каталоге) Последний раз редактировалось d.mOnII, 20.04.2017 в 22:39. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
d.mOnII, а у тебя слои-то есть в файле? Именно те, которые нужны? Посмотри, что тебе ACAD в ком.строке говорит (клавиша F2). Качество кода не оцениваю. Так, вроде бы, должен быть рабочий
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
|
||||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Действительно, я не читал твою исповедь в #4, я проглядел код и увидел, что символ $ упоминается только в имени функции (команды). А раз так, то и заменить его. Да еще и локализовать программу можно. Но если нельзя, тогда на фиг.
P.S. Почему это Profan - 2? А не 522? |
|||
|
||||
Регистрация: 05.11.2014
Сообщений: 978
|
https://dwg.ru/pub/6
$, $M= Специальный символ, служащий для ввода выражений, написанных на языке DIESEL. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Первая часть определяет новую команду, поскольку менять название команды нельзя. Вызывается в меню именно "новая", вот и все.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как на кнопку клавиатуры повесить выполнение команды | kol | AutoCAD | 12 | 14.09.2016 10:30 |
Повесить Esc на боковую кнопку мыши | BM60 | AutoCAD | 37 | 18.01.2012 00:14 |
Повесить свою ПСК на кнопку | postbudka | AutoCAD | 6 | 08.02.2009 10:54 |
Как на самодельную кнопку повесить комбинацию клавиш? | Neznayka | AutoCAD | 5 | 17.09.2005 13:02 |
Как повесить на кнопку Включение определенного набора слоев | ilka_t | AutoCAD | 6 | 16.06.2005 15:50 |