领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

FlexSim常用脚本语言汇总--搜集最常用

nixiaole 2024-11-24 19:57:36 知识剖析 24 ℃

Flexsim仿真学习—脚本语言FlexScript

1. 引用对象

命令

解释

例子

Node.first

这将返回对节点内第一个排序对象/节点的引用

Current.first

Node.last

这将返回对节点内最后排序的对象/节点的引用

Current.last

Node.subnodes[ranknum]

这将返回对节点内给定排名对象的引用

Current.sbunodes[3]

Object.inObjects[portnum]

这将返回对连接到对象的输入端口号的对象的引用

Current.inobjects[1]

Object.outObjects[portnum]

这将返回对连接到对象的输出端口号的对象的引用

Current.outobjects[1]

Object.centerObjects[portnum]

这将返回对连接到对象中心端口号的对象的引用

Current.centerobjects[1]

Node.next

这将返回对节点的下一个排序对象的引用

Item.next

Node.prev

这将返回对先前排序的节点对象的引用

Item.prev

Node.find(path)

这将返回从节点开始的树中找到的对象

Current.find(“Box1”)


2. 对象属性

命令

解释

Object.name

这将返回对象的名称

Object.name = newname

这将设置对象的名称

Object.color = color.color

这将设置对象的颜色(颜色为红,绿,蓝,随机)

Object.color = color(red,green,blue)

这将对象的颜色设置为红,绿,蓝

Setobjectshapeindex(object.indexnum)

设置对象的3D形状

Setobjecttextureindex(object.indexnum)

设置对象的3D纹理


3. 对象统计

命令

解释

Object.subnodes.length

这将返回对象的当前内容

Object.stats.input

这将返回对象的输入统计信息

Object.stats.output

这将返回对象的输出统计信息

Obj.stats.state().value = statenum

这将设置对象的当前状态

Obj.stats.state().value

这将设置对象的当前状态值

Obj.stats.state().valuestring

这将以字符串形式返回对象的当前状态

Object.rank

这将返回对象的等级

Object.rank = ranknum

这设置了对象的等级

Getentrytime(item)

这将是返回流项目进入当前所在对象的时间

Getcreationtime(item)

这将返回创建流项的时间




4. 对象控制

命令

解释

Obj.input.close()

这将关闭对象的输入

Obj.input.open()

这将重新打开对象的输入

Obj.output.close()

这将关闭对象的输出

Obj.output.open()

这将重新打开对象的输出

Sendmessage(toobject,fromobject,

parameter1,parameter2,parameter3)

这会导致触发对象的消息触发器

Sendmessage(toobject,delaytime,fromobject,

parameter1,parameter2,parameter3)

这会导致对象的消息触发器在一定的延迟时间后触发

Obect.stop(downstate)

这告诉对象停止其操作并进入给定状态

Object.resume()

这允许对象恢复其操作

Obj.output.stop()

这将关闭对象的输出,并累积stopoutput请求

Obj.output.resume()

一旦所有stopoutput请求恢复,这将打开对象的输出

Obj.input.stop()

这将关闭对象的输入,并累积stopinput请求

Obj.input.resume()

一旦所有停止输入请求恢复,这将打开对象的输入

Unsertcopy(originalobject,containerobject)

这会将对象的新副本插入容器中

Moveobject(object.containerobject)

这回将对象从其当前容器移动到其新容器中


5. 对象变量

命令

解释

Getvarnum(object,“variablename”)

这将返回具有给定名称的变量的数值

Setvarnum(object,“variablename”,value)

这将使用给定名称设置变量的数值

Getvarstr(object,“variablename”)

这将返回具有给定名称的变量的字符串值

Setvarstr(object,“variablename”,string)

这将使用给定名称设置变量的字符串值

Getvarnode(object,“variablename”)

这将返回对给定名称作为节点的变量的引用


6. 表格

Table table = reftable(“GlobalTable1”); //Global tables

Table labelTable = current.labels[“TableData”]; //Label table

命令

解释

Table[row num/name][col num/name]

这将返回表的指定行和列中的值

Table[row num/name][col num/name] = value

这将设置表的指定行和列中的值

Table.setSize(rows.columns)

这将按行和列设置表的大小

Table.numRows

这将返回表中的行数

Table.numCols

这将返回表中的列数

Table.clear()

将表中的所有数字值设置为0

7. 提示和打印输出

命令

解释

Print(var value)

将变量值打印到输出控制台上

Msg(“title”,“caption”

打开一个简单的Yes,No,Cancel对话框

Userinput(targetnode,“prompt”)

打开一个对话框,您可以在其中设置模型中节点的值

String1+string2

这将返回两个字符串的字符串连接

8. 变量类型

命令

解释

Int

整列

Double

双精度浮点数类型

String

字符串

Treenode

对Flexsim节点的引用

Variant

数字,字符串,treenode或数组

Array

数组

Object

Treenode与对象数据

Color

Rgba颜色的组成部分

Vec3

xyz矢量的组件

Table

元素表

List

用于同步任务和逻辑的动态事物列表

var

推断变量类型


9. 对Queue里面批量进入的item打乱顺序

Setrank(item,duniform(1,content(current)));


10. 构造类对象

Color mycolor = color(1,0,0); // makes a red color

Object.location = vec3(0,0,0); //sets the object’s location to the origin


11. 点语法

Object.method(parmeter1,parmeter2,parmeter3…);

Current.setlocation(1,1,1);

Treenode lastitem = current.last;

Treenode item3 = current.subnodes[3];

Int quantity = current.quantity; //Accesses label named ‘quantity’


12. If语句例子

案例1:

If(item.subnodes.length = = 2)

{

Item.color = Color.red;

}

Else

{

Item.color = Color.black

}




案例2:

If(time() > 1440)

{

Return 10;

}

Else

{

Return 20;

}


13. While循环语句

While (test expressiom)

{

Code block

}

While (current.subnodes.length > 2)

{

Current.last.destroy();

}


14. For循环语句

For(start expression; test expression; current expression)

{

Code block

}

For (int index = 1;index <=current.subnodes.length; index++)

{

Current.subnodes[index].as(object).color = color.blue;

}


15. Switch语句

Switch(switchvariable)

{

Case casenum;

{

Code block;

Break;

}

Default:

{

Code block;

Break;

}

}

Switch(item.type)

{

Case 1;

{

Item.color = Color.yellow;

Break;

}

Case 2;

{

Item.color = Color.red;

Break;

}

Default;

{

Itme.color = Color.green;

Break;

}

}


16. 函数案例

Getlabelnum(object,“labelname”);

Setlabelnum(object,“labelname”,value);

Getlabelstr(object,“labelname”);

Setlabelstr(object,“labelname”,string);

Label(object,“labelname”);

Settablenum(“GlobalTable”,1,1,1);


17. 代码举例

一、

18. string labelname = "station";

19. Variant value = current.station;

20. int n = item.labels[labelname].value;

21. if(n!=value)

22. return 1;

23. else

24. return 0;


二、

int num=fmod(Model.find("Combiner49>stats/stats_output").value,6);

if (num==0) {

num=6;

}

/**Set Label*/

Object involved = /** \nObject: *//***tag:object*//**/item/**/;

string labelname = /** \nLabel: *//***tag:label*//**/"mylabel"/**/;

Variant value = /** \nValue: *//***tag:value*//**/num/**/;


三、

current.find(">variables/sequence/Arrival1/Quantity").value=gettablenum("Fixture",2,1);


四、引用命令

命令

解释

示例

first(node)

返回的是所传递的实体中排序第一的对象的引用

first(current)

last(node)

返回的是所传递的实体中排序倒数第一的对象的引用

last(current)

rank(node,ranknum)

返回的是所传递的实体中某给定排序的对象的引用

rank(current,3)

inobject(object,portnum)

返回的是与所传递的实体的输入端口号相连的对象的引用

inobject(current,1)

outobject(object,portnum)

返回的是与所传递的实体的输出端口号相连的对象的引用

outobject(current,1)

centerobject(object,portnum)

返回的是与所传递的实体的中间端口号相连的对象的引用

centerobject(current,1)

next(node)

返回的是所传递的实体中排序下一个对象的引用

next(item)


五、实体属性

命令

解释

getname(object)

返回实体的名字

setname(object,name)

设定实体的名字

getitemtype(object)

返回实体中临时实体类型的值

setitemtype(object,num)

设定实体中临时实体类型的值

setcolor(object,red)

设定实体的颜色

colorred(object)

设定实体的颜色为红

setobjectshapeindex(object,indexnum)

设定实体的3D形状

setobjecttextureindex(object,indexnum)

设定实体的3D纹理

setobjectimageindex(object,indexnum)

设定实体的2D纹理,通常只在平面视图中使用


六、实体空间属性

命令

解释

xloc(object)yloc(object)zloc(object)

这些命令返回实体x、y、z轴向的位置

setlocz(object,xnum,ynum,znum)

此命令设定实体x、y、z轴向的位置

xsize(object)ysize(object)zsize(object)

这些命令返回实体x、y、z轴向的尺寸大小

setsize(object,xnum,ynum,znum)

此命令设定实体x、y、z轴向的尺寸大小

xrot(object)yrot(object)zrot(object)

这些命令返回实体围绕x、y、z轴向的旋转角度

setrot(object,xdeg,ydeg,zdeg)

此命令设定实体围绕x、y、z轴向的旋转角度

七、实体统计值

命令

解释

content(object)

返回实体当前数量

getinput(object)

返回实体的输入统计

getoutput(object)

返回实体的输出统计

setstate(object,statenum)

设定实体的当前状态

getstatenum(0bject)

返回实体的当前状态

getstatestr(object)

以字符串返回实体当前状态

getrank(object)

返回实体的排序

setrank(object,ranknum)

设定实体的排序

getentrytime(object)

返回实体进入到当前所在实体中的时刻

getcreationtime(object)

返回实体的创建时刻


八、实体标签

命令

解释

getlabelnum(object,labelname)

返回实体的标签值

getlabelnum(object,labelname)

setlabelnum(object,labelname,value)

设定实体的标签值

setlabelnum(object,labelname,value)

getlabelstr(object,labelname)

获得实体标签的字符串值

setlabelstr(object,labelname,value)

设定实体标签的字符串值

setlabelstr(object,labelrank,value)

label(object,labelname)label(object,labelrank)

返回一个作为节点的标签的引用,此命令常用在把标签当作一个表来使用的情况下


九、表

命令

解释

gettablenum(tablename/tablenode/tablerank,rownum,colnum)

返回表中特定行列的值

settablenum(tablename/tablenode/tablerank,rownum,colnum)

设定表中特定行列的值

gettablestr(tablename/tablenode/tablerank,rownum,colnum)

返回表中特定行列的字符串值

settablestr(tablename/tablenode/tablerank,rownum,colnum)

设定表中特定行列的字符串值

settablesize(tablename/tablenode/tablerank,rows,columns)

设定表的行列数大小

gettablerows(tablename/tablenode/tablerank)

返回表的行数

gettablecols(tablename/tablenode/tablerank)

返回表的列数

clearglobaltable(tablename/tablenode/tablerank)

将表中所有数字值设为0


十、实体控制

命令

解释

closeinput(object)

关闭实体的输入端口

openinput(object)

重新打开实体的输入端口

sedmessage(toobject,fromobject,parameter1

,parameter2,parameter3)

在一段特定时间延迟后触发实体消息触发器

stopobject(object,downstate)

令实体停止,进入指定状态

resumeobject(object)

使实体恢复其原来的无论什么操作

stopoutput(object)

关闭实体的输出端口,并累计停止输出的请求

resumeoutput(object)

打开实体的输出端口

insertcopy(originalobject,containerobject)

往容器里插入新的实体复制品

moveobject(object,containerobject)

将实体从当前容器移到它的新容器中


十一、高级函数

命令

解释

getvalrnum(object,“variablename”)

返回给定名称的变量的数值

setvalrnum(object,“variablename”,value)

设定给定名称的变量数值

getvarstr(object,“variablename”)

返回给定名称的变量的字符串值

setvalrstr(object,“variablename”,string)

设定给定名称的变量的字符串值

getvarnode(object,“variablename”)

返回一个节点,作为指向给定名称的变量的应用


十二、任务执行器控制

命令

解释

pf(text string)

向输出控制台打印文本

pf(float value)

向输出控制台打印浮点数值

pd(discrete value)

向输出控制台打印整数数值

pr()

在输出控制台中建新的一行

msg(“title”.“caption”)

打开一个简单的“是、否、取消”消息框

userinput(targetnode,“prompt”)

打开一个可以设定模型节点值的对话框

concat(string1,string2,etc.)

合并两个或多个字符串

最近发表
标签列表