perlon Opublikowano 9 Lutego 2011 Zgłoś Udostępnij Opublikowano 9 Lutego 2011 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 10 Lutego 2011 Zgłoś Udostępnij Opublikowano 10 Lutego 2011 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: (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, Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
perlon Opublikowano 10 Lutego 2011 Autor Zgłoś Udostępnij Opublikowano 10 Lutego 2011 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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
perlon Opublikowano 10 Lutego 2011 Autor Zgłoś Udostępnij Opublikowano 10 Lutego 2011 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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
perlon Opublikowano 11 Lutego 2011 Autor Zgłoś Udostępnij Opublikowano 11 Lutego 2011 W pracy przeprowadziłem test na produkcie Autodesku. mój reaktor.lsp (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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 11 Lutego 2011 Zgłoś Udostępnij Opublikowano 11 Lutego 2011 Kiedyś dawno była w ZWCAD taka zmienna systemowa: (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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
perlon Opublikowano 11 Lutego 2011 Autor Zgłoś Udostępnij Opublikowano 11 Lutego 2011 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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi