Basic Modeling Functions
Current and Item
The following expressions are used frequently throughout FlexScript:
- current - the current variable is a reference to the current resource object. It is often an access variable in pick lists.
- item - the item variable is a reference to the involved item for a trigger or function. It is often an access variable in pick lists.
Referencing Objects
The following table explains how to reference objects in FlexScript:
Command | Explanation | Example |
---|---|---|
node.first | This returns a reference to the first ranked object/node inside of node | current.first |
node.last | This returns a reference to last ranked object/node inside of node | current.last |
node.subnodes[ranknum] | This returns a reference to the object at a given rank inside of node | current.subnodes[3] |
object.inObjects[portnum] | This returns a reference to the object connected to the input port number of object | current.inObjects[1] |
>object.outObjects[portnum] | This returns a reference to the object connected to the output port number of object | current.outObjects[i] |
object.centerObjects[portnum] | This returns a reference to the object connected to the center port number of object | current.centerObjects[1] |
node.next | This returns a reference to the next ranked object of node | item.next |
node.prev | This returns a reference to the previous ranked object of node | item.prev |
node.find(path) | This returns the object found at path in the tree beginning from node | current.find("Box1") |
Object Attributes
The following table explains object attributes commands in FlexScript:
Command | Explanation |
---|---|
object.name | This returns the name of the object |
object.name = newName; | This sets the name of the object to newName |
object.color = Color.color | This sets the color of the object (where color is red, green, blue, random(), etc.) |
object.color = Color(red, green, blue) | This sets the color of the object to an rgb color |
setobjectshapeindex(object, indexnum) | This sets the 3D shape of the object |
setobjecttextureindex(object, indexnum) | This sets the 3D texture of the object |
Object Spatial Attributes
The following table explains object spatial attribute commands in FlexScript:
Command | Explanation |
---|---|
object.location.x object.location.y object.location.z |
Gets the x, y, and z locations of the object respectively |
object.setLocation(xnum, ynum, znum) | This sets the x, y, and z location of the object |
object.size.x object.size.y object.size.z |
Gets the x, y, and z size of the object respectively |
object.setSize(xnum, ynum, znum) | This sets the x, y, and z size of the object |
object.rotation.x object.rotation.y object.rotation.z |
Gets the x, y, and z rotation of the object respectively |
object.setRotation(xdeg, ydeg, zdeg) | This sets the x, y, and z rotation of the object |
Object Statistics
The following table explains object statistics commands in FlexScript:
Command(parameter list) | Explanation |
---|---|
object.subnodes.length | This returns the current content of the object |
object.stats.input | This returns the input statistic of the object |
object.stats.output | This returns the output statistic of the object |
obj.stats.state().value = statenum | This sets the current state of the object |
obj.stats.state().value | This returns the current state value of the object |
obj.stats.state().valueString | This returns the current state of the object as a string |
object.rank | This returns the rank of the object |
object.rank = ranknum | This sets the rank of the object |
getentrytime(item) | This returns the time the flow item entered the object it is currently in |
getcreationtime(item) | This returns the time the flow item was created |
Object Labels
The following table explains object label commands in FlexScript:
Command(parameter list) | Explanation |
---|---|
object.labelName object.labels[labelRank].value |
This returns the value of the object's label. |
object.labelName = value object.labels[labelRank].value = value |
This sets the value of the object's label. |
object.labels["labelname"] object.labels[labelRank] |
This returns a reference to the label as a node. Often used if you have a label that is used as a table. |
Object Control
The following table explains object control commands in FlexScript:
Command(parameter list) | Explanation |
---|---|
obj.input.close() | This closes the input of the object |
obj.input.open() | This re-opens the input of the object |
obj.output.close() | This closes the output of the object |
obj.input.open() | This re-opens the output of the object |
sendmessage(toobject, fromobject, parameter1, parameter2, parameter3) |
This causes the message trigger of the object to fire |
senddelayedmessage(toobject, delaytime, fromobject, parameter1, parameter2, parameter3) |
This causes the message trigger of the object to fire after a certain delay time |
object.stop(downstate) | This tells the object to stop whatever its operation is and go into the given state |
object.resume() | This allows the object to resume whatever its operation is |
obj.output.stop() | This closes the output of the object, and accumulates stopoutput requests |
obj.output.resume() | This opens the output of the object once all stopoutput requests have been resumed |
obj.input.stop() | This closes the input of the object, and accumulates stopinput requests |
obj.input.resume() | This opens the input of the object once all stopinput requests have been resumed |
insertcopy(originalobject, containerobject) | This inserts a new copy of the object into the container |
moveobject(object, containerobject) | This moves the object out of its current container into its new container |
Object Variables
The following table explains object variable commands in FlexScript:
command(parameter list) | Explanation |
---|---|
getvarnum(object, "variablename") | This returns the number value of the variable with the given name |
setvarnum(object, "variablename", value) | This sets the number value of the variable with the given name |
getvarstr(object, "variablename") | This returns the string value of the variable with the given name |
setvarstr(object, "variablename", string) | This sets the string value of the variable with the given name |
getvarnode(object, "variablename") | This returns a reference to the variable with the given name as a node |
For more information about the Object class see the FlexScript Class Reference.
Tables
In order to get access to the set of table methods and properties, you'll need to create a Table variable.
Table table = reftable("GlobalTable1"); //Global tables
Table labelTable = current.labels["TableData"]; //Label table
The following methods and explanations assume you have a Table variable like the ones listed above.
command | Explanation |
---|---|
table[row num/name][col num/name] | This returns the value in the specified row and column of the table |
table[row num/name][col num/name] = value; | This sets the value in the specified row and column of the table |
table.setSize(rows, columns) | This sets the size of the table in rows and columns |
table.numRows | This returns the number of rows in the table |
table.numCols | This returns the number of columns in the table |
table.clear() | Sets all number values in the table to 0 |
For more information about the Table class see the FlexScript Class Reference.
Task Executer Control
For more information on controlling task executers, refer to the task sequence reference.
Prompts and Printouts
The following table explains prompt and printout commands in FlexScript:
Command(parameter list) | Explanation |
---|---|
print(var value) | Prints variant values to the output console |
msg("title", "caption") | Opens a simple Yes, No, Cancel dialog |
userinput(targetnode, "prompt") | Opens a dialog box where you can set the value of a node in the model |
string1 + string2 | This returns the string concatenation of two strings |
Advanced Functions
For more advanced functions and for a more complete set of command documentation, refer to the Command Summary and the FlexScript Class Reference.