Группы пользователей Autodesk


Обработка нелинейных последовательностей реакторов


Окончательная компоновка

 

Окончательная компоновка  

Обработка нелинейных последовательностей реакторов

Последняя важная деталь связана с необычной последовательностью "команда/реактор" при редактировании полилинии в AutoCAD с помощью специальных команд работы с ручками. Команды работы с ручками доступны из контекстного меню после выбора ручки на объекте с последующим щелчком правой кнопкой мыши. Последовательность реакторов при этом не является линейной, как в случае команд ПЕРЕНЕСТИ или СТЕРЕТЬ. Фактически, пользователь, не завершив одну команду, переключается на другую. Для разъяснения этой ситуации можно загрузить код из занятия 6, отслеживающий последовательность реакторных событий. Можно также просто просмотреть следующие сообщения, выводимые в окне консоли VLISP:

;; To start, select the polyline and some of the circles by using a

;; crossing selection box. The items in the selection set--

;; the chosen circles and the polyline--are now shown with grips on.

;; To initiate the sequence, click on one of the polyline grips:

(GP:COMMAND-WILL-START #<VLR-Command-reactor> (GRIP_STRETCH))

;; Now change the command to a move by right-clicking and choosing

;; MOVE from the pop-up menu. Notice that the command-ended

;; reactor fires in order to close out the GRIP_STRETCH command

;; without having fired an object reactor event:

(GP:COMMAND-ENDED #<VLR-Command-reactor> (GRIP_STRETCH))

(GP:COMMAND-WILL-START #<VLR-Command-reactor> (GRIP_MOVE))

;; Now drag the outline (and the selected circles) to a new location.

(GP:OUTLINE-CHANGED #<VLA-OBJECT IAcadLWPolyline 028f3188>

#<VLR-Object-reactor> nil)

(GP:COMMAND-ENDED #<VLR-Command-reactor> (GRIP_MOVE))

Как видно из показанного примера, нельзя быть уверенным, что функции отклика для объектных реакторов вызываются во всех случаях.

Данная последовательность имеет некоторые отличия от обычной. Даже во время последнего отклика на окончание команды круги, являющиеся выбранными, не удаляются.


Начало  Назад  Вперед



Книжный магазин