vlr-object-reactor

Wyszukaj w słowniku

Dostępne słowniki:

Termin Definicja
vlr-object-reactor

(vlr-object-reactor owners data callbacks )

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

  (print (strcat
      "Długość elementu: "
      (vl-princ-to-string (vlax-get-property notifier-object 'Length))))
)