|
实体参量
1 K; x7 t, \( Z" y. w- `1 }7 G. A下列的命令和存取变量在Flexsim中被用作实体引用。
; w1 S3 e6 ~- s! J- ^* c* C变量current和item6 R# i6 k" W9 E, ?: b5 k5 n
• current - 变量current是当前资源实体的引用。通常可以是下拉菜单中的一个存取变量。 & p. g7 M+ O) s' r3 z
• Item - 变量item是某触发器或函数所涉及的临时实体引用。通常可以是下拉菜单中的一个存取变量。
7 O) c. b& [! I/ }) J, x引用命令
3 ~$ K3 E! f; s% ]$ U命令(参数列表) 说明 示例
" ^' D' g! g' X; f# ]1 cfirst(node) 返回的是所传递的实体中排序第一的对象的引用 first(current)
) ?5 ~ j9 A& `7 X) ilast(node) 返回的是所传递的实体中排序倒数第一的对象的引用 last(current)
o) J" a& g b2 M! X# w$ Trank(node,ranknum) 返回的是所传递的实体中某给定排序的对象的引用 rank(current,3): S' a: k7 D2 w) I( x
inobject(object,portnum) 返回的是与所传递的实体的输入端口号相连的对象的引用 inobject(current,1)& M+ `& Z2 P# l" {& Z8 r2 C
outobject(object,portnum) 返回的是与所传递的实体的输出端口号相连的对象的引用 outobject(current,1)
" W* t1 M Q3 z7 Y' t9 w" |& dcenterobject(object,portnum) 返回的是与所传递的实体的中间端口号相连的对象的引用 centerobject(current,1)5 f4 {4 p: o: p1 Y' `% j
next(node) 返回的是所传递的实体中排序下一个对象的引用 next(item)" s9 t2 {1 U9 u# D
1 ]( }1 y4 y( d6 Y
: }- R4 L' J- }& K0 Y9 X+ r
8 e8 ~4 j' K' X! C9 U$ m( a5 L( s7 T4 z- H1 y
1 _/ z0 h' r: u: ^# i! `! a' z) q
# g" T: ?+ [" b( H5 o" Z w# k4 _0 r7 k9 ?
& C* o7 D" h# c+ X G/ R8 C# l
: h& K" v) W$ L% N+ h1 f5 J
6 a; Q4 o4 T' H3 R7 R1 T \5 D: F
/ r" O! A2 c/ k; S2 r
4 u' b: t3 j+ q1 X
6 r2 R" o9 c z+ z# x7 o0 q
. U M: W, U) G# S
) l7 ?3 I9 q9 e c! S
实体属性4 E. ~; a" V' t( P0 k [: x
命令(参数列表) 说明3 G+ [ ` Q0 V! L: ^' \
getname( object ) 返回实体的名称
# F, X5 R$ X: @! z/ \$ E' gsetname( object, name ) 设定实体的名称1 r7 p: ^9 L6 Q, S6 v
getitemtype( object ) 返回实体中临时实体类型的值
, I$ ]% f& i( O! qsetitemtype( object, num) 设定实体中临时实体类型的值
2 b& E1 x+ s4 {& W6 fsetcolor( object, red, green, blue ) 设定实体的颜色9 N8 d+ ]' h9 u E, [; f" S5 A
colorred( object ) blue,green,white... 设定实体的颜色为红、蓝、绿、白等1 i( R3 ? m3 k" }
setobjectshapeindex ( object , indexnum ) 设定实体的3D形状
" r2 n% } X0 s8 O: J& e: K" D% a: Usetobjecttextureindex ( object , indexnum ) 设定实体的3D纹理
2 c6 @2 F! X$ y: Y _" N7 J% Csetobjectimageindex ( object , indexnum ) 设定实体的2D 纹理,通常只在平面视图中使用
" g- q8 r0 d2 ]7 @; i- g3 d! F0 y& C% E实体空间属性2 s4 g. w4 J! o4 O: A
命令(参数列表) 说明 x9 i! p V1 {) A/ ?3 f- \
" k0 p7 h/ o& x3 p
xloc( object ) yloc( object ) zloc( object ) 这些命令返回实体x、y、z轴向的位置5 S: F4 Q! N0 i3 s+ Y& q
setloc( object, xnum, ynum, znum ) 此命令设定实体x、y、z轴向的位置9 I6 d" Q. ^% ]/ x
, V" _3 o3 ]/ d- P4 \6 x
xsize( object ) ysize( object ) zsize( object ) 这些命令返回实体x、y、z轴向的尺寸大小# I+ A" U+ A9 J9 z& a5 Y( I p) C
setsize( object, xnum, ynum, znum ) 此命令设定实体x、y、z轴向的尺寸大小
+ J$ N( `( N+ u! l+ W; l& V
2 [# N! G { A3 F; _xrot( object ) yrot( object ) zrot( object ) 这些命令返回实体围绕x、y、z轴向的旋转角度
' x# a" b8 Y# X* U! {7 wsetrot( object, xdeg, ydeg, zdeg ) 此命令设定实体围绕x、y、z轴向的旋转角度
2 i8 [' O7 z6 j# \) a* X; D# H" d7 k" I# ?* m! @
8 y6 O, \3 o7 w( x5 E
4 U0 @2 b) C6 r1 q# M" e6 f" m
9 g9 |$ @/ D) A3 X- m) m0 ?) `
$ W) R- a ^9 u/ o- J7 ~* L# L' u4 B1 ]) A% j
3 N! N2 y- k, f* u
6 }0 s( {+ a/ W* N! Z
) I4 J- J$ B0 h8 \" F
. }3 g2 V# J8 D9 ? E) U! ]$ i
1 _4 K6 e, Z, _" ]$ \$ u7 S0 c* o2 n& J$ a/ R
) V3 L8 N2 K. z, \' N! Z
( H% E7 f$ Q# Z( m; ]
; w o1 ]( D, S
实体统计值3 S1 _8 {" X( @! u2 O' {
命令(参数列表) 说明
, {9 S5 [# P0 C9 k$ Xcontent( object ) 返回实体当前数量3 H# b9 C% d: w$ e
getinput( object ) 返回实体的输入统计/ W4 H& t/ J" h/ a+ P) G
getoutput( object ) 返回实体的输出统计
: S! K% Y# K( o1 ysetstate( object, statenum ) 设定实体的当前状态8 o, p6 J; O h A# w3 E6 r! P
getstatenum( object ) 返回实体的当前状态( c$ b& f) g. l- O9 _6 s r5 y. H
getstatestr( object ) 以字符串返回实体当前状态
$ D7 N% y6 v" R, O* W! x. dgetrank( object ) 返回实体的排序/ I$ I3 F, z! S. L: [ M) P
setrank( object,ranknum ) 设定实体的排序( U0 G) Q# A1 c2 p0 |$ `: G
getentrytime( object ) 返回实体进入到当前所在实体中的时刻
' g0 u4 X& T4 h% H7 A( y0 z- Ggetcreationtime( object ) 返回实体的创建时刻
$ } n( h+ U: U* H; r U, ~实体标签
( ?6 q& v; Z2 V( I命令(参数列表) 说明
- X" {; G, t: E' Ogetlabelnum( object, labelname ) getlabelnum( object, labelrank) 返回实体的标签值
, l2 @0 H: e" J' k" E S! u( gsetlabelnum( object, labelname , value ) setlabelnum( object, labelrank , value ) 设定实体的标签值
0 }6 q5 G" i: z- \, Z. ]getlabelstr( object, labelname ) 获得实体标签的字符串值" H4 ~2 D; g0 {$ U) L
setlabelstr( object, labelname , value ) setlabelstr( object, labelrank , value ) 设定实体标签的字符串值
' m0 H0 T/ M# J+ N6 ^1 O& flabel( object, labelname ) label(object, labelrank) 返回一个作为节点的标签的引用,此命令常用在把标签当作一个表来使用的情况下。
2 v7 q3 O% n3 k% W表2 d* O. r% X6 p1 W- y
命令(参数列表) 说明/ K* F- W. I* q
gettablenum( tablename / tablenode / tablerank, rownum, colnum ) 返回表中特定行列的值, S: c. ~ o7 J$ p8 y
settablenum( tablename / tablenode / tablerank, rownum, colnum, value) 设定表中特定行列的值 p; W* u. k6 p! L; i
gettablestr( tablename / tablenode / tablerank, rownum, colnum ) 返回表中特定行列的字符串值$ X2 Y3 z, P/ M& f4 @' E) E0 F/ i
settablestr( tablename / tablenode / tablerank, rownum, colnum, value) 设定表中特定行列的字符串值
! e5 S, r( o: Y0 Lsettablesize( tablename / tablenode / tablerank, rows, columns ) 设定表的行列数大小8 ^% z6 q6 D8 @- f$ }/ p0 N
gettablerows( tablename / tablenode / tablerank) 返回表的行数
. s- I6 I+ J. r0 v* Y' w3 ngettablecols( tablename / tablenode / tablerank) 返回表的列数
/ B! k* S+ B* ~5 Kclearglobaltable( tablename / tablenode / tablerank) 将表中所有数字值设为0
9 H* c9 g9 a" c7 F2 a" ]: g实体控制
4 o6 b+ v( }1 i/ o) t命令(参数列表)) 说明% M# S$ i5 m, o, r/ Z
closeinput( object ) 关闭实体的输入端口
# L! K* w( Z6 B! Oopeninput( object ) 重新打开实体的输入端口4 Y; z2 l3 k& T
closeoutput( object ) 关闭实体的输出端口
2 b( d9 g! |7 p" Q8 L, uopenoutput( object ) 重新打开实体的输出端口8 H* k7 L T# }2 p$ m
sendmessage( toobject, fromobject, parameter1, parameter2, parameter3 ) 触发实体的消息触发器; z- X; h! i# V" c/ {
senddelayedmessage( toobject, delaytime, fromobject, parameter1, parameter2, parameter3 ) 在一段特定时间延迟后触发实体的消息触发器
" P6 O2 W, ~3 z6 f: Wstopobject( object, downstate ) 无论实体在进行什么操作,都令其停止,并进入指定的状态
7 K; }0 f% t6 o6 |- U" d6 U$ r, [resumeobject( object ) 使实体恢复其原来的无论什么操作
8 }. `4 |( k: |3 C* y6 ^stopoutput( object ) 关闭实体的输出端口,并累计停止输出的请求
6 `# e5 P1 C% d; {; g. O/ j4 f- Xresumeoutput( object ) 在所有停止输出请求都恢复以后,打开实体的输出端口, R8 J6 h& d" e; o
stopinput( object ) 关闭实体的输入端口,并累计停止输入的请求' l) l+ p2 \8 [
resumeinput( object ) 在所有停止输入请求都恢复以后,打开实体的输入端口
' S) e5 p3 a- vinsertcopy( originalobject, containerobject ) 往容器里插入新的实体复制品. H! s# _' l3 w* [) `) i
moveobject( object, containerobject ) 将实体从当前容器移到它的新容器中! J2 u, W4 c; M4 l& D
高级函数! Q8 {% D8 e- X: ^9 a; Y( H0 h" E
实体变量1 w) z, l% s) {; N2 Z
命令(参数列表) 说明
6 Y9 c* Q) a% u) Jgetvarnum( object, “variablename” ) 返回给定名称的变量的数值 ?, v3 S4 V) [. u+ } p
setvarnum( object, “variablename” , value ) 设定给定名称的变量数值3 [1 N, B) }+ H5 Y3 R, J8 ?0 y+ o, [
getvarstr( object, “variablename” ) 返回给定名称的变量的字符串值
# Q% W5 m% P7 @3 p7 U9 ~setvarstr( object, “variablename” , string ) 设定给定名称的变量的字符串值" P/ G0 T0 [! G0 J( H% v% b
getvarnode( object, “variablename” ) 返回一个节点,作为指向给定名称的变量的引用
5 E Q4 u5 N2 }任务执行器控制" X% _! \% d6 J" c3 U) ~
参见任务序列,可以获得更多有关控制任务执行器的信息。
R; Z9 W0 q- T2 A' q提示和界面输出
2 e# O# Q6 T X9 ^1 e; g命令(参数列表) 说明
& q/ V- j4 c8 c3 a4 dpt( text string ) 向输出控制台打印文本. X/ H$ U" U% n
pf( float value ) 向输出控制台打印浮点数值
9 c( C. x. X9 ^& g8 e& C: Gpd( discrete value ) 向输出控制台打印整数数值; ]1 n/ M+ Z) D! L
pr( ) 在输出控制台中建新的一行
7 E6 E& S1 M) y* ^. B) V$ Ymsg( “title”, “caption” ) 打开一个简单的“ 是、否、取消”消息框
# H `4 d9 X" p, p+ Quserinput( targetnode, “prompt” ) 打开一个可以设定模型节点值的对话框
0 @ d; T5 V p/ yconcat( string1, string2, etc. ) 合并两个或多个字符串
; _) L8 Q, S; E1 m+ l& J$ g更多高级函数
3 J& o a0 U3 [) T下面是可能使用到的更多高级函数。这里没有提供参数列表,参见命令集可获得更多信息。) X* B0 V/ p4 s4 k: V( @
节点命令 - node(), nodeadddata(), getdatatype(), nodetopath(), nodeinsertinto(), nodeinsertafter(), getnodename(), setnodename(), getnodenum(), getnodestr(), setnodenum(), setnodestr(), inc();* R* L2 g/ ]6 E+ f, r* h
数据交换命令 - stringtonum(), numtostring(), tonum(), tonode(), apchar();$ r( c- p5 p* f% ?( Y3 f
节点表命令 - setsize(), cellrc(), nrows(), ncols();+ y8 x1 x# i' c; m- }( m
模型运行命令 - cmdcompile(), resetmodel(), go(), stop();
( ?" ~: R* D0 H3D个性化绘制代码命令 - drawtomodelscale(), drawtoobjectscale(), drawsphere(), drawcube(), drawcylinder(), drawcolumn(), drawdisk(), drawobject(), drawtext(), drawrectangle(), drawline(), spacerotate(), spacetranslate(), spacescale();
2 E3 G( I) s2 ~8 ^3 u s+ e) kExcel命令 - excellaunch(), excelopen(), excelsetsheet(), excelreadnum(), excelreadstr(), excelwritenum(), excelwritestr(), excelimportnode(), excelimporttable(), excelclose(), excelquit();: t. } {6 F& E K* d% J
ODBC命令 - dbopen(), dbclose(), dbsqlquery(), dbchangetable(), dbgetmetrics(), dbgetfieldname(), dbgetnumrows(), dbgetnumcols(), dbgettablecell(), dbsettablecell();
& @' r& p4 x8 D+ R/ K: n运动学命令 - initkinematics(), addkinematic(), getkinematics(), updatekinematics(), printkinematics() |
|