Creates an object reactor that displays a message when the object is modified.
 New File. 
	 ; Define the callback function to use for the reactor
; The following function prints a message with the circle’s radius
(defun print-radius (notifier-object reactor-object parameter-list)
  (vl-load-com)
  (cond
    (
     (vlax-property-available-p
       notifier-object
       "Radius"
     )
     (princ "The radius is ")
     (princ (vla-get-radius notifier-object))
    )
  )
)
; Create a variable to hold the circle object that
; will be used as the owner of the reactor
(setq myCircle
  ; Prompt for the center point and radius:
  (progn
    (setq ctrPt (getpoint "\nCircle center point: ")
             radius (distance ctrPt (getpoint ctrpt "\nRadius: "))
    )
    ; Add a circle to the drawing model space. Nest the function
    ; calls to obtain the path to the current drawing's model
    ; space: AcadObject > ActiveDocument > ModelSpace
    (vla-addCircle
      (vla-get-ModelSpace
        (vla-get-ActiveDocument (vlax-get-acad-object))
      )
      (vlax-3d-point ctrPt)
      radius
    )
  )
)
; Create the reactor and pass it the circle object, 
; application-specific data, and callback function.
(if (= circleReactor nil)
  (setq circleReactor (vlr-object-reactor (list myCircle)
    "Circle Reactor" '((:vlr-modified . print-radius))))
)
 
	 
 Load Text in Editor. 
	 You should see a message after the STRETCH option’s prompt that is similar to the following:
Specify stretch point or [Base point/Copy/Undo/eXit]: The radius is 3.75803