vlr-notification
V Functions
vlr-owner-add
Constructs
a drawing object reactor object
(vlr-object-reactor owners data callbacks)
The reactor object is added to the drawing database,
but does not become persistent.
Arguments
-
owners
-
An AutoLISP list of VLA-objects identifying
the drawing objects to be watched.
-
data
-
Any AutoLISP data to be associated with the reactor
object; otherwise nil if no data.
-
callbacks
-
A list of pairs of the following form:
(event-name . callback_function)
where event-name is one of the symbols
listed in the “Object Events” table and callback_function is a
symbol representing a function to be called when the event fires.
Each callback function accepts three arguments:
owner The owner of the
VLA-object the event applies to.
reactor_object The VLR
object that called the callback function.
list A list of extra
data elements associated with the particular event. The contents
of this list for particular events are shown in the “Object Events
Callback Data” table.
Return Values
The reactor_object argument.
Object
events
|
Name
|
Event
|
:vlr-cancelled
|
The modification
of the object has been canceled.
|
:vlr-copied
|
The object
has been copied.
|
:vlr-erased
|
Erase-flag
of the object has been set.
|
:vlr-unerased
|
Erase-flag
of the object has been reset.
|
:vlr-goodbye
|
The object
is about to be deleted from memory.
|
:vlr-openedForModify
|
The object
is about to be modified.
|
:vlr-modified
|
The object
has been modified. If the modification was canceled, also :vlr-cancelled
and :vlr-modifyUndone will be fired.
|
:vlr-subObjModified
|
A sub-entity
of the object has been modified. This event is triggered for modifications
to vertices of polylines or meshes, and for attributes owned by
blockReferences.
|
:vlr-modifyUndone
|
The object's
modification was undone.
|
:vlr-modifiedXData
|
The object's
extended entity data has been modified.
|
:vlr-unappended
|
The object
has been detached from the drawing database.
|
:vlr-reappended
|
The object
has been re-attached to the drawing database.
|
:vlr-objectClosed
|
The object's
modification has been finished.
|
Object
events callback data
|
Name
|
List length
|
Parameters
|
:vlr-cancelled
:vlr-erased,
:vlr-unerased
:vlr-goodbye
:vlr-openedForModify
:vlr-modified
:vlr-modifyUndone
:vlr-modifiedXData
:vlr-unappended
:vlr-reappended
:vlr-objectClosed
|
0
|
|
:vlr-copied
|
1
|
The object
created by the copy operation (ename).
|
:vlr-subObjModified
|
1
|
The sub-object
(ename) that has been modified
|
Examples
The following code attaches an object reactor
to the myCircle object.
It defines the reactor to respond whenever the object is modified
(:vlr-modified) and to call the print-radius function
in response to the modification event:
(setq circleReactor (vlr-object-reactor (list myCircle)
"Circle Reactor" '((:vlr-modified . print-radius))))