Fixer component for securing MUs to specific positions or surfaces in the automation system. More...

Public Member Functions | |
void | Pick () |
public for Fix all currently colliding MUs | |
void | Place () |
public for Fix all currently colliding MUs | |
void | OnTriggerEnter (Collider other) |
void | OnTriggerExit (Collider other) |
void | CheckRelease () |
void | Unfix (MU mu) |
void | DeActivate (bool activate) |
void | Fix (MU mu) |
![]() | |
new List< BehaviorInterfaceConnection > | GetConnections () |
Returns a list of behavior interface connections for this component. | |
new List< Signal > | GetSignals () |
Returns a list of connected signals for this component. | |
![]() | |
void | PreStartSim () |
Is called by the realvirtualController before the component is started. | |
void | StartSim () |
Is called by the realvirtualController to start or stop the component. | |
void | StopSim () |
Vector3 | DirectionToVector (DIRECTION direction) |
Transfers the direction enumeration to a vector. | |
DIRECTION | VectorToDirection (bool torotatoin, Vector3 vector) |
Transfers a vector to the direction enumeration. | |
float | GetLocalScale (Transform thetransform, DIRECTION direction) |
List< BehaviorInterfaceConnection > | UpdateConnectionInfo () |
List< Signal > | GetConnectedSignals () |
void | SetVisibility (bool visibility) |
Sets the visibility of this object including all subobjects. | |
List< BehaviorInterfaceConnection > | GetConnections () |
List< Signal > | GetSignals () |
GameObject | GetChildByName (string name) |
Gets a child by name. | |
List< GameObject > | GetChildsByName (string name) |
Gets all child by name. | |
GameObject | GetChildByNameAlsoHidden (string name) |
List< GameObject > | GetAllMeshesWithGroup (string group) |
List< GameObject > | GetAllWithGroup (string group) |
List< GameObject > | GetAllWithGroups (List< string > groups) |
List< GameObject > | GetAllMeshesWithGroups (List< string > groups) |
List< string > | GetMyGroups () |
List< GameObject > | GetMeshesWithSameGroups () |
List< GameObject > | GetAllWithSameGroups () |
MeshRenderer | GetMeshRenderer () |
Gets the mesh renderers in the childrens. | |
void | SetCollider (bool enabled) |
sets the collider in all child objects | |
void | ErrorMessage (string message) |
Displays an error message. | |
void | ChangeConnectionMode (bool isconnected) |
void | Log (string message) |
Logs a message. | |
void | Log (string message, object obj) |
Logs a message with a relation to an object. | |
void | Warning (string message, object obj) |
Logs a warinng with a relation to an object. | |
void | Error (string message, object obj) |
Logs an error with a relation to an object. | |
void | Error (string message) |
Logs an error. | |
GameObject | DebugPosition (string debugname, Vector3 position, Quaternion quaternation, float scale) |
Displays a gizmo for debugging positions. | |
void | SetFreezePosition (bool enabled) |
Freezes all child components to the current poosition. | |
void | SetRbConstraints (RigidbodyConstraints constraints) |
virtual void | AwakeAlsoDeactivated () |
Public Attributes | |
bool | UseRayCast |
Use Raycasts instead of Box Collider for detecting parts. | |
List< string > | LimitToTags |
Limits all Fixing functions to objects with defined Tags. | |
Vector3 | RaycastDirection |
Raycast direction. | |
float | RayCastLength |
Length of Raycast in mm. | |
List< string > | RayCastLayers |
Raycast Layers. | |
bool | FixMU |
bool | DeactivatePhysicsWhenPlacing |
bool | AlignAndFixOnMinDistance |
true if MU should be fixed or aligned when Distance between MU and Fixer is minimum (distance is increasing again) | |
bool | AlignMU |
true if pivot Points of MU and Fixer should be aligned | |
Vector3 | DeltaAlign |
string | SetTagAfterFix |
Vector3 | DeltaRot |
bool | ShowStatus |
float | StatusOpacity |
true if Status of Collider or Raycast should be displayed | |
bool | BlockHandingOver |
Opacity of Mesh in case of status display. | |
bool | OneBitFix |
if true the fixer will not be able to hand over the MU to another fixer which is colliding with the MU | |
PLCOutputBool | FixerFix |
Only controlled by Signal FixerFix - with one bit. | |
PLCOutputBool | FixerRelease |
PLCOutputBool | SignalBlockHandingOver |
PLCSignal for releasing current MUs and turning Fixer off. | |
bool | DebugMode |
List< MU > | MUSEntered |
List< MU > | MUSFixed |
![]() | |
List< BehaviorInterfaceConnection > | ConnectionInfo |
![]() | |
string | Name |
The name of the component if it should be different from the GameObject name. | |
ActiveOnly | Active |
GameObject | FromTemplate |
realvirtualController | realvirtualController |
bool | HideNonG44Components |
bool | SceneIsAdditive |
bool | ForceStop |
Additional Inherited Members | |
![]() | |
enum | ActiveOnly { Always , Connected , Disconnected , Never , DontChange } |
![]() | |
static bool | DirectionIsLinear (DIRECTION direction) |
Gets back if the direction is linear or a rotation. | |
![]() | |
bool | hidename () |
bool | hideactiveonly () |
virtual void | OnStopSim () |
virtual void | OnPreStartSim () |
virtual void | OnStartSim () |
MU | GetTopOfMu (GameObject obj) |
Gets the top of an MU component (the first MU script going up in the hierarchy) | |
void | InitGame4Automation () |
Initialiates the components and gets the reference to the realvirtualController in the scene. | |
virtual void | AfterAwake () |
void | Awake () |
![]() | |
GameObject | gameObject [get] |
Detailed Description
Fixer component for securing MUs to specific positions or surfaces in the automation system.
The Fixer component is an essential tool for position management in realvirtual simulations, providing mechanisms to secure MUs at specific locations within the production system. It enables precise control over material positioning, whether for temporary holding, permanent placement, or transfer operations. The component operates through collision detection or raycast sensing, automatically fixing MUs when they enter the detection zone and managing their physics state for stable positioning.
Key Features:
- Dual detection modes: BoxCollider-based or Raycast-based sensing
- Automatic fixing on contact with configurable release conditions
- Alignment capabilities for precise MU positioning with offset control
- Tag-based filtering to restrict fixing to specific MU types
- Minimum distance detection for optimal fixing timing
- Handover blocking to prevent unwanted transfers between fixers
- Visual status indication for debugging and monitoring
- Physics deactivation option for performance optimization
Common Applications:
- Workstation positioning and material holding
- Conveyor stop gates and accumulation zones
- Pallet positioning on transfer stations
- Buffer storage locations in production lines
- Quality inspection stations requiring stable MU positioning
- Assembly fixtures and jigs
- Loading/unloading positions for AGVs and robots
Operation Modes: The Fixer supports multiple operation modes to accommodate different automation scenarios. In automatic mode (FixMU=true), MUs are fixed immediately upon detection. In signal-controlled mode, fixing and releasing are controlled through PLC signals, supporting both single-bit (toggle) and dual-bit (separate fix/release) control schemes. The AlignAndFixOnMinDistance mode enables intelligent fixing when the MU reaches its closest approach, ideal for moving conveyors and transfer operations.
Integration Points: The Fixer integrates with the MU system for material tracking, supports handover protocols between multiple fixers, and can be controlled through PLC signals (PLCOutputBool) for industrial control system integration. It works seamlessly with conveyors, robots, and other transport systems, managing the transition between moving and stationary states.
Performance Considerations: The component efficiently manages fixed MUs through list-based tracking and provides options for physics optimization. When DeactivatePhysicsWhenPlacing is enabled, released MUs have their physics disabled, reducing computational overhead in scenarios where movement is not required. The raycast mode offers precise detection with lower performance impact compared to collision-based detection for simple geometries.
Visual Feedback: When ShowStatus is enabled, the Fixer provides visual feedback through color-coded indicators (red for empty, green for occupied) and raycast visualization, facilitating debugging and system monitoring during development and commissioning phases.
For detailed documentation and examples, visit: https://doc.realvirtual.io/components-and-scripts/fixer
Member Function Documentation
◆ DeActivate()
void realvirtual.Fixer.DeActivate | ( | bool | activate | ) |
Implements realvirtual.IFix.
◆ Fix()
void realvirtual.Fixer.Fix | ( | MU | mu | ) |
Implements realvirtual.IFix.
◆ Pick()
void realvirtual.Fixer.Pick | ( | ) |
public for Fix all currently colliding MUs
◆ Place()
void realvirtual.Fixer.Place | ( | ) |
public for Fix all currently colliding MUs
◆ Unfix()
void realvirtual.Fixer.Unfix | ( | MU | mu | ) |
Implements realvirtual.IFix.
Member Data Documentation
◆ AlignAndFixOnMinDistance
bool realvirtual.Fixer.AlignAndFixOnMinDistance |
true if MU should be fixed or aligned when Distance between MU and Fixer is minimum (distance is increasing again)
◆ AlignMU
bool realvirtual.Fixer.AlignMU |
true if pivot Points of MU and Fixer should be aligned
◆ BlockHandingOver
bool realvirtual.Fixer.BlockHandingOver |
Opacity of Mesh in case of status display.
◆ FixerFix
PLCOutputBool realvirtual.Fixer.FixerFix |
Only controlled by Signal FixerFix - with one bit.
◆ LimitToTags
List<string> realvirtual.Fixer.LimitToTags |
Limits all Fixing functions to objects with defined Tags.
◆ OneBitFix
bool realvirtual.Fixer.OneBitFix |
if true the fixer will not be able to hand over the MU to another fixer which is colliding with the MU
◆ RaycastDirection
Vector3 realvirtual.Fixer.RaycastDirection |
Raycast direction.
◆ RayCastLayers
List<string> realvirtual.Fixer.RayCastLayers |
Raycast Layers.
◆ RayCastLength
float realvirtual.Fixer.RayCastLength |
Length of Raycast in mm.
◆ SignalBlockHandingOver
PLCOutputBool realvirtual.Fixer.SignalBlockHandingOver |
PLCSignal for releasing current MUs and turning Fixer off.
◆ StatusOpacity
float realvirtual.Fixer.StatusOpacity |
true if Status of Collider or Raycast should be displayed
◆ UseRayCast
bool realvirtual.Fixer.UseRayCast |
Use Raycasts instead of Box Collider for detecting parts.