Forum użytkowników programów ZWCAD, KOMPAS-3D, Scan2CAD, PDF2CAD Strona Główna Forum użytkowników programów ZWCAD, KOMPAS-3D, Scan2CAD, PDF2CAD
Forum CAD.

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj

Poprzedni temat «» Następny temat
vlr-command-reactor
Autor Wiadomość
perlon

Dołączył: 15 Maj 2010
Posty: 7
Wysłany: Sro Lut 09, 11 23:44   vlr-command-reactor

Witam.
Pytanie dotyczy reaktora jak w temacie wersja 2010.11.25(16241). W dokumentacji znalazłem taki oto przykład:
(vl-load-com)
(vlr-command-reactor nil '((:vlr-commandWillStart . commandWillStart)))
;;;define the callback function
(defun commandWillStart(reactor_object list)
(alert (vl-princ-to-string list))
)

Niestety nie działa :-(
Dodanie po (vl-load-com) jeszcze (vl-load-reactors) nic nie poprawia.
Inne reaktory działają np. vlr-acdb-reactor a na command bez sukcesów.
Czy ma ktoś jakieś doświadczenia z tym reaktorem. Z góry dziękuję za każdą podpowiedź.
Przy okazji. Czy da się zdefiniować reaktory w VBA?

Pozdrawiam
 
     
kruszynski

Pomógł: 17 razy
Dołączył: 02 Sty 2009
Posty: 312
Wysłany: Czw Lut 10, 11 14:39   

Próbowałem uruchomić ten reaktor i u mnie działa bez problemów w LISP.
Może dopisał Pan tam coś więcej niż było w przykładzie i stąd problem.
W zasadzie wystarczy:
Kod:
(vl-load-com)
(vlr-command-reactor nil '((:vlr-commandWillStart . commandWillStart)))
(defun commandWillStart(reactor_object lista)
(alert (vl-princ-to-string lista))
)

po uruchomieniu dowolnego polecenia, jego nazwa wyświetli się w dodatkowym okienku na ekranie.
W vba jest to jeszcze łatwiejsze, wystarczy w oknie kodu ThisDocument, wybrać "BeginCommand" jak na załączonym obrazku,

VBAReaktory.jpg
Plik ściągnięto 32 raz(y) 112,78 KB

 
     
perlon

Dołączył: 15 Maj 2010
Posty: 7
Wysłany: Czw Lut 10, 11 16:14   

Dzięki za podpowiedź.
Niestety w lisp'ie mi nie działa :( Nie wiem o co chodzi.
Czy to, że mam jednocześnie zainstalowaną werję POL i ENG może mieć jakieś znaczenie?
Mój zwcad.lsp

(vl-load-com)
(vlr-command-reactor nil '((:vlr-commandWillStart . commandWillStart)))
(defun commandWillStart(reactor_object lista)
(alert (vl-princ-to-string lista))
)
(princ "zwcad.lsp zaladowany")

Czysty dokument bez żadnych lispów, VBA etc. Zaraz po uruchomieniu ZwCAD'a ( wersja z kluczem nie avaluacyjna ) Nie powinno być innych śmieci. I nie chodzi.
Spod VBA oczywiście działa nawet na kolejnych otwieranych rysunkach.
 
     
perlon

Dołączył: 15 Maj 2010
Posty: 7
Wysłany: Czw Lut 10, 11 19:06   

Odinstalowałem oba ZwCAD'y instalacja z płyty, czysty ZwCAD EN

reactor.lsp

(vl-load-com)
(vlr-command-reactor nil '((:vlr-commandWillStart . commandWillStart)))
(defun commandWillStart(reactor_object lista)
(alert (vl-princ-to-string lista))
)

Command: _NEW
Command:
Command: (load "reactor.lsp")
COMMANDWILLSTART
Command:
Command: _line

i nic :-(
brak reakcji tzn. pyta o punkt startowy zamiast wyświetlić okno.
 
     
perlon

Dołączył: 15 Maj 2010
Posty: 7
Wysłany: Pią Lut 11, 11 09:08   

W pracy przeprowadziłem test na produkcie Autodesku.
mój reaktor.lsp
Kod:
(vl-load-com)
(vl-load-reactors)
(setq *ObslugaStartuKomendy* nil)
(vlr-remove-all :VLR-Command-Reactor)
(defun ObslugaStartuKomendy(obiekt_reaktora lista) (alert (vl-princ-to-string lista)))
(vlr-command-reactor nil '((:vlr-commandWillStart . ObslugaStartuKomendy)))

Na AutoCAD'zie działa jak należy, Na ZwCAD'zie bez reakcji :(
Po mojemu ten reaktor w ZwCAD'zie nie działa chyba że trzeba włączyć jakiś pstryczek żeby zadziałał.Sprawdziłem reaktor vlr-acdb-reactor. Ten działa.
 
     
kruszynski

Pomógł: 17 razy
Dołączył: 02 Sty 2009
Posty: 312
Wysłany: Pią Lut 11, 11 09:45   

Kiedyś dawno była w ZWCAD taka zmienna systemowa:
Kod:
(setvar "_ZW_UUIDOFUSERMODULE" 1 )

Dokładnie jej sensu nie pamiętam, ale pamiętam że miała jakiś związek z reaktorami, proszę sprawdzić, czy jej ustawienie na 1 nie spowoduje jakiejś poprawy.
Zapytam również ZWSOFT o wyjaśnienie co może powodować Pana problemy.
 
     
perlon

Dołączył: 15 Maj 2010
Posty: 7
Wysłany: Pią Lut 11, 11 10:33   

Niestety nie znalazłem opisu tej zmiennej w System Variables. W ogóle zmiennych _ZW_* nie ma w dokumentacji. Google też milczy. Niemniej pomogło. Dzięki bardzo :)
Punkcik się należy.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Strona wygenerowana w 0,19 sekundy. Zapytań do SQL: 13