Type: BCS.Sym3.Equipment.ICrossBeltSorter

Represents a cross belt sorter

Properties


Acceleration

  • Description: Gets or sets the acceleration.
  • Type: Double
  • Access: Read and Write

AccelerationEnabled

  • Description: Gets or sets a value indicating whether [acceleration enabled].
  • Type: Boolean
  • Access: Read and Write

AccelerationTime

  • Description: Gets or sets the acceleration time.
  • Type: Double
  • Access: Read and Write

Alias

  • Description: Gets or sets
  • Type: String
  • Access: Read and Write

AllocationPoints

  • Description: Gets or sets the list of allocation points
  • Type: List`1
  • Access: Read and Write

BaseColor

  • Description: Gets or sets the color of the base
  • Type: IResourceColor
  • Access: Read and Write

BaseProject

  • Description: Gets the project
  • Type: IBaseProject
  • Access: Read

BaseVisible

  • Description: Gets or sets the visibility of the base
  • Type: Boolean
  • Access: Read and Write

BeltLabelZeroBased

  • Description: Gets or sets whether the belt number label start from 0
  • Type: Boolean
  • Access: Read and Write

BeltsColor

  • Description: Gets or sets the color of the belts
  • Type: IResourceColor
  • Access: Read and Write

BeltSpeed

  • Description: Gets or sets the belt speed
  • Type: Double
  • Access: Read and Write

BeltsVisible

  • Description: Gets or sets the visibility of the belts
  • Type: Boolean
  • Access: Read and Write

BeltWidth

  • Description: Gets or sets - TO BE DOCUMENTED
  • Type: Double
  • Access: Read and Write

BillboardText

  • Description: Gets or sets the billboard text.
  • Type: String
  • Access: Read and Write

BoundProperties

  • Description: Gets the list of bound properties
  • Type: ObservableCollection`1
  • Access: Read

Children

  • Description: Get list of children (only for MyEquipment instances)
  • Type: List`1
  • Access: Read

Color

  • Description: Gets or sets the color of the equipment
  • Type: IResourceColor
  • Access: Read and Write

Deceleration

  • Description: Gets or sets the deceleration.
  • Type: Double
  • Access: Read and Write

DecelerationTime

  • Description: Gets or sets the deceleration time.
  • Type: Double
  • Access: Read and Write

DefaultSpeed

  • Description: Gets or sets - TO BE DOCUMENTED
  • Type: Double
  • Access: Read and Write

Direction

  • Description: Gets or sets the direction of the equipment. In degrees
  • Type: Double
  • Access: Read and Write

DirectionOffset

  • Description: Gets or sets the direction offset. In degrees
  • Type: Double
  • Access: Read and Write

DisplayBackFace

  • Description: Gets or sets whether to render back face
  • Type: Boolean
  • Access: Read and Write

DisplayTypeName

  • Description: Gets the display name of the type name of the object. It returns the english display name of the type name.
  • Type: String
  • Access: Read

DistanceTravelled

  • Description: Gets The distance Travel by the transporter measured in the currently defined system units.
  • Type: UInt32
  • Access: Read

EnableEncoder

  • Description: Gets or sets The flag to enable calculation for distance Travel by the transporter
  • Type: Boolean
  • Access: Read and Write

ExitPoints

  • Description: Gets or sets the list of exit points
  • Type: List`1
  • Access: Read and Write

ExitWindow

  • Description: Gets or sets the exit window
  • Type: Double
  • Access: Read and Write

Id

  • Description: Gets the globally unique identifier (GUID) id of the object. This unique identifier is generated once at the object creation. This id will be kept unique for the entire life of the object, event after saving/loading the project.
  • Type: Guid
  • Access: Read and Write
  • Example:
This example shows how to get the id of an object in a string format. The following script will output a string like 'b3122ae0-dcf7-43b6-b17c-5381afaca5cb'

            strid = Project.Colors.Get("myColor").Id.ToString();
            print(strid)
            

InheritedTypeName

  • Description: Get typename, if this is a MyEquipment type from standard type, returns the typename of the inherited equipment
  • Type: String
  • Access: Read

IslandGapSize

  • Description: Gets or sets - TO BE DOCUMENTED
  • Type: Double
  • Access: Read and Write

IslandHeight

  • Description: Gets or sets - TO BE DOCUMENTED
  • Type: Double
  • Access: Read and Write

IslandLength

  • Description: Gets or sets - TO BE DOCUMENTED
  • Type: Double
  • Access: Read and Write

IslandsColor

  • Description: Gets or sets the color of the islands
  • Type: IResourceColor
  • Access: Read and Write

IslandsVisible

  • Description: Gets or sets the visibility of the islands
  • Type: Boolean
  • Access: Read and Write

IslandWidth

  • Description: Gets or sets - TO BE DOCUMENTED
  • Type: Double
  • Access: Read and Write

IsUserDefined

  • Description: Indicates if this equipment is a User Defined one
  • Type: Boolean
  • Access: Read

Layer

  • Description: Gets or sets the layer the equipment belongs to.
  • Type: ILayer
  • Access: Read and Write

LayerId

  • Description: Gets or sets the layer ID the equipment belongs to.
  • Type: Nullable`1
  • Access: Read and Write

Length

  • Description: Gets or sets - TO BE DOCUMENTED
  • Type: Double
  • Access: Read

LogicalProcessor

  • Description: Gets or sets the logical processor
  • Type: ILogicalProcessor
  • Access: Read and Write

MaxDistanceTravelled

  • Description: Gets or sets the Max value for distance Travel by the transporter in the currently defined system units.
  • Type: UInt32
  • Access: Read and Write

  • Description: Gets or sets the associated menu
  • Type: IResourceMenu
  • Access: Read and Write

Name

  • Description: Gets or sets the name of the object. All objects of the same type have a unique name.
  • Type: String
  • Access: Read and Write
  • Example:
This example shows how to get and set the name of an object.

            // get the color name
            colorname = Project.Colors.Get("myColor").Name;
            
            // set the color name
            Project.Colors.Get("myColor").Name = "myNewName";
            

NameSuffix

  • Description: The project explorer will display this after the Name of this object.
  • Type: String
  • Access: Read

NumBeltsPerIsland

  • Description: Gets or sets - TO BE DOCUMENTED
  • Type: Int32
  • Access: Read and Write

NumIslands

  • Description: Gets or sets - TO BE DOCUMENTED
  • Type: Int32
  • Access: Read

NumOccupiedBelts

  • Description: Gets the number of opccupied belts
  • Type: Int32
  • Access: Read

NumOccupiedIslands

  • Description: Gets the number of opccupied islands
  • Type: Int32
  • Access: Read

OperationMode

  • Description: Gets or sets the operation mode. Can be one of the following string value:

          "ScreeningStationController"
          "CascadeController"
          "MergeSourceController" use this one for "Window Reservation" mode
          "InductorController"
          "ExternalController"
    
  • Type: String

  • Access: Read and Write


OversizeThreshold

  • Description: Gets or sets the oversize threshold
  • Type: Double
  • Access: Read and Write

Parent

  • Description: Gets
  • Type: IBaseEquipment
  • Access: Read and Write

ProductCount

  • Description: Gets the number of product
  • Type: Int32
  • Access: Read

ReferenceIsland

  • Description: Gets or set the reference Island (ID start at 1)
  • Type: Int32
  • Access: Read and Write

ReferenceOffset

  • Description: Gets or sets the reference offset
  • Type: Double
  • Access: Read and Write

Roll

  • Description: Gets or sets the roll of the equipment. In degrees
  • Type: Double
  • Access: Read and Write

RollOffset

  • Description: Gets or sets the roll offset. In degrees.
  • Type: Double
  • Access: Read and Write

Running

  • Description: Gets or sets the running state of the cross belt sorter
  • Type: Boolean
  • Access: Read and Write

Sections

  • Description: Gets or sets the list of sections
  • Type: ObservableCollection`1
  • Access: Read and Write

Selectable

  • Description: Gets or sets whether equipment is selectable.
  • Type: Boolean
  • Access: Read and Write

Speed

  • Description: Gets or sets the speed of the cross belt sorter
  • Type: Double
  • Access: Read and Write

StartStopRequest

  • Description: Gets or sets the Start Stop request flag of the cross belt sorter
  • Type: Boolean
  • Access: Read and Write

StartStopStatus

  • Description: Gets Start Stop Status Text of the cross belt sorter
  • Type: String
  • Access: Read

SubSystem

  • Description: Gets or sets the Sub System
  • Type: ISubSystem
  • Access: Read and Write

TargetSpeed

  • Description: Gets or sets the target speed.
  • Type: Double
  • Access: Read and Write

Template

  • Description: Gets or sets the template
  • Type: ITemplate
  • Access: Read and Write

Tilt

  • Description: Gets or sets the tilt of the equipment. In degrees
  • Type: Double
  • Access: Read and Write

TiltOffset

  • Description: Gets or sets the tilt offset. In degrees
  • Type: Double
  • Access: Read and Write

TrackingMode

  • Description: Gets/Sets the tracking mode for the cross belt sorter
  • Type: TrackingMode
  • Access: Read and Write

TypeName

  • Description: Gets the typename of the object. A type name doesn’t contain any space characters.
  • Type: String
  • Access: Read

UseAccelerationTime

  • Description: Gets or sets a value indicating whether [use acceleration time].
  • Type: Boolean
  • Access: Read and Write

UserPropertyInstances

  • Description: Gets a list of all the instances of user properties.
  • Type: ObservableCollection`1
  • Access: Read

Visible

  • Description: Gets or sets the visibility of the equipment
  • Type: Boolean
  • Access: Read and Write

X

  • Description: Gets or sets the X position of the equipment
  • Type: Double
  • Access: Read and Write

XOffset

  • Description: Gets or sets the offset in the X direction
  • Type: Double
  • Access: Read and Write

Y

  • Description: Gets or sets the Y position of the equipment
  • Type: Double
  • Access: Read and Write

YOffset

  • Description: Gets or sets the offset in the Y direction
  • Type: Double
  • Access: Read and Write

Z

  • Description: Gets or sets the Z position of the equipment
  • Type: Double
  • Access: Read and Write

ZOffset

  • Description: Gets or sets the offset in the Z direction
  • Type: Double
  • Access: Read and Write

Methods


ActionStart

Starts the cross belt sorter


ActionStop

Stops the cross belt sorter


AddAllocationPoint(System.Double)

Create and add a new allocation point to the AllocationPoints collection allocation point offset on the sorter


AddExitPoint(BCS.Sym3.IBaseEquipment,BCS.Sym3.IBaseEquipment)

Create and add a new exit point to the ExitPoints collection the exit equipmentexit rule


AddSection(System.Double,System.Double,System.Double,System.Double)

Create and add a new section to the Sections collection length of the section measured in the currently defined system units.arc of the section in degreedirection of the section in degreetilt of the section in degree


ForceRename(System.String,System.Boolean)

Rename the object.

  • Parameters:
    • value: The new name.
    • fireChangingEvent: If false, no change event will fire. In particular, this disables the check for duplicate names, which can be costly as it has to check every equipment. The caller is responsible for ensuring that value is a unique name, or Bad Things will happen.

FromXmlString(BCS.IToolXmlToObjectHelper)

Init object from IToolXmlToObjectHelper. All properties found in the RootElement of IToolXmlToObjectHelper will be set with the value in the rootElement

  • Parameters:
    • xmlHelperObj: xmlHelperObj IToolXmlToObjectHelper

FromXmlString(System.String)

Init object from xml. All properties found in the xml will be set with the value in the xml file

  • Parameters:
    • xmlText: Xml string

FromXmlString(System.Xml.Linq.XElement)

Init object from root element. All properties found in the XElement will be set with the value in the XElement

  • Parameters:
    • objXml: objXml XElement

GetBoundProperty(System.String)

Gets a bound property by property name

  • Parameters:
    • propertyName: Property name
  • Returns:
    • Returns bound property. Null if not found
  • Example:
This example shows you how to get a binding on a property if this one exists

            // get control:
            var td = Project.Windows["Window1"]["Text Display1"]
            
            // bind property 'Value'
            var boundProperty = td.GetBoundProperty("Value")
            

GetCopyPasteXml

Converts the object into an XML string including overrides for for copy/paste functionality

  • Returns:
    • the string that contains xml version of the object for copy/paste

GetPropertyValues

Get all properties and values that are different from default values


GetUserPropertyInstance(System.String)

Gets the user property instance of the specified name

  • Parameters:
    • userPropertyName: The user property name.
  • Returns:
    • Returns the user property instance object. If not found, the methods returns null.
  • Example:
This example shows how to set the value of a user property by using this method

            cc1 = Project.Equipment.Get("CC1");
            
            // get the value of a user property using the method
            userPropertyInstance = cc1.GetUserPropertyInstance("UserProperty1");
            if(userPropertyInstance != null) {
               userPropertyInstance.Value = 3;
            }
            

GetUserPropertyValue(System.String)

Gets the value of a user property. A better way to get the value of a user property is to use the indexer operator [], see example. Instead of using the method ‘GetUserPropertyInstance’ and then access the ‘Value’ property of the returned value, this method simplifies the way we get the value of a user property.

  • Parameters:
    • userPropertyName: The name of the user property to set.
  • Returns:
    • Returns null if user property is not found. Otherwise returns the value of the user property.
  • Example:
This example shows how to get the value of a user property using this method and also by using the indexer

            cc1 = Project.Equipment.Get("CC1");
            
            // get the value of a user property using the method
            val = cc1.GetUserPropertyValue("UserProperty1");
            
            // get the value of a user property using the indexer operator
            val = cc1["UserProperty1"];
            

IsUserProperty(System.String)

Indicates if the object contains a user property with the name you specify

  • Parameters:
    • userPropertyName: user property name
  • Returns:
    • Returns true if the object contains a user property with the name you specified in parameter.

NewBoundProperty(System.String)

Creates a new bound property

  • Parameters:
    • propertyName: Name of property to bind
  • Returns:
    • If the property (propertyName) doesn’t exist for this object type, no bound property will be created so this method will return null.
  • Example:
This example shows you how to bind a property

            // get control:
            var td = Project.Windows["Window1"]["Text Display1"]
            
            // bind property 'Value'
            var boundProperty = td.NewBoundProperty("Value")
            
            // set expression:
            boundProperty.Expression = "%caller.Name%_Running";
            
            // create a mapping:
            boundProperty.AddMapping("1", "It is true");
            boundProperty.AddMapping("0", "It is false");
            

RemoveBoundProperty(System.String)

Removes a binding

  • Parameters:
    • propertyName:
  • Example:
This example shows you how to remove a binding on a property

            // get control:
            var td = Project.Windows["Window1"]["Text Display1"]
            
            // remove data binding on property 'Value'
            td.RemoveBoundProperty("Value")
            

ReplaceEquipmentSpecificMarkup(System.String,System.String)

Gets a list of expressions that have had any markup replaced by the equipment specific tag identifier

  • Parameters:
    • expression: The expression that needs to be parsed for markup
    • property: property name associated with the expression

SetUserPropertyValue(System.String,System.Object)

Sets the value of a user property. A better way to set the value of a user property is to use the indexer operator [], see example. Instead of using the method ‘GetUserPropertyInstance’ and then access the ‘Value’ property of the returned value, this method simplifies the way we set the value of a user property.

  • Parameters:
    • userPropertyName: The name of the user property to set.
    • value: If the user property is not found, this methods does nothing.
  • Example:
This example shows how to set the value of a user property using this method and also by using the indexer

            cc1 = Project.Equipment.Get("CC1");
            
            // set the value of a user property using the method
            cc1.SetUserPropertyValue("UserProperty1", 3);
            
            // set the value of a user property using the indexer operator
            cc1["UserProperty1"] = 3;
            

ToCSVString(System.Char)

Returns the object in a CSV string.

  • Returns:
    • A string that contains properties of the object in a CSV format.

ToXmlString

Converts the object in an xml string

  • Returns:
    • the string that contains xml version of the object

Examples:

//******************************************************************************
// HOW TO : CrossBeltSorter
//
//******************************************************************************


//------------------------------------------------------------------------------
// How to create equipment
//------------------------------------------------------------------------------

// create a new cross belt sorter
var newEntity = Project.Equipment.NewCrossBeltSorter()



//------------------------------------------------------------------------------
// How to access equipment
//------------------------------------------------------------------------------

// get by name using method 'Get'
var entity1 = Project.Equipment.Get("CC1")
print("Get entity by name: " + entity1.Name)

// get by name using operator []
var entity2 = Project.Equipment["CC1"]
print("Get entity by name: " + entity2.Name)

// get by index:
var entity3 = Project.Equipment[0]
print("Get entity by index: " + entity3.Name)


// get all cross belt sorters
var entities = Project.Equipment.CrossBeltSorters;
if (entities != null) { print(entities.Count); }



//------------------------------------------------------------------------------
// How to loop
//------------------------------------------------------------------------------

// loop through all equipment types:
var entities = Project.Equipment.Objects;
for (var i = 0; i < entities.Count; i++) {

    print(entities[i].Name);
}

// loop through all conveyors
var entities = Project.Equipment.Conveyors;
if (entities != null) {

    for (var i = 0; i < entities.Count; i++) {

        print(entities[i].Name);
    }
}




//------------------------------------------------------------------------------
// How to delete
//------------------------------------------------------------------------------

// remove entity
var equipment = Project.Equipment.Get("CC1")
Project.Equipment.Remove(equipment)


//------------------------------------------------------------------------------
// How to edit common properties
//------------------------------------------------------------------------------


equipment.Alias = "the alias";


equipment.X = 1;
equipment.Y = 2;
equipment.Z = 3;
equipment.Direction = 4;
equipment.Tilt = 5;
equipment.Roll = 6;
equipment.Selectable = false;
equipment.Layer = Project.Layers.Get("Layer1");
equipment.DisplayBackFace = false;
equipment.XOffset = 1;
equipment.YOffset = 1;
equipment.ZOffset = 1;
equipment.DirectionOffset = 1;
equipment.TiltOffset = 1;
equipment.RollOffset = 1;

// get parent name
print(equipment.Parent);

// set operation mode:
equipment.OperationMode = "ScreeningStationController";
equipment.OperationMode = "CascadeController";
equipment.OperationMode = "MergeSourceController";
equipment.OperationMode = "InductorController";
equipment.OperationMode = "ExternalController";



//------------------------------------------------------------------------------
// How to edit cross belt sorter properties
//------------------------------------------------------------------------------

var sorter = Project.Equipment.Get("MyEquipment")


//---- Geometry

sorter.IslandWidth = 1;
sorter.IslandHeight = 1;
sorter.IslandLength = 1;
sorter.IslandGapSize = 1;
sorter.BeltWidth = 1;
sorter.NumBeltsPerIsland = 10;

// get only:
print(sorter.Length);
print(sorter.NumIslands);


//---- Kinematics

sorter.Running = true;
sorter.Speed = 1;
sorter.BeltSpeed = 1;
sorter.OversizeThreshold = 1;

// get only:
print(sorter.ProductCount);
print(sorter.NumOccupiedIslands);
print(sorter.NumOccupiedBelts);


//---- Visual

sorter.BaseColor = Project.Colors.Get("Sym3 Red");
sorter.BaseVisible = true;


//---- Actions

sorter.ActionStart();
sorter.ActionStop();



//------------------------------------------------------------------------------
// How to edit exit points
// Important Notice: to speed up the execution always perform the following:
//   - get exit points in a temporay variable: var exitPoints = sorter.ExitPoints
//   - add/remove/edit this variable
//   - set the all variable back to the API: sorter.ExitPoints = exitPoints;
//------------------------------------------------------------------------------
var exitPoints = sorter.ExitPoints

// get number of exit points:
var count = exitPoints.Count;

// loop exit points
for (var i = 0; i < exitPoints.Count; i++) {
    var v = exitPoints[i];
}

// exit point properties:
var exitPoint = exitPoints[0];
exitPoint.Exit = Project.Equipment.Get("CC1");
exitPoint.Rule = Project.Equipment.Get("Rule1");

// after modification, re-assign the whle collection
sorter.ExitPoints = exitPoints;



//------------------------------------------------------------------------------
// How to edit allocation points
// Important Notice: to speed up the execution always perform the following:
//   - get exit points in a temporay variable: var allocationPoints = sorter.AllocationPoints
//   - add/remove/edit this variable
//   - set the all variable back to the API: sorter.AllocationPoints = allocationPoints;
//------------------------------------------------------------------------------
var allocationPoints = sorter.AllocationPoints

// get number of allocation points:
var count = allocationPoints.Count;

// loop allocation points
for (var i = 0; i < allocationPoints.Count; i++) {
    var v = allocationPoints[i];
}

// allocation point properties:
var allocationPoint = allocationPoints[0];

allocationPoint.Offset = 1;

var inductions = allocationPoint.Inductions;
for (var i = 0; i < inductions.Count; i++) {
    var induction = inductions[i];
    print(induction.Name);
}

var sequences = allocationPoint.Sequences;
for (var i = 0; i < sequences.Count; i++) {
    var sequence = sequences[i];
    print(sequence.Name);
}

// after modification, re-assign the whle collection
sorter.AllocationPoints = allocationPoints;



//------------------------------------------------------------------------------
// How to edit sections
// Important Notice: to speed up the execution always perform the following:
//   - get sections in a temporay variable: var sections = sorter.Sections
//   - add/remove/edit this variable
//   - set the all variable back to the API: sorter.Sections = sections;
//------------------------------------------------------------------------------

var sections = sorter.Sections

// get number of sections:
var count = sections.Count;

// loop sections
for (var i = 0; i < sections.Count; i++) {
    var v = sections[i];
}

// section properties:
var section = sections[0];

section.Arc = 1;
section.Length = 1;
section.Direction = 1;
section.Tilt = 1;

// after modification, re-assign the whle collection
sorter.Sections = sections;