Reject and Destroy: By Name


ASTER::ACTION::MotionControl::Reject the registration and to destroy the instance; ByName

Unregister a motion group registered in the controller and simultaneously destroy the instance.

  • Timer processing can be set by specifying frame time.

  • There are two main methods for unregistering instances and motion groups registered with the motion controller.

Method Description
By Name Unregister all by specifying the motion group name.
LPRO Directly Unregister individual instances directly.

Use "By Name" to unregister by motion group and "LPRO Directly" to unregister only matched instances.


Parameter.1

Specification of the motion group name.

If there are two or more registered motion groups, you can unregister the corresponding group by specifying the group name.

Parameter Example Description
"ExMotion1" Unregister by specifying the group name.
"" Send an empty string, targeting all registered motion groups.

If you send an empty string without specifying a group name, all currently registered motion groups will be unregistered at once.

There are cautions for sending empty strings.


Parameter.2

Frame-based timer function.

You can set a timer to unregister at a specified time. The time unit is in application frames.

If the application is running at 60 FPS, inputting 60 as the parameter will unregister approximately one second later.

To unregister immediately, input 0.

Do not attempt to re-register with the controller immediately after issuing the Destroy command.

The Destroy command only attaches a Destroy Flag to the instance, so the actual instance destruction process is executed by CF25 at the end of the frame.

An instance with an activated Destroy Flag is in the state just before destruction and has not yet been destroyed. Attempting to re-register the instance with the controller at this timing may result in registration failure or warnings due to the Destroy Flag.


Notes.1

Execution priority.

Reject is the highest level command in the motion controller. It is not affected by lower-level commands.

Once a Reject command is issued, it cannot be overridden, stopped, or canceled. If a command of the same type as Reject has already been issued to the target motion group, any subsequently issued Reject commands will be invalidated.


Notes.2

“By Name” and “LPRO Directly”

The Reject command has two types: "By Name," which attempts to unregister by specifying the group name, and "Direct," which attempts to unregister by searching for the memory address of the object instance.

When commands with Destroy functionality are added to these two types, there are a total of four types of Reject commands. Furthermore, if the delay execution value is 0 and all registered instances are targeted by the "By Name" command, it branches into the "Complete Unregister (完全解除)" and "Complete Erase (完全消去)" commands, making a total of six types.

All six types are equivalent in authority, with the command issued first having priority.

---
title: Reject Functions
---
flowchart LR
  A@{shape: dbl-circ, label: "Reject"}
  A --> B@{ shape: delay, label: "Reject: Directly" }
  A --> C@{ shape: delay, label: "Reject: By Name" }
  C --> D[Reject: All]
  C --> E[Timer]
  C --> F[Timer + Destroy]
  B --> G[Timer]
  B --> H[Timer + Destroy]
  D --> I[Timer]
  D --> J[Timer + Destroy]
  I -.-|Named| K@{shape: dbl-circ, label: "完全解除"}
  J -.-|Named| L@{shape: dbl-circ, label: "完全消去"}

The "By Name" type of the Reject command can capture the exact timing of unregistration by Event Detect (immediate execution condition) when the registration is canceled on a motion group basis.

However, if the group is deleted using the "Complete Unregister (完全解除)" or "Complete Erase (完全消去)" of Reject, Event Detect cannot be used.