編集リアクタ コールバック関数 gp:command-ended で、ほとんどのアクションが行われます。この関数が呼び出されるまでは、庭園の歩道の境界ポリラインは 「編集に対して開かれて」います。ユーザは、まだ AutoCAD で境界を操作中です。AutoCAD でのその作業が終了し、行いたいことが自由に行えるようになるまで、リアクタ シーケンス内で待機する必要があります。
gp:command-ended 関数の処理手順を、次の疑似コードで示します。
Determine the condition of the polyline. CONDITION 1 - POLYLINE ERASED (Erase command) Erase the tiles. CONDITION 2 - LOST ASSOCIATIVITY (Move, Rotate, etc.) Erase the tiles. CONDITION 3 - GRIP_STRETCH - REDRAW AND RE-TILE Erase the tiles. Get the current boundary data from the polyline. If it is a lightweight polyline, Process boundary data as 2D Else Process boundary data as 3D End if Redefine the polyline border (pass in parameters of the current boundary configuration, as well as the old). Get the new boundary information and put it into the format required for setting back into the polyline entity. Regenerate the polyline. Redraw the tiles (force ActiveX drawing). Put the revised boundary information back into the reactor named in *reactorsToChange*. End function
この疑似コードは、どちらかといえば直線的ですが、いくつかの重要な点が含まれています。現時点では、それらを理解する必要はありません。