Modify Reactor (vlr-modified) does not react when editing parameters of Cogo Point in Property tab
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi!
I have coded a reactor that is meant to react as soon as a cogo point is modified in any way. It works great when the cogo point is edited with commands, such as Move or when moving the cogopoint by moving the grip. But when changing for example the elevation parameter in the property tab the reactor does not react to this modification of the cogo point.
When letting the reactor watch a AutoCAD point object instead, the reactor fires when changing the point's x, y or z values in the property tab.
Also, any changes to the Cogo Points in the Point editor panorama also go unnoticed.
Why does these changes to the cogo point fly under the radar so the reactor does not notice them? How can I solve this? Is it even possible?
Properties that when changed fire the reactor for Point objects.
Properties that when changed do not fire the reactor for Cogo Points.
Simple example code:
(defun c:cc ()
(setq pt1obj (vlax-ename->vla-object (get-cogo "\nSelect a cogo point: ")))
(setq point_reactor
(vlr-object-reactor (list pt1obj)
(list (cons "Pt1" pt1obj)
)
'((:vlr-modified . change_point))))
(princ)
);end cc
(defun change_point (notifier_object reactor_object parameter_list)
(princ "\nThe Cogo Point was modified")
);end defun
(defun get-cogo (string)
(setq obj (car (entsel string)))
(if (not (eq "AECC_COGO_POINT" (cdr (assoc 0 (entget obj)))))
(progn
(prompt "\nSelected object is not a cogo point. Please select a cogo point.")
(get-cogo))
obj)
);end defun