vcMotionPath
vcMotionPath is a wrapper class for One Way Path and Two Way Path behaviors.
Inherits: vcBehaviour, vcFlow, vcContainer
Properties
Name | Type | Access | Description |
Acceleration | Real | RW | Defines rate of acceleration (mm/s^2) for components moving on path.
If zero, acceleration is not calculated. |
Accumulate | Boolean | RW | Turns on/off pile-up of components moving on path.
If True, components on the path stop moving when they encounter a blocked component. If False, components on the path stop moving when a component is blocked from exiting the path. |
Deceleration | Real | RW | Defines rate of deceleration (mm/s^2) for components moving on path.
If zero, deceleration is not calculated. |
DetailCurveMotion | Boolean | RW | Turns on/off detailed movement of components to and from path, for example when moving from linear path to curved path.
If True, bound box of component is used to avoid intersecting with other components. This might create a gap between components, for example components that are cylindrical. This also decreases simulation performance. You can disable DetailCurveMotion if components are cylindrical or if a slight intersection between components when transferring from linear to curved path is not a concern. |
Direction | Enumeration | RW | Defines the direction components move on path, but only if the path supports two or more directions.
See Conveyor Direction Constants for more information. |
FastScheduling | Boolean | RW | Turns on/off the optimization of moving components on the path.
If True, the path limits the amount of generated events, thereby improving simulation performance. If False, the path moves components at shorter increments, thereby increasing the amount of events and decreasing simulation performance. |
Interpolation | Enumeration | RW | Defines mode used by path to interpolate its waypoints set in Path property.
See Conveyor Interpolation Mode Constants for more information. |
Path | List of vcFeature | RW | Defines an ordered list of Frame features referenced as waypoints of path.
If set, path is calculated based on its interpolation mode. |
PathAxis | Enumeration | RW | Defines mode for calculating how much space a component occupies on path, thereby allowing the path to utilize its space and determine if one or more components are blocked if SpaceUtilization property is set to True.
See Path Axis Mode Constants for more information. |
PathLength | Real | R | Gets the length of path. That is, the distance from first to last waypoint along the path. |
RetainOffset | Boolean | RW | Defines if a component entering, placed or grabbed by the path is snapped to and aligned with path's axis.
If True, a component retains its offset while moving on path. If False, component is snapped to nearest point on path and its origin is aligned with calculated path. |
SegmentSize | Real | RW | Defines the size of segments when path uses segmentation to move components to and from different sections of the path.
If value is greater than zero, the number of path segments is calculated in order to determine the capacity of each segment based on total capacity of path. Therefore, components move on path based on the capacity of a proceeding segment. |
Sensors | List of vcBehaviour | RW | List of sensors connected to path, which must be either component path or process point type sensors. |
SpaceUtilization | Boolean | RW | Defines if components accumulating on path are kept separate from one another and how new components enter path.
If False, components may overlap one another and/or pile up side by side, which might be useful if RetainOffset is set to True. |
Speed | Real | RW | Defines the speed (mm/s) of path. |
Notes:
- Speed, Acceleration and Deceleration properties can be overridden if component properties PathVelocity, PathAcceleration and PathDeceleration have values greater than zero. In those cases, component property values will be used instead to calculate component movement on a path. See vcComponent for more information.
- Accumulation mode only determines what happens when a component is blocked from exiting the end of the path. If a component is explicitly blocked using stopMovement() method, preceding components are accumulated regardless of set value for Accumulate property.
Events
The following events can be assigned callback functions to handle the flow of components moving in and out of containers as well as changes to a component's motion along a path.
Name | Parameters | Description |
OnMotionChanged | vcComponent component, Enumeration state | Triggered when the state of a component's motion changes on a path.
If the state of a path is changed so that it affects the motion of all components on that path, this event is called for each of those components. See Path Motion State Constants for more information. |
OnPhysicalTransition | vcContainer container, vcComponent component, Boolean arrive_leave | Triggered when either a) the leading edge of a component enters path or b) the trailing edge of a component exits path.
The Container argument is the current container of the component given in the Component argument, which may not be the container of component at the time of the call since the component may have transitioned elsewhere. The arrive_leave argument is True if component is entering path; otherwise False means a component is exiting path. |