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

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

Запуск команды после создания файла.

Ответ
Поиск в этой теме
Непрочитано 01.07.2011, 11:11 #1
Запуск команды после создания файла.
shartal
 
Регистрация: 12.08.2009
Сообщений: 464

Видимо в файл acaddoc через функцию startup, но чтение справки не помогло.
Как должен выглядеть такой код, например для команды line.
Просмотров: 8790
 
Непрочитано 01.07.2011, 12:24
#2
mamuk


 
Регистрация: 06.05.2010
Сургут
Сообщений: 248


если при запуске Auotocad то можно созадть файл lsp содержимым (vl-cmdf "_line") и указать пути загрузки данного файла тогда при запуске Autocad будет вызываться команда "_line".
mamuk вне форума  
 
Автор темы   Непрочитано 01.07.2011, 13:53
#3
shartal


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


Пример с line работает, но мне надо запустить команду, которая содержится в лиспе, который загружается с помощью acaddoc. Надо, чтобы в начале загрузились все лиспы, а после сработала команда запуска.
shartal вне форума  
 
Непрочитано 01.07.2011, 14:04
#4
Do$

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


Цитата:
Сообщение от shartal Посмотреть сообщение
но мне надо запустить команду, которая содержится в лиспе, который загружается с помощью acaddoc
... в доме, который построил Джек
Цитата:
Сообщение от shartal Посмотреть сообщение
а после сработала команда запуска
команда запуска чего?
Do$ вне форума  
 
Автор темы   Непрочитано 01.07.2011, 14:17
#5
shartal


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


в лиспе, который загружается с acaddoc, живет команда, которую я хочу автоматически запускать после открытия файла
shartal вне форума  
 
Непрочитано 01.07.2011, 14:34
#6
Do$

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


Тогда в этом же файле последней строчкой нужно вписать ее вызов.
Do$ вне форума  
 
Непрочитано 01.07.2011, 14:50
#7
mamuk


 
Регистрация: 06.05.2010
Сургут
Сообщений: 248


(c:команда) или (команда) вроде так
mamuk вне форума  
 
Непрочитано 01.07.2011, 14:54
#8
zenon

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


Do$, Можно поподробней?
Например мне требуется выполнение команды после загрузки и инициализации определенной навески на AutoCAD, а иначе:
Цитата:
AutoCAD menu utilities loaded._команда
Unknown command "КОМАНДА ".
Press F1 for help.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 01.07.2011, 15:18
#9
Do$

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


Я говорил про ситуацию, когда в acaddoc.lsp имеется код с командой, которую надо автоматически запустить при открытии чертежа. Например, в этом файле код:
Код:
[Выделить все]
(defun c:test () (alert "Работает команда TEST!"))
Дописываем в конце файла строчку: (c:test) и происходит ее автоматический запуск при каждом открытии чертежа.
Вложения
Тип файла: lsp acaddoc.lsp (60 байт, 87 просмотров)
Do$ вне форума  
 
Непрочитано 01.07.2011, 16:03
#10
pan

добрый человек
 
Регистрация: 23.02.2004
Глушь
Сообщений: 971


Содержимое файла acaddoc.lsp:
Код:
[Выделить все]
 
(defun S::STARTUP () 
  (vl-cmdf "_line" "0,0" "100,100" "")
);defun
pan вне форума  
 
Непрочитано 01.07.2011, 19:02
#11
gomer

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


Вот так все начинается, а вот так заканчивается
gomer вне форума  
 
Непрочитано 04.07.2011, 11:08
#12
zenon

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


Цитата:
Сообщение от Do$ Посмотреть сообщение
Дописываем в конце файла строчку: (c:test) и происходит ее автоматический запуск при каждом открытии чертежа.
Именно так и сделал, только вот см. #8
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 04.07.2011, 11:16
#13
Do$

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


А "навеска" что из себя представляет?
Do$ вне форума  
 
Непрочитано 02.09.2011, 16:17
#14
zenon

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


И так, как же все таки запустить команду после создания (или открытия файла).
PS прописка в ACAD.lsp и иже с ним облегчения не приносит, вот такая реакция:


Regenerating model.

AutoCAD Express Tools Copyright © 2002-2004 Autodesk, Inc.

AutoCAD menu utilities loaded._sdimlayoff Unknown command "SDIMLAYOFF ".
Press F1 for help.

DS> ---------------------------------------
DS> ToolPac 13.0
DS> Copyright (C) 1994-2010, DotSoft
DS> All Rights Reserved
DS> ---------------------------------------
DS> Quick Keys Macro System ... Loaded.
DS> DotSoft ToolPac 13.0 (32bit) Loaded


S::STARTUP function is incorrectly implemented!
CADAddOnTools Menu loaded.NETLOAD Assembly file name: C:/Program
Files/Schueco/CAD/bin/2008/SchuecoManagedHelper.dll
3D-Tools loaded successfully.ATHENA загружается...


Загружен файл меню ATHENA


Regenerating model.

AutoCAD Express Tools Copyright © 2002-2004 Autodesk, Inc.

AutoCAD menu utilities loaded.
DS> ---------------------------------------
DS> ToolPac 13.0
DS> Copyright (C) 1994-2010, DotSoft
DS> All Rights Reserved
DS> ---------------------------------------
DS> Quick Keys Macro System ... Loaded.


S::STARTUP function is incorrectly implemented!
CADAddOnTools Menu loaded.NETLOAD Assembly file name: C:/Program
Files/Schueco/CAD/bin/2008/SchuecoManagedHelper.dll
3D-Tools loaded successfully.ATHENA загружается...

Загружен файл меню ATHENA
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 02.09.2011, 18:29
#15
gomer

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


Цитата:
Сообщение от zenon Посмотреть сообщение
Например мне требуется выполнение команды после загрузки и инициализации определенной навески на AutoCAD, а иначе:
Цитата:
Сообщение от zenon Посмотреть сообщение
И так, как же все таки запустить команду после создания (или открытия файла).
Как дети малые... Любая маломальски спелая навеска имеет свое меню... обычно в сопутствующем файле имя_меню.mnl прописывается загрузка модулей приложения, типа (mapcar 'load (list "1.lsp" "2.lsp" "3.lsp"))
все эти стартапы, акады и акаддоки - проходной двор, туда пишут все кому не лень...
Другой способ, более извращенный... добавить лисп в портфель, а в самом лиспе после всех определений добавить вызов нужной функции
Только после того, как все приложение загружено, то есть определены все его команды и функции, можно их вызывать

Цитата:
Unknown command "КОМАНДА "
означает что КОМАНДА не определена, то есть лисп, ее определяющий, не загружен или в нем есть ошибки
gomer вне форума  
 
Непрочитано 02.09.2011, 19:30
#16
zenon

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


Цитата:
Сообщение от gomer Посмотреть сообщение
Как дети малые
а по существу???
Еще раз по порядку.
1. Загружаются 3 навески ToolPAC, ATHENA, SchuCAD
2. После открытия файла, команда корректно обрабатывается.
3. Как заставить ее выполнятся после загрузки всех навесок.

ps
Цитата:
Сообщение от gomer Посмотреть сообщение
обычно в сопутствующем файле имя_меню.mnl прописывается загрузка модулей приложения, типа (mapcar 'load (list "1.lsp" "2.lsp" "3.lsp"))
еслиб это было возможно, но грузятся скомпилированные файлы.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 02.09.2011, 19:58
#17
Oliver_88

"ценный кадр"
 
Регистрация: 02.12.2010
Сообщений: 115
<phrase 1=


zenon, а могешь выложить свой ACAD.lsp?Не юзаю довески, так бы у себя глянул.
Oliver_88 вне форума  
 
Непрочитано 02.09.2011, 20:07
#18
zenon

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


Oliver_88, смотри
(defun s::startup (/)
; (cond
; ----------------------------------------------------------------
;
; VisualLisp 2002
;
; ((= (atoi (getvar "ACADVER")) 16)
(vlarts-init)
(if (not (boundp 'vlax-create-object))
(vl-load-com)
)
(or (load "cpl_init.lsp" nil) (load "cpl_init" nil))
(cpl_init)
(or (load "ath_init.lsp" nil) (load "ath_init" nil))
(ath_init)
(cpl_cfg_set '("ATH_MENU" "MFC") 1)
; )
; (T
; (alert "AutoCAD 2004 or 2005 expected")
; )
; )
)

(princ)
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 02.09.2011, 20:34
#19
gomer

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


Цитата:
Сообщение от zenon Посмотреть сообщение
грузятся скомпилированные файлы.
Какая разница?.. загрузили вызвали... все должно работать... Другой вопрос, если вы хотите, чтоб ваша команда запускалась после загрузки всего... В таком случае... Я бы удалил свое меню и загрузил заново
gomer вне форума  
 
Непрочитано 02.09.2011, 22:52
#20
Кулик Алексей aka kpblc
Moderator

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


Я, конечно, извиняюсь, но:
1. Что возвращает (findfile "ath_init.lsp") и (findfile "cpl_init.lsp")?
2. Функции load глубоко фиолетово - грузить lsp, fas или vlx. Срабатывает одинаково.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Запуск команды после создания файла.



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запуск программы из AutoCADа kminas Программирование 19 15.06.2012 13:42
Проблема с текстами после програмной вставки TABLE Gogi Программирование 4 16.11.2007 10:02
Проблемма после команды MOVE *LUCKY* AutoCAD 6 12.07.2007 10:25
Прозрачные команды Vova AutoCAD 17 21.06.2006 05:33
чтение данных из файла Александер Программирование 6 08.09.2005 10:24