Tworzy reaktor wywoływany przy zdarzeniu związanym z poszczególnymi objektami
Funkcja zwraca objekt reaktora Parametry wywołania funkcji: - owners - lista obserwowanych obiektów - data - Dane AutoLISP - może to byc nazwa reaktora , może być nil - callbacks - lista - para elementów: nazwa wydarzenia, funkcja wywoływana przez reaktor
Obsługiwane wydarzenia: :vlr-erased - Objekt został usunięty. :vlr-unerased - Objekt został "przywrócony" znacznik usunięcia został anulowany - np operacja undo :vlr-openedForModify - Objekt został otwarty do modyfikacji - jeszcze nie został zmodyfikowany. :vlr-modified - Objekt został zmodyfikowany.
przykład:
(vl-load-com) (defun c:TestReaktor(/ vname vnamelist) (setq vname (vlax-ename->vla-object (car (entsel "\nWybierz element do którego chcesz dodać reaktor: ")))) (setq vnamelist (list vname)) (vlr-object-reactor vnamelist nil '((:vlr-modified . modified ))) )
(defun modified( object reactor lista_parametrów ) ; lista argumentów funkcji wywoływanej przez reaktor jest stała i są to: ; - objekt na którym wywoływany jest reaktor - np polilinia która została wybrana w czasie działania funkcji: TestReaktor ; - obiekt reaktora który wywołał funkcję. ; - lista_parametrów - lista zależna od tego jakie zdarzenie wywołuje funkcję. w przypadku zdarzeń :vlr-erased :vlr-unerased :vlr-openedForModify :vlr-modified jest to nil