|
实体参量
# v. E4 S, `8 p2 U' k w下列的命令和存取变量在Flexsim中被用作实体引用。$ `2 t: O% F8 L/ q
变量current和item- y/ z) t6 K- O+ M2 v' k. w3 a
• current - 变量current是当前资源实体的引用。通常可以是下拉菜单中的一个存取变量。
. ~) U/ Q$ h, |, i8 {: E• Item - 变量item是某触发器或函数所涉及的临时实体引用。通常可以是下拉菜单中的一个存取变量。 ! Z. m! }! S% Z+ h. K: f( Z
引用命令" C4 D3 Y$ i1 f0 a
命令(参数列表) 说明 示例9 d( E# ]$ P$ R! J
first(node) 返回的是所传递的实体中排序第一的对象的引用 first(current)
9 M8 Q+ E3 @+ T) E) Vlast(node) 返回的是所传递的实体中排序倒数第一的对象的引用 last(current)
6 C/ y6 d# `: yrank(node,ranknum) 返回的是所传递的实体中某给定排序的对象的引用 rank(current,3)! W4 ~& J+ E) g
inobject(object,portnum) 返回的是与所传递的实体的输入端口号相连的对象的引用 inobject(current,1)
. P. r) t: \1 z x. _( _6 W# ]outobject(object,portnum) 返回的是与所传递的实体的输出端口号相连的对象的引用 outobject(current,1), Z& Q0 A* o( N! |& z
centerobject(object,portnum) 返回的是与所传递的实体的中间端口号相连的对象的引用 centerobject(current,1)9 ]5 T0 j% E, B" y) } j
next(node) 返回的是所传递的实体中排序下一个对象的引用 next(item)
" }0 \8 P: n2 ^: ]9 h8 \
- g4 T1 c; J3 [- D" {5 w: _7 {. e0 r# j0 R+ F2 D
+ _! L- O; \ @8 W; J' ~/ s2 z2 U; g# W/ L; M
, B2 R& O3 X c, y; S, s
( D( C5 ]+ x* F1 Z
4 y8 K, k$ r7 Q: X) \* Y
: i3 }1 f/ j- T/ @/ D: b* X
/ B h, |( w/ F. D o8 Z" Y
$ `$ u' G# C3 x' `: Q
. z; ~! A; P. W6 U( m) f; Z1 [" K, _- e8 K+ G
& S- q/ Z1 j# A2 e- ~
# i' v. U( x/ M( _6 T& `" p# t" x& ` u
* Z: H* E) @8 z! ]+ K( E* ^% `实体属性
- {, R# t. X2 X" D命令(参数列表) 说明1 N# K2 \( p* P2 Z6 D
getname( object ) 返回实体的名称
( y) |2 V) K. e# u" N; }& Zsetname( object, name ) 设定实体的名称
4 s5 f' x t" n4 \. e- sgetitemtype( object ) 返回实体中临时实体类型的值
- }# k! ^& g# ]. ?9 y, |setitemtype( object, num) 设定实体中临时实体类型的值- ?8 B- ~9 b- \6 `; Y: J
setcolor( object, red, green, blue ) 设定实体的颜色& k9 r% b1 X: I, K" R" b: O
colorred( object ) blue,green,white... 设定实体的颜色为红、蓝、绿、白等
) ?7 J4 c/ I) |( R$ Nsetobjectshapeindex ( object , indexnum ) 设定实体的3D形状: z- [) b+ U9 {8 ^5 K7 L! ~0 Z. h/ W
setobjecttextureindex ( object , indexnum ) 设定实体的3D纹理2 D D! ~" u" m: {4 g: F3 |0 L8 b
setobjectimageindex ( object , indexnum ) 设定实体的2D 纹理,通常只在平面视图中使用
4 ?/ w+ u; O6 ^0 C2 y. B: H实体空间属性
' k$ D3 @ O* k2 p; M命令(参数列表) 说明2 n! i# y9 f# V# h
# z" U) E) {' Axloc( object ) yloc( object ) zloc( object ) 这些命令返回实体x、y、z轴向的位置
8 y6 x/ z5 j3 _" ]* F6 p [# {: \setloc( object, xnum, ynum, znum ) 此命令设定实体x、y、z轴向的位置2 G; D% p' @, b) o3 }
8 K. C2 X- S7 Q# O5 G* [
xsize( object ) ysize( object ) zsize( object ) 这些命令返回实体x、y、z轴向的尺寸大小
3 V/ z* m8 ~0 Y, K9 ]: Vsetsize( object, xnum, ynum, znum ) 此命令设定实体x、y、z轴向的尺寸大小
; A( @5 ]. t, e3 w1 Z8 Z ( M4 ]( S: y2 P+ @. {
xrot( object ) yrot( object ) zrot( object ) 这些命令返回实体围绕x、y、z轴向的旋转角度
6 V( q( U1 b, z1 t/ s6 i/ nsetrot( object, xdeg, ydeg, zdeg ) 此命令设定实体围绕x、y、z轴向的旋转角度
8 X7 {0 _7 K* k. P0 K$ @
6 `1 M) ~8 |! M2 a
3 z* C: v" G5 v1 C9 Z0 |. b3 z
2 T! z, z- o- Q% t" I
- T; e, p/ o! H( r
) N& b8 k! S. V6 `" }- L. K# g0 L- n% ?% C7 `4 Z
9 N- U. b. n3 A5 f
+ i: ]* F: J7 b. t8 f0 x
( ^2 e& t( u$ h& Z% t; M0 p: ]# [2 ?
5 ^ T3 Z: K* R* p. I
h/ _* I3 n; O3 L/ C/ f0 c
3 E& C0 L; S i
# W6 G. `! \, `
8 r6 `; h }% h: } a, w实体统计值
) S9 M! e( O7 M4 x4 G# Z命令(参数列表) 说明
% Q* s0 n# N) j6 H4 g. wcontent( object ) 返回实体当前数量- i$ k- e4 a- g
getinput( object ) 返回实体的输入统计
: u% S3 y# j7 [, G/ o1 t9 vgetoutput( object ) 返回实体的输出统计. \# \2 H& z8 J( @ ^! J( V0 @
setstate( object, statenum ) 设定实体的当前状态
0 h- O' K3 c3 @0 A! v! fgetstatenum( object ) 返回实体的当前状态
! @( L9 x. H" X( v8 l! @$ u" vgetstatestr( object ) 以字符串返回实体当前状态( {/ P& x/ s3 F4 x' ~7 t1 X
getrank( object ) 返回实体的排序+ E+ C5 r- V" e9 v" _8 R
setrank( object,ranknum ) 设定实体的排序2 C/ f* x3 ~0 n7 L# h# I$ l
getentrytime( object ) 返回实体进入到当前所在实体中的时刻/ T2 {' ?' S# e5 i
getcreationtime( object ) 返回实体的创建时刻
/ v* P6 \9 G3 W/ I5 a实体标签
, ?1 n9 u6 L: T: K+ r命令(参数列表) 说明
; \9 W- ^2 o; P! \! h9 f5 Bgetlabelnum( object, labelname ) getlabelnum( object, labelrank) 返回实体的标签值 O' M) G7 M1 s) g( o! K
setlabelnum( object, labelname , value ) setlabelnum( object, labelrank , value ) 设定实体的标签值' I; x! z1 P8 D# @' i3 _( @
getlabelstr( object, labelname ) 获得实体标签的字符串值
3 E8 h: M/ m, O( Q J X0 E( hsetlabelstr( object, labelname , value ) setlabelstr( object, labelrank , value ) 设定实体标签的字符串值
+ c& _( w: L7 @! }label( object, labelname ) label(object, labelrank) 返回一个作为节点的标签的引用,此命令常用在把标签当作一个表来使用的情况下。+ f2 h6 T( [8 l8 M
表
$ M3 Z" S$ b4 O. x" Z; A: a- R5 M命令(参数列表) 说明
% P" [5 ?. g: s& T( }2 W7 Rgettablenum( tablename / tablenode / tablerank, rownum, colnum ) 返回表中特定行列的值; Z3 Y) Q; ^( v- p* h7 c& b$ K1 T9 C
settablenum( tablename / tablenode / tablerank, rownum, colnum, value) 设定表中特定行列的值( E# \6 Y' U+ n7 @) F
gettablestr( tablename / tablenode / tablerank, rownum, colnum ) 返回表中特定行列的字符串值$ B, s$ }2 V4 ], h$ r
settablestr( tablename / tablenode / tablerank, rownum, colnum, value) 设定表中特定行列的字符串值5 w X7 A) V9 J9 a
settablesize( tablename / tablenode / tablerank, rows, columns ) 设定表的行列数大小
8 b( ?! E/ F2 i, kgettablerows( tablename / tablenode / tablerank) 返回表的行数( T! P# L! Q' R6 G+ _
gettablecols( tablename / tablenode / tablerank) 返回表的列数* H- k- c: k$ d+ t J5 Z) b- I
clearglobaltable( tablename / tablenode / tablerank) 将表中所有数字值设为0
3 I& M& A: t* D实体控制1 r- X8 v3 I% u: Z/ X$ |* p
命令(参数列表)) 说明: N$ N& O( d. W$ B" L
closeinput( object ) 关闭实体的输入端口" T' y! U; M. a8 k" J; R8 X) d
openinput( object ) 重新打开实体的输入端口
; l; N, Z6 Y0 zcloseoutput( object ) 关闭实体的输出端口6 C) B7 W1 b7 S6 s# }- O/ l8 o2 x
openoutput( object ) 重新打开实体的输出端口- K0 B% s. p" o2 H$ r
sendmessage( toobject, fromobject, parameter1, parameter2, parameter3 ) 触发实体的消息触发器7 c/ z6 e) v$ H* w% [% s
senddelayedmessage( toobject, delaytime, fromobject, parameter1, parameter2, parameter3 ) 在一段特定时间延迟后触发实体的消息触发器
' i( U* E' r e. Z. [& \. astopobject( object, downstate ) 无论实体在进行什么操作,都令其停止,并进入指定的状态& t1 w4 Q+ e+ y% P6 Q8 D3 i
resumeobject( object ) 使实体恢复其原来的无论什么操作" E( m" M/ {( u @8 @: c5 W4 `- Z7 x7 u
stopoutput( object ) 关闭实体的输出端口,并累计停止输出的请求 }6 `1 T! `# z
resumeoutput( object ) 在所有停止输出请求都恢复以后,打开实体的输出端口
7 M6 C+ t3 ?3 x! Estopinput( object ) 关闭实体的输入端口,并累计停止输入的请求
& D) o2 s' h, E2 w1 l. a% B. ]resumeinput( object ) 在所有停止输入请求都恢复以后,打开实体的输入端口
3 d( f2 b# \' J6 g" o+ xinsertcopy( originalobject, containerobject ) 往容器里插入新的实体复制品
& ~, C! d" Y: `! ]moveobject( object, containerobject ) 将实体从当前容器移到它的新容器中0 k6 d3 T% |8 {$ F) Q: g: z
高级函数
, X9 h" A8 f3 p( l* a+ V. A. G实体变量. ]' C4 ?7 E! J( Q) X* L4 O" ^/ e3 F
命令(参数列表) 说明+ Q. Q- B% M7 i& f9 L6 p. {- T* Z5 ~/ `
getvarnum( object, “variablename” ) 返回给定名称的变量的数值
y4 n; Z: m$ {" f5 vsetvarnum( object, “variablename” , value ) 设定给定名称的变量数值
9 f e5 U( m, M" I& ]6 Ygetvarstr( object, “variablename” ) 返回给定名称的变量的字符串值
, [- c X# H* q z; T& [& q. a( T# |setvarstr( object, “variablename” , string ) 设定给定名称的变量的字符串值! [2 P9 F5 S" |4 m8 p9 ]
getvarnode( object, “variablename” ) 返回一个节点,作为指向给定名称的变量的引用
z, a* v1 U5 w/ o* c任务执行器控制
2 q/ a. l( {' J; X参见任务序列,可以获得更多有关控制任务执行器的信息。
' o8 f& D+ _* Z提示和界面输出% S1 p1 {' h- y* t3 x/ Z3 E) l
命令(参数列表) 说明6 T- x; _# T3 c; B; y
pt( text string ) 向输出控制台打印文本
7 T9 c) r" b5 x3 npf( float value ) 向输出控制台打印浮点数值4 y: f/ N' ~' E2 N7 B" V$ w
pd( discrete value ) 向输出控制台打印整数数值
5 n0 _; n1 W4 Y7 |; [pr( ) 在输出控制台中建新的一行
9 i' i# P$ a! q5 J9 cmsg( “title”, “caption” ) 打开一个简单的“ 是、否、取消”消息框
3 r& V, } y4 g. _5 o- V+ Q! R/ ruserinput( targetnode, “prompt” ) 打开一个可以设定模型节点值的对话框
/ L9 w+ e6 C9 |0 G! }$ h/ m( @concat( string1, string2, etc. ) 合并两个或多个字符串
" x: M# _' c& `* i) c( {3 l更多高级函数" ^: y2 E8 b8 e% R5 V$ R/ _
下面是可能使用到的更多高级函数。这里没有提供参数列表,参见命令集可获得更多信息。; b% l6 t4 I$ ]& j# d ^, x8 q
节点命令 - node(), nodeadddata(), getdatatype(), nodetopath(), nodeinsertinto(), nodeinsertafter(), getnodename(), setnodename(), getnodenum(), getnodestr(), setnodenum(), setnodestr(), inc();) d5 f# ]6 E( B) \, ]# C; l
数据交换命令 - stringtonum(), numtostring(), tonum(), tonode(), apchar();9 B& R2 f9 {2 P
节点表命令 - setsize(), cellrc(), nrows(), ncols();2 r; F1 ]# a& |% Z: H
模型运行命令 - cmdcompile(), resetmodel(), go(), stop();( y7 C. Z9 N& [) N- z- @! q
3D个性化绘制代码命令 - drawtomodelscale(), drawtoobjectscale(), drawsphere(), drawcube(), drawcylinder(), drawcolumn(), drawdisk(), drawobject(), drawtext(), drawrectangle(), drawline(), spacerotate(), spacetranslate(), spacescale();9 W4 T1 `/ a! \. g3 p( {
Excel命令 - excellaunch(), excelopen(), excelsetsheet(), excelreadnum(), excelreadstr(), excelwritenum(), excelwritestr(), excelimportnode(), excelimporttable(), excelclose(), excelquit();
! {& o& G) @" C! Y/ W0 kODBC命令 - dbopen(), dbclose(), dbsqlquery(), dbchangetable(), dbgetmetrics(), dbgetfieldname(), dbgetnumrows(), dbgetnumcols(), dbgettablecell(), dbsettablecell();* n. n8 @+ I7 T7 U+ ]0 ?
运动学命令 - initkinematics(), addkinematic(), getkinematics(), updatekinematics(), printkinematics() |
|