|
实体参量& s3 r- C7 P4 V; k9 V
下列的命令和存取变量在Flexsim中被用作实体引用。
3 H4 r8 F. D( G4 ~" ^变量current和item! P$ B! I& c+ A* O+ x
• current - 变量current是当前资源实体的引用。通常可以是下拉菜单中的一个存取变量。 & L+ M+ b7 I; L1 O6 V, j) |1 U
• Item - 变量item是某触发器或函数所涉及的临时实体引用。通常可以是下拉菜单中的一个存取变量。
6 k5 u1 c$ O" v9 C! x, v7 @& e- U引用命令" f9 y3 q, @" a2 u* S6 S+ y, }. V& T
命令(参数列表) 说明 示例
: j6 U/ i7 j4 x$ U3 q" U+ Pfirst(node) 返回的是所传递的实体中排序第一的对象的引用 first(current)3 M* Z7 p5 A* V8 b
last(node) 返回的是所传递的实体中排序倒数第一的对象的引用 last(current)( H' Y/ n+ g* D$ P( x4 e: R) k, k
rank(node,ranknum) 返回的是所传递的实体中某给定排序的对象的引用 rank(current,3)9 d7 v' {$ V8 Q e1 }
inobject(object,portnum) 返回的是与所传递的实体的输入端口号相连的对象的引用 inobject(current,1)* J, A# d$ `1 N$ V
outobject(object,portnum) 返回的是与所传递的实体的输出端口号相连的对象的引用 outobject(current,1)' o- o3 o5 V9 w
centerobject(object,portnum) 返回的是与所传递的实体的中间端口号相连的对象的引用 centerobject(current,1)* B% J4 O6 w) w( j2 x
next(node) 返回的是所传递的实体中排序下一个对象的引用 next(item)
% s8 z8 ]) E: G4 z1 {
p8 y' N0 p( k" Y
. L% P( j5 H: ^
3 Q2 x4 g6 C- e8 H. S9 M" b
3 _$ _3 P: k) m% _& s0 C, m: l
J9 ?6 \1 N3 y; ^5 T0 K" b: C; f# K5 Y" u6 D$ W S4 r5 s# @
* i7 M4 O) `; V6 d6 V0 h- G
# |: q; o+ P" h2 p( ^: |
+ d* ?& y/ J' G4 q% H1 _8 o! K) V
. M" Z2 N) z. j; {1 k Z' h6 z& M& p
9 l$ r; L8 @5 @/ Y
9 Z- q/ ~' C# i
X: g+ U* v; e
2 D# [8 g% i4 k1 u c5 P0 C; e, C0 G' }( ] W3 m
实体属性
& w9 h. Q. q% ^3 W+ \# H命令(参数列表) 说明
8 F7 Q4 Z& P6 K vgetname( object ) 返回实体的名称' j' Y8 y' u. o
setname( object, name ) 设定实体的名称
' U8 X$ K7 Z7 p: Y% o0 A3 }getitemtype( object ) 返回实体中临时实体类型的值8 @4 O1 S1 [3 A5 Q! p( J9 d
setitemtype( object, num) 设定实体中临时实体类型的值( u G6 z" D6 K3 \
setcolor( object, red, green, blue ) 设定实体的颜色) J) J1 U+ Z! U( u
colorred( object ) blue,green,white... 设定实体的颜色为红、蓝、绿、白等
' |1 G4 |4 o) M8 k, Nsetobjectshapeindex ( object , indexnum ) 设定实体的3D形状! ?/ o" Q; l1 b2 N3 W' Z3 S
setobjecttextureindex ( object , indexnum ) 设定实体的3D纹理- z6 k5 A/ ^! ^
setobjectimageindex ( object , indexnum ) 设定实体的2D 纹理,通常只在平面视图中使用5 P' D1 U5 C' I4 C; `. F0 g5 D
实体空间属性
5 }. i7 T0 w. J4 i e+ ~命令(参数列表) 说明3 _0 W5 P2 R/ G9 I8 m3 J
* X+ U5 Q: _$ ?' ^+ x$ v! z
xloc( object ) yloc( object ) zloc( object ) 这些命令返回实体x、y、z轴向的位置3 i j6 K" y2 ]4 U" i' J
setloc( object, xnum, ynum, znum ) 此命令设定实体x、y、z轴向的位置2 m% ^$ a c8 x" |8 ]1 ?
0 a2 E1 ^/ T& A7 O" r7 G1 I! exsize( object ) ysize( object ) zsize( object ) 这些命令返回实体x、y、z轴向的尺寸大小
# N E# i9 ~0 S& W4 j: k2 O& A/ Zsetsize( object, xnum, ynum, znum ) 此命令设定实体x、y、z轴向的尺寸大小
4 D0 ^' M* X3 G4 v F. L4 f Q4 t* ^. t- L2 Z- H
xrot( object ) yrot( object ) zrot( object ) 这些命令返回实体围绕x、y、z轴向的旋转角度* L' u! W4 a7 D! x& V$ y& s
setrot( object, xdeg, ydeg, zdeg ) 此命令设定实体围绕x、y、z轴向的旋转角度: d" k# k* M% u9 M4 v8 ~/ g
7 }( T+ _. f+ o' r6 {0 F3 V/ P$ s9 w1 ?7 i6 Q
; z+ s$ H9 ] r8 \/ {& T8 p* T- | T
/ `' i" F+ C3 D; {
. F( k( _7 ]8 }9 t9 r+ _! O' |- y0 @4 k1 O# }- H
( O# O* T! y3 z* R4 X# i" m- _
) X& @7 C2 l7 ]
( K$ `# b& ^6 C( n" a: g- }1 R9 O! j% i4 {
7 f! y: G E, z' n
+ z/ i) m* L' X. |' m0 M
; j9 j6 R. F# M& c1 D/ s: w; K5 E# |
! e6 g% r* Z, ^" p! W实体统计值
6 Z/ j: W7 I! C& I$ ^: e% h! f命令(参数列表) 说明3 B7 `0 ?& I b8 N0 E" d
content( object ) 返回实体当前数量; e: Q. T9 G# K" D
getinput( object ) 返回实体的输入统计
/ Q( z6 {3 Z7 s! \( \9 Ngetoutput( object ) 返回实体的输出统计6 E2 C, g% c& U8 I6 u1 E- U' T
setstate( object, statenum ) 设定实体的当前状态0 R" i- ~4 o7 D( S0 s
getstatenum( object ) 返回实体的当前状态
4 F; O+ {* l; J: Bgetstatestr( object ) 以字符串返回实体当前状态
Q! Q- S! d/ |$ Ogetrank( object ) 返回实体的排序; {" C: q! K& j- Z; |( S
setrank( object,ranknum ) 设定实体的排序
# j* L! ?3 r! K: a; ggetentrytime( object ) 返回实体进入到当前所在实体中的时刻" c- I" c( y" q
getcreationtime( object ) 返回实体的创建时刻5 |5 q+ n/ m5 U. K7 v% o! W
实体标签+ r/ f9 Z r7 f$ L3 {, I
命令(参数列表) 说明
7 G% m, e+ S+ g& Sgetlabelnum( object, labelname ) getlabelnum( object, labelrank) 返回实体的标签值7 a8 j8 x6 A. e8 Z0 R( o X# d# U! _
setlabelnum( object, labelname , value ) setlabelnum( object, labelrank , value ) 设定实体的标签值; L/ E: U1 f2 X% c4 x) k" S4 v
getlabelstr( object, labelname ) 获得实体标签的字符串值. f- M9 p" n* n0 P `9 ]4 K. T
setlabelstr( object, labelname , value ) setlabelstr( object, labelrank , value ) 设定实体标签的字符串值
; t3 c- y" M. x. I( q) Qlabel( object, labelname ) label(object, labelrank) 返回一个作为节点的标签的引用,此命令常用在把标签当作一个表来使用的情况下。
3 R( x" ^- h2 C% ~1 o H表 L ?7 O/ i7 \5 n( C
命令(参数列表) 说明
0 a# @ o1 a" g4 N2 c& @gettablenum( tablename / tablenode / tablerank, rownum, colnum ) 返回表中特定行列的值6 `8 ]- v- t& e# ^7 B8 ` ?& o
settablenum( tablename / tablenode / tablerank, rownum, colnum, value) 设定表中特定行列的值- V- `) H3 h, v
gettablestr( tablename / tablenode / tablerank, rownum, colnum ) 返回表中特定行列的字符串值
1 l2 q5 z7 t! N* R/ }6 E5 Q ]settablestr( tablename / tablenode / tablerank, rownum, colnum, value) 设定表中特定行列的字符串值1 q' R. n* o) T. J5 y; y G, d
settablesize( tablename / tablenode / tablerank, rows, columns ) 设定表的行列数大小
4 ], ~! W* f& Q* i. o9 N5 ogettablerows( tablename / tablenode / tablerank) 返回表的行数
* @, o. P7 e y" e; hgettablecols( tablename / tablenode / tablerank) 返回表的列数
' C4 l1 K( l* jclearglobaltable( tablename / tablenode / tablerank) 将表中所有数字值设为0 i) p) g; S. z. `* e# d
实体控制8 ~" M' E2 s. }" G* z# Y
命令(参数列表)) 说明
2 h/ Z0 E. Q2 dcloseinput( object ) 关闭实体的输入端口, `9 `& g8 {/ g; n
openinput( object ) 重新打开实体的输入端口# W. b7 j n$ d% n' j; a
closeoutput( object ) 关闭实体的输出端口
6 B& p1 Z3 P: c" L/ }! b. ~4 @# hopenoutput( object ) 重新打开实体的输出端口
% z& c( w- w; V3 r$ J$ psendmessage( toobject, fromobject, parameter1, parameter2, parameter3 ) 触发实体的消息触发器
% l. H- Q: z+ H5 P. xsenddelayedmessage( toobject, delaytime, fromobject, parameter1, parameter2, parameter3 ) 在一段特定时间延迟后触发实体的消息触发器& P# f4 Y% z+ q: C% ~
stopobject( object, downstate ) 无论实体在进行什么操作,都令其停止,并进入指定的状态4 N. n; m2 ~6 B& d( A
resumeobject( object ) 使实体恢复其原来的无论什么操作
! E: Z# y4 _4 ]3 t7 m- G- l6 ystopoutput( object ) 关闭实体的输出端口,并累计停止输出的请求5 x6 R2 w) v' g9 e
resumeoutput( object ) 在所有停止输出请求都恢复以后,打开实体的输出端口0 B: j) C; e( w" Q
stopinput( object ) 关闭实体的输入端口,并累计停止输入的请求
9 h+ L, J( M0 A, p% `+ W- kresumeinput( object ) 在所有停止输入请求都恢复以后,打开实体的输入端口% t4 B( v8 e6 S0 N2 |# I
insertcopy( originalobject, containerobject ) 往容器里插入新的实体复制品2 Y* M8 f: s6 s0 v8 ~+ H( V+ [9 G% c
moveobject( object, containerobject ) 将实体从当前容器移到它的新容器中
8 T' q0 F- @9 O- r4 K6 I; Q高级函数" n( n: {8 k4 E4 I1 ?3 T( z
实体变量
7 b6 k- W5 Y8 t9 p9 P2 X+ L3 q命令(参数列表) 说明
4 m) \3 Q5 R+ R, rgetvarnum( object, “variablename” ) 返回给定名称的变量的数值' Z d i& H4 {+ [5 y
setvarnum( object, “variablename” , value ) 设定给定名称的变量数值( t$ @4 B) c! ?9 L) c, W0 c- l/ Z
getvarstr( object, “variablename” ) 返回给定名称的变量的字符串值$ A; l F. ]/ } F
setvarstr( object, “variablename” , string ) 设定给定名称的变量的字符串值
9 a1 d; F- z2 i5 P! u( J9 zgetvarnode( object, “variablename” ) 返回一个节点,作为指向给定名称的变量的引用
' X! s5 f& j& Q7 w8 H任务执行器控制/ q+ h5 c/ Q/ h. X& U/ J. P
参见任务序列,可以获得更多有关控制任务执行器的信息。- V$ B7 O& R' z! I
提示和界面输出
6 h; ?1 Z1 e8 G3 n7 X2 O+ E命令(参数列表) 说明
) d5 l9 D# Q) i4 Jpt( text string ) 向输出控制台打印文本
) `6 K: q/ N1 v5 F$ lpf( float value ) 向输出控制台打印浮点数值9 ?, g( G1 Z, z. v; }$ n! n! @- [ j
pd( discrete value ) 向输出控制台打印整数数值
% X4 D2 F0 [# _! [6 X9 wpr( ) 在输出控制台中建新的一行# g) U% M1 R2 S
msg( “title”, “caption” ) 打开一个简单的“ 是、否、取消”消息框
! D# X) \2 M0 q. k" _userinput( targetnode, “prompt” ) 打开一个可以设定模型节点值的对话框
$ k! x2 V) X6 f2 B; n/ wconcat( string1, string2, etc. ) 合并两个或多个字符串
0 `) {$ i5 T) w+ O; `& x. U) K; f更多高级函数
+ k0 W, N2 R2 q. e6 S下面是可能使用到的更多高级函数。这里没有提供参数列表,参见命令集可获得更多信息。% S* g- Y/ T$ Y5 G
节点命令 - node(), nodeadddata(), getdatatype(), nodetopath(), nodeinsertinto(), nodeinsertafter(), getnodename(), setnodename(), getnodenum(), getnodestr(), setnodenum(), setnodestr(), inc();
/ @1 L( n2 q9 A+ ~/ v' x数据交换命令 - stringtonum(), numtostring(), tonum(), tonode(), apchar();4 R/ V4 K" {0 j- ^: K* ~
节点表命令 - setsize(), cellrc(), nrows(), ncols();# r1 u9 x& o' j4 v" K7 l, m
模型运行命令 - cmdcompile(), resetmodel(), go(), stop();
; ]+ t U/ C4 M3D个性化绘制代码命令 - drawtomodelscale(), drawtoobjectscale(), drawsphere(), drawcube(), drawcylinder(), drawcolumn(), drawdisk(), drawobject(), drawtext(), drawrectangle(), drawline(), spacerotate(), spacetranslate(), spacescale();
3 _; A/ T9 `9 g( C8 [8 f+ K1 g9 kExcel命令 - excellaunch(), excelopen(), excelsetsheet(), excelreadnum(), excelreadstr(), excelwritenum(), excelwritestr(), excelimportnode(), excelimporttable(), excelclose(), excelquit();% g5 ~0 U& ?% |
ODBC命令 - dbopen(), dbclose(), dbsqlquery(), dbchangetable(), dbgetmetrics(), dbgetfieldname(), dbgetnumrows(), dbgetnumcols(), dbgettablecell(), dbsettablecell();
. q/ b; J x6 G* D3 _运动学命令 - initkinematics(), addkinematic(), getkinematics(), updatekinematics(), printkinematics() |
|