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

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

Макрос для подгрузки .dvb

Ответ
Поиск в этой теме
Непрочитано 10.04.2008, 11:00 #1
Макрос для подгрузки .dvb
dextron3
 
проектировшик
 
СССР
Регистрация: 01.01.2007
Сообщений: 5,149

Для подгрузки лиспа использую такой макрос:

(if (= sum nil) ( Load (findfile "Lisp/sum.lsp"))) comand


А что использовать для подгрузки .dvb файлов,
так как там нужно вводить 2 значения,
приходиться сам файл закидывать в портфель,
только после этого работает:

Макрос:

^C^C_-vbarun comand

а как должен выглядеть максрос с автоматической подгрузкой .dvb ?


Заранее благодарен!
__________________
инженер проектировшик с опттом программа авто гад образование высшие
Просмотров: 6146
 
Непрочитано 10.04.2008, 11:07
#2
Кулик Алексей aka kpblc
Moderator

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


Попробуй использовать vla-vbaload или что-то наподобие этого.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.04.2008, 11:54
#3
dextron3

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


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

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


Код:
[Выделить все]
(vl-load-com)
(defun startme()
(vl-vbaload "c:\\myadds\\mydvb.dvb")
)
(startme)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.04.2008, 14:10
#5
dextron3

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


(vl-load-com)
(defun startme()
(vl-vbaload "C:\\Program Files\\exampl\\Lisp\\РисованиеСварки.dvb")
)
(startme)


Command: (LOAD "C:/Documents and Settings/Admin/Рабочий стол/summa.lsp") nil
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 10.04.2008, 14:17
#6
Кулик Алексей aka kpblc
Moderator

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


Так а сам-то VBA-проект загружен или нет?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.04.2008, 14:26
#7
Makswell

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


Для запуска макроса VBA я сделал примерно так:
Код:
[Выделить все]
(defun c:mydvb ()
  (vl-vbaload (findfile "D:\\PATCH\\mydvb.dvb"))
  (vl-vbarun (strcat (findfile "D:\\PATCH\\mydvb.dvb") "!Module1.mydvb"))
  (princ)
)
Makswell вне форума  
 
Автор темы   Непрочитано 10.04.2008, 21:49
#8
dextron3

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


Makswell, работает спасибо,

а для .arx какого вида будет лисп
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 10.04.2008, 22:39
#9
Кулик Алексей aka kpblc
Moderator

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


(arxload <Имя файла>)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.04.2008, 22:43
#10
dextron3

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


Кулик Алексей aka kpblc, это в макрос? прописать
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 10.04.2008, 22:52
#11
Кулик Алексей aka kpblc
Moderator

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


Это лисп-код загрузки arx-файла. посмотри в справке функцию arxload - там есть еще один параметр Специально его не упоминал
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 11.04.2008, 10:59
#12
Makswell

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


Для загрузки ARX'а можно так:
Код:
[Выделить все]
(vla-LoadArx (vlax-Get-Acad-Object) "myarx.arx")

ЗЫ Кстати, для запуска макроса VBA недавно узнал, что есть ещё такой способ:
Код:
[Выделить все]
(defun c:mydvb ()
  (vla-LoadDVB
    (vlax-Get-Acad-Object)
    (findfile "D:\\PATCH\\mydvb.dvb")
  )
  (vla-RunMacro
    (vlax-Get-Acad-Object)
    (strcat (findfile "D:\\PATCH\\mydvb.dvb") "!Module1.mydvb")
  )
  (princ)
)
Makswell вне форума  
 
Автор темы   Непрочитано 11.04.2008, 12:00
#13
dextron3

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


Makswell, (vla-LoadArx (vlax-Get-Acad-Object) "myarx.arx")

а как через условие это прописать к примеру:

(if (= total nil) ( Load (findfile "Lisp/total.vlx"))) total

или это с последующем выполнением команды


(if (= sum nil) ( Load (findfile "Lisp/sum.lsp"))) auto
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 11.04.2008, 12:21
#14
Makswell

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


Наверно как-то так
Код:
[Выделить все]
(if (not (member "myarx.arx" (vlax-safearray->list (vlax-variant-value (vla-ListArx (vlax-Get-Acad-Object)))))) (vla-LoadArx (vlax-Get-Acad-Object) "myarx.arx"))
Makswell вне форума  
 
Непрочитано 11.04.2008, 12:38
#15
Кулик Алексей aka kpblc
Moderator

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


Код:
[Выделить все]
(defun test (file-arx / err)
  (if (not (member (strcase (vl-filename-base file-arx))
                   (mapcar '(lambda (x) (strcase (vl-filename-base x))) (arx))
                   ) ;_ end of member
           ) ;_ end of not
    (arxload file-arx "Не удалось загрузить")
    ) ;_ end of if
  ) ;_ end of defun
То же самое, но без activex Почти без ActiveX
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 11.04.2008, 12:44
#16
dextron3

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


Command: (if (not (member "Lisp/KSVAuto.arx" (vlax-safearray->list
(vlax-variant-value (vla-ListArx (vlax-Get-Acad-Object)))))) (vla-LoadArx
(vlax-Get-Acad-Object) "Lisp/KSVAuto.arx")) nil


знак
>
смущает
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 11.04.2008, 12:45
#17
dextron3

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


Кулик Алексей aka kpblc, а где вставлять то что надо загрузить
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 11.04.2008, 13:39
#18
Makswell

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


Цитата:
Сообщение от dextron3 Посмотреть сообщение
Command: (if (not (member "Lisp/KSVAuto.arx" (vlax-safearray->list
(vlax-variant-value (vla-ListArx (vlax-Get-Acad-Object)))))) (vla-LoadArx
(vlax-Get-Acad-Object) "Lisp/KSVAuto.arx")) nil


знак
>
смущает
То, что отмечено выше жирным красным, надо удалить, тогда заработает.

ЗЫ. Не смущайся насчёт ">" - есть такая фунция - vlax-safearray->list
Makswell вне форума  
 
Непрочитано 11.04.2008, 13:50
#19
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от dextron3 Посмотреть сообщение
Кулик Алексей aka kpblc, а где вставлять то что надо загрузить
Если будешь использовать мой лисп, то вызов будет наподобие:
Код:
[Выделить все]
(test "myarx.arx")
; или
(test c:\\files\\arx\\myarx.arx")
На самом деле там в коде для полной гарантии еще не помешало бы проверять находимость файла...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 11.04.2008, 14:06
#20
dextron3

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


Makswell, Command: (if (not (member "KSVAuto.arx" (vlax-safearray->list
(vlax-variant-value (vla-ListArx (vlax-Get-Acad-Object)))))) (vla-LoadArx
(vlax-Get-Acad-Object) "Lisp/KSVAuto.arx")) nil

Кулик Алексей aka kpblc, а как и лисп и макрос на одну все на одну кнопку посадить
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Макрос для подгрузки .dvb



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бетоны для гидротехнических сооружений Egor_II Железобетонные конструкции 9 03.02.2016 11:06
Сейсмозащита и сейсмоизоляция существующих, построенных зд. IANationalInformAgentstvo Прочее. Архитектура и строительство 216 20.01.2015 16:51
бетонирование в зимних условиях тен Технология и организация строительства 107 21.12.2013 13:59
моделирование работы узла "колонна-перекрытие" EUDGEN Расчетные программы 82 06.10.2010 08:35
Как сделать макрос для файла *.chm Владимир М Программирование 3 16.11.2005 17:56