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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Добавление кнопки для открытия lisp-приложения

Добавление кнопки для открытия lisp-приложения

Ответ
Поиск в этой теме
Непрочитано 01.10.2009, 12:58 #1
Добавление кнопки для открытия lisp-приложения
Макс_Кунгур
 
Регистрация: 10.12.2008
Сообщений: 122

Добрый день. Подскажите, пожалуйста, как в AutoCAD 2007 добавить кнопку, при нажатии на которую, вызывалось бы lisp-приложение, которое рисует линии (оно уже создано, назовем его test.lsp).
Просмотров: 13070
 
Непрочитано 01.10.2009, 13:03
#2
Кулик Алексей aka kpblc
Moderator

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


А в dwg.ru/art/8 про это не сказано?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 01.10.2009, 13:51
#3
Макс_Кунгур


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


Кулик Алексей aka kpblc, там сказано, как при загрузке AutoCAD этот lisp загружался. А мне надо создать кнопку на панели инструментов, чтобы, когда это нужно, нажимаешь на нее и она рисует то, что написано в lisp. Если по другому задать вопрос, то это будет выглядеть так: как создать новую кнопку на панели инструментов и привязать к ней lisp-приложение?
Макс_Кунгур вне форума  
 
Непрочитано 01.10.2009, 13:57
#4
Кулик Алексей aka kpblc
Moderator

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


Не могу понять - код на кнопку, что ли, надо? В наиболее простом случае (без проверки загруженности, например):
Код:
[Выделить все]
^C^C(load "c:\\lisp\\test.lsp");test
Так?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 01.10.2009, 13:59
#5
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,826
<phrase 1=


Кулик Алексей aka kpblc, думаю лучше так
Цитата:
^C^C(if (null C:<команда>)(load "<файл>"));<команда>;
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 01.10.2009, 13:59
#6
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Можно еще вот сюда посмотреть:
http://dwg.ru/art/2
Profan вне форума  
 
Автор темы   Непрочитано 01.10.2009, 14:07
#7
Макс_Кунгур


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


Кулик Алексей aka kpblc, я попробовал, то что вы написали. Нажимаю на кнопку, программа внизу в командах пишет:
Command: (load "d: и больше ничего не делается. Подскажите,пожалуйста, в чем проблема?

Последний раз редактировалось Макс_Кунгур, 02.10.2009 в 07:32.
Макс_Кунгур вне форума  
 
Непрочитано 02.10.2009, 10:14
#8
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,826
<phrase 1=


Макс_Кунгур, внимательно почитай ссылку из поста 6
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Автор темы   Непрочитано 02.10.2009, 10:52
#9
Макс_Кунгур


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


zenon, попробовал, то же самое получается. Я прописываю:
^C^C(if (null C:test4)(load "d:\\base\\test_new.lsp"));test4;
Пишет внизу:
Command: (if (null C:test4)(load "d:
и дальше ничего не происходит
Макс_Кунгур вне форума  
 
Непрочитано 02.10.2009, 11:00
#10
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Помести файл test_new.lsp в папку, находящуюся на пути доступа AutoCAD к файлам поддержки и тогда твой макрос станет таким:

Код:
[Выделить все]
 
^C^C(if (null C:test4)(load "test_new"));test4;
Profan вне форума  
 
Непрочитано 02.10.2009, 11:03
#11
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


А попробуй поменять 2 обратных на один прямой.

^C^C(if (null C:test4)(load "d:/base/test_new.lsp"));test4;
E-degtyarev вне форума  
 
Непрочитано 02.10.2009, 11:03
#12
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,826
<phrase 1=


Макс_Кунгур, а эту статью тоже читал?
http://dwg.ru/art/8
особливо "Организация библиотеки лисп файлов"
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Автор темы   Непрочитано 02.10.2009, 11:41
#13
Макс_Кунгур


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


E-degtyarev, большое спасибо, заработало.
Макс_Кунгур вне форума  
 
Непрочитано 04.11.2012, 13:50
#14
Лидика


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


Здравствуйте! У менятакая проблема: у меня есть необходимый мне лисп по именем mrotate_center. Я дейтвую согласно http://dwg.ru/art/8 создаю для него кнопку и прописываю путь ^C^C(if (null C:mrotate_center)(load "mrotate_center"));mrotate_center;. Когда я его запускаю то автокад пишет мне- ; ошибка: no function definition: VLAX-GET-ACAD-OBJECT. Тогда я пишу Команда: (vl-load-com). Лисп начинает работать. Файл закрываю. сохраняю. Открываю вновь и при вызове данной команты он опять пишет туже ошибку. Согласно http://dwg.ru/art/8 "Наберите в командной строке (vl-load-com) или (предпочтительнее) добавьте ее в начало lisp файла". Что делать? напишите пожалуйста пример.
__________________
Мне нужно все
Лидика вне форума  
 
Непрочитано 04.11.2012, 14:29
#15
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


добавь (vl-load-com) в acaddoc20xx.lsp и будет тебе счастье
gomer вне форума  
 
Непрочитано 04.11.2012, 19:23
#16
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


Offtop: Лидика, я восхищен , что вы так внятно все прочитали
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 04.11.2012, 20:31
#17
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Лидика Посмотреть сообщение
у меня есть необходимый мне лисп по именем mrotate_center
Открываем его блокнотом. И:
Цитата:
Сообщение от Лидика Посмотреть сообщение
добавьте
Цитата:
Сообщение от Лидика Посмотреть сообщение
в начало lisp файла
Цитата:
Сообщение от Лидика Посмотреть сообщение
(vl-load-com)
Файл сохраняем и все будет хорошо
Do$ вне форума  
 
Непрочитано 05.11.2012, 00:34
#18
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


Do$, судя по всему она так и делает :
Цитата:
Тогда я пишу Команда: (vl-load-com). Лисп начинает работать. Файл закрываю. сохраняю
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 05.11.2012, 12:15
#19
Лидика


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


Цитата:
Сообщение от gomer Посмотреть сообщение
добавь (vl-load-com) в acaddoc20xx.lsp и будет тебе счастье
А не подскажете где мне найти этот файл?
__________________
Мне нужно все
Лидика вне форума  
 
Непрочитано 05.11.2012, 12:30
#20
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992


Цитата:
Сообщение от gomer Посмотреть сообщение
acaddoc20xx.lsp
У меня тоже нету такого файла!
Nike вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Добавление кнопки для открытия lisp-приложения

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имеются ли приложения к AutoCAD для расчетов по гидравлике? Olivka Поиск литературы, чертежей, моделей и прочих материалов 8 05.06.2022 16:28
LISP. Выравнивание текста по двум точкам. Krieger Готовые программы 10 24.12.2011 16:02
Создание кнопки для динамического блока nik7 Динамические блоки 4 23.12.2008 15:33
LISP для AutoCAD-2009: проблемы со скобками Лентяй LISP 14 16.11.2008 02:40
Как вывести текст в model из приложения написанного на lisp? paradoxvaha AutoCAD 3 16.04.2007 03:54