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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как из автокада с помощью макроса-кнопки запустить файл exe

Как из автокада с помощью макроса-кнопки запустить файл exe

Ответ
Поиск в этой теме
Непрочитано 19.11.2007, 08:14 #1
Как из автокада с помощью макроса-кнопки запустить файл exe
dextron3
 
проектировшик
 
СССР
Регистрация: 01.01.2007
Сообщений: 5,149

В автокаде создается кнопка нажав на которую можно допустим запустить ВОРД, или игру, или icq т.е. любое приложение вне автокада
(хотелось бы чтобы автокад был как бы рабочая система)

Буду премножественно благодране советы по созданию ярлыков на быстрой панели не принимаются
__________________
инженер проектировшик с опттом программа авто гад образование высшие
Просмотров: 15165
 
Непрочитано 19.11.2007, 08:16
#2
Кулик Алексей aka kpblc
Moderator

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


http://www.caduser.ru/cgi-bin/f1/board.cgi?t=8521ax
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 19.11.2007, 08:45
#3
Profan


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


Вообще-то, это баловство. И не имеет никакого смысла. Вот в DOS был смысл запускать NC или DN, или ME из под AutoCAD.
Profan вне форума  
 
Непрочитано 19.11.2007, 08:52
#4
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Profan Посмотреть сообщение
Вообще-то, это баловство. И не имеет никакого смысла. Вот в DOS был смысл запускать NC или DN, или ME из под AutoCAD.
Я бы не взялся так утверждать. Хотя MS Word запускать из-под aсad'a, это, конечно сильно. И потом, запущенное приложение все равно как-то надо закрывать.
P.S. Кстати, можно попробовать посмотреть вообще поиск по caduser.ru, там и темы, и ответы на них были...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.11.2007, 08:53
#5
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение

а макросов я там и не нашел
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 19.11.2007, 09:30
#6
Profan


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


А зачем макросы? Прописать в acad.pgp и все.
Для Кулик Алексей aka kpblc.
А я вот возьмусь утверждать: запускать ICQ из AutoCAD - совершенно нелепое баловство.
Profan вне форума  
 
Непрочитано 19.11.2007, 09:52
#7
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Например для блокнота:
Код:
[Выделить все]
^C^C(startapp "notepad.exe")
Вторым аргументом можно указать открываемый документ, типа:
Код:
[Выделить все]
^C^C(startapp "notepad.exe" "c:/Documents and Settings/bla-bla/enu/Support/acad.pgp")
Krieger вне форума  
 
Непрочитано 19.11.2007, 09:52
#8
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Может это поможет
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=32895sr
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 19.11.2007, 10:28
#9
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Profan Посмотреть сообщение
А зачем макросы? Прописать в acad.pgp и все.
Для Кулик Алексей aka kpblc.
А я вот возьмусь утверждать: запускать ICQ из AutoCAD - совершенно нелепое баловство.
Возьмусь утверждать больше - запуск любого приложения вручную, через Автокад - баловство, а acad.pgp (ДОС-секция) - чистый рудимент.
Alaspher вне форума  
 
Непрочитано 19.11.2007, 10:38
#10
Кулик Алексей aka kpblc
Moderator

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


Ну тем не менее сам Autodesk таким баловством занимается в ADT (Content Browser - отдельный ехе-шник, запускается из-под ADT спец.командой и висит отдельным процессом).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 19.11.2007, 11:04
#11
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Ну тем не менее сам Autodesk таким баловством занимается в ADT (Content Browser - отдельный ехе-шник, запускается из-под ADT спец.командой и висит отдельным процессом).
Основная задача этого приложения - взаимодействие с Автокадом, при том, что изредка оно может использоваться и отдельно, так что в данном случае это не совсем внешнее приложение, с точки зрения работы пользователя.
Alaspher вне форума  
 
Непрочитано 19.11.2007, 11:33
#12
Кулик Алексей aka kpblc
Moderator

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


Ну тогда получается, что внешний текстовый редактор (типа notepad ) теоретически тоже можно отнести к такому "не совсем внешнему" приложению.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 19.11.2007, 11:38
#13
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Ну тогда получается, что внешний текстовый редактор (типа notepad ) теоретически тоже можно отнести к такому "не совсем внешнему" приложению.
Если он прописан в качестве текстового редактора - да. Но тогда он и запускается автоматом.
Alaspher вне форума  
 
Непрочитано 19.11.2007, 14:20
#14
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Действительно, запуск внешних приложений из acad.pgp - рудимент.

Действительно, в DOS он имел большое значение. Особенно в AutoCAD-10, когда было только "чёрное" главное меню, а имена файлов для открытия надо было руками писать.

Вот тогда делали хитрые оболочки, позволявшие иметь окружение для комфортной работы. Соответственно и хитрые bat-файлы и интенсивное использование acad.pgp, и .scr.. Тогда и ACAD умел "съёживаться" в памяти аж до 5КБ.

Внешние приложения, конечно, иногда надо и из современного Автокада запускать, особеноо когда надо передать вычисляемый аргумент командной строки. Но тут уж функция (startup ...) и ей подобные помогут. Но не PGP.

PS. Ждем следующий вопрос - как запустить приложение модально...
ShaggyDoc вне форума  
 
Непрочитано 19.11.2007, 14:43
#15
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
<...>PS. Ждем следующий вопрос - как запустить приложение модально...
Увы и ах, см.пост #2.
---
Добавлено: в коде надо будет заменить всего один параметр, и окно станет модальным по отношению к AutoCAD'у.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 17.12.2007, 11:30
#16
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


Command: (vla-open (vla-get-documents (vlax-get-acad-object))(findfile
"C:/Program Files/exampl/Metcalk/OD.dwg")) ; error: no function definition:
VLAX-GET-ACAD-OBJECT


Кнопка с открытием файла в автокаде
Почему-то перестала работать, хотя раньше все время работала...
Может гдето настройки сбились?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 17.12.2007, 11:34
#17
Кулик Алексей aka kpblc
Moderator

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


(vl-load-com) Забыл.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 17.12.2007, 11:49
#18
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


Кулик Алексей aka kpblc, спасибо! в начало поставил
, а какую функцию вставить чтобы после открытия оставалось на том что
открыло, а не перескакивало на предыдущий чертеж?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 17.12.2007, 11:54
#19
Кулик Алексей aka kpblc
Moderator

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


Лиспом не решабельно. А чего тебе в новом файле сделать-то надо?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.12.2007, 12:02
#20
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


У меня сделана следующая функция:
Код:
[Выделить все]
(defun m-open-dwg (dwg_file)
  (if (findfile dwg_file)
    (vla-activate
      (vla-open	(vla-get-documents (vlax-get-acad-object))
		dwg_file
      )
    )
    (prompt (strcat "Файл: " dwg_file " не найден..."))
  )
  (princ)
)
И соответственно макрос:
Код:
[Выделить все]
^C^C(m-open-dwg "D:/M-CAD/TemporaryHelp/M-ГОСТ 8509-93 Уголки стальные горячекатаные равнополочные.dwg")
Makswell вне форума  
 
Непрочитано 17.12.2007, 12:04
#21
Кулик Алексей aka kpblc
Moderator

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


После активирования файла выполнение лиспа прерывается. А так, если "только открыть и активировать", то чем _open не нравится?
---
Добавлено: ну на крайняк, чтобы не заморачиваться с cmddia и filedia, используйте _FILEOPEN (правда, оно, по-моему, работает только в однооконном режиме, сейчас проверю).
---
Добавлено 2: Нда, я погорячимшись... fileopen работает только в однодокументном режиме Сорри.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 17.12.2007 в 12:12.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.12.2007, 12:11
#22
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Да что-то _open у меня никак не хотело работать. Не помню точно, в макросе или лиспе это было, но вот никак! Тогда я и нашел это решение.
Кстати, решение это нашлось в одной из тем на форуме. Ну, по крайней мере, теория...
Makswell вне форума  
 
Автор темы   Непрочитано 17.12.2007, 12:37
#23
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


буду жать CTRL+TAB после выполнения макроса что поделать
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 17.12.2007, 12:47
#24
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Запуск команд и/или функций во всех открытых чертежах
[FONT=Arial]OpenDwgsCmds is a set of functions designed to execute a list of commands and functions on all open drawings. The CDC function, Current Drawing Commands, allows you to test these commands and functions on the current drawing. The ODC function, Open Drawings Commands, executes these commands and functions on all open drawings. There are several programming utilities included.[/FONT]
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 17.12.2007, 13:13
#25
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


а для чего такой лисп нужен, обычно в одном чертеже все работают
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 17.12.2007, 13:15
#26
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Цитата:
Сообщение от dextron3 Посмотреть сообщение
буду жать CTRL+TAB после выполнения макроса что поделать
А что, код в посте №20 не работает?
Makswell вне форума  
 
Автор темы   Непрочитано 17.12.2007, 14:23
#27
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


Цитата:
Сообщение от Makswell Посмотреть сообщение
А что, код в посте №20 не работает?
Работает, но кнопку сделал так

(vl-load-com) (if (= m-open-dwg nil) ( Load (findfile "Lisp/m-open-dwg.lsp"))) (m-open-dwg "C:/Program Files/exampl/Metcalk/OD.dwg")

просто зачем такой приметивный лиспик подгружать, нельзя все в макрос
засунуть?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 15.12.2008, 14:24
#28
acyxou


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


Люди добрые, а не подскажите как из автокада конкретное видео запустить, например установленным на всех компах Windows Media Player'ом? Попробовал по аналогии с текстовым документом и ничего не получилось. При написании на кнопку макроса такого вида ^C^C(startapp "wmplayer.exe") windows media player не запускается, хотя из меню Пуск-Выполнить-wmplayer.exe он отлично включается... Подскажите, плиз, как быть
acyxou вне форума  
 
Непрочитано 15.12.2008, 15:22
#29
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Плохо читал. В #8 дана ссылка. Там все есть. Прочитай про
"невозможность открытия ACDSee"
Код:
[Выделить все]
(vlax-invoke-method                                            ;<=Add
         (setq ws (vlax-get-or-create-object "wscript.shell")) ;<=Add
         "run"                                                 ;<=Add
         "wmplayer.exe"                                        ;<=Add
         1                                                     ;<=Add
         :vlax-true                                            ;<=Add
         )                                                     ;<=Add
       (vlax-release-object ws)                                ;<=Add
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 15.12.2008, 15:41 Кажется внешнее приложение кнопкой запускается так:
#30
barm

инженер-конструктор
 
Регистрация: 07.05.2008
Пенза
Сообщений: 29


^C^C(startapp "C://WINDOWS//system32//calc.exe ")
barm вне форума  
 
Непрочитано 15.12.2008, 15:43
#31
acyxou


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


Спасибо за ответ, VVA, но я чет не понял куда этот код пихать....
acyxou вне форума  
 
Непрочитано 15.12.2008, 15:47
#32
acyxou


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


Yeeee! barm did his magic!!!!

Как теперь прицепить к кнопке конкретное видео?
acyxou вне форума  
 
Непрочитано 15.12.2008, 16:49 Наверное так.
#33
barm

инженер-конструктор
 
Регистрация: 07.05.2008
Пенза
Сообщений: 29


^C^C(startapp "C://Program Files//Winamp//winamp.exe D://1//03Парус(2004)//06Парус.mp3 ")
barm вне форума  
 
Непрочитано 15.12.2008, 16:50 Я не знаю, как указать путь к файлу с пробелами.
#34
barm

инженер-конструктор
 
Регистрация: 07.05.2008
Пенза
Сообщений: 29


В предыдущем ответе указан путь к файлу, в котором нет пробелов. Иначе не работет
barm вне форума  
 
Непрочитано 15.12.2008, 17:09
#35
acyxou


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


barm, спасибо! Открывает если указываю путь с папками без пробелов ла своем компе.... А мне надо выложить видео в сетевую папку, когда прописываю путь в таком виде то не открывает^C^C(startapp "C://Program Files//Windows Media Player//wmplayer.exe ////Server//Proekt//AutoCAD_Resources//supermen.wmv ") Мож есть какие-то свои особенности при указании на сетевое размещение?
acyxou вне форума  
 
Непрочитано 15.12.2008, 17:36
#36
acyxou


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


Люди ну помогите! Делаю благое дело ведь! Хочу создать выпадающее меню в автокаде куда буду добавлять кнопки к обучающему видео made by me. Видео будет размещаться на сервере, а я по мере обновления видеобиблиотеки буду обновлять файл этого меню, который тоже будет на сервере с прописанным путем доступа к нему, добавляя в него кнопки на просмотр соответсвтующего видео. По моему идея не плохая....
acyxou вне форума  
 
Непрочитано 15.12.2008, 17:36
#37
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


acyxou,
Код:
[Выделить все]
(startapp (findfile "C:/Program Files/Windows Media Player/wmplayer.exe")(findfile "//Server/Proekt/AutoCAD_Resources/supermen.wmv"))
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 15.12.2008, 19:15
#38
acyxou


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


Yeee!!! VVA kicked that ass!

Все заработало! Спасибо огромное, очень выручили!
acyxou вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как из автокада с помощью макроса-кнопки запустить файл exe



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как оптом сохранить все чертежи в формате 14-го автокада? Соня AutoCAD 26 20.03.2011 14:59
Мониторы LCD CRT Разное 94 17.06.2008 10:51
Как запустить Autocad ver.10 на Windows XP ? kailist AutoCAD 14 21.04.2007 00:31
как открыть DWG файл...... =) armmen AutoCAD 25 03.04.2006 14:29
Подскажите как открыть *.exe файл из автокада. Александер Программирование 6 24.06.2005 09:27