|
实体参量
8 e3 Y' I6 H. N, Q! P; J下列的命令和存取变量在Flexsim中被用作实体引用。' s2 W& r. b' g* M3 s; C1 H+ Q G
变量current和item" T1 t5 }5 C- w* _) b' q" B
• current - 变量current是当前资源实体的引用。通常可以是下拉菜单中的一个存取变量。
4 B' N# l& y% r• Item - 变量item是某触发器或函数所涉及的临时实体引用。通常可以是下拉菜单中的一个存取变量。
7 m: c( o6 c) Y( n5 K引用命令5 j; X( z) e" O& E* l9 I
命令(参数列表) 说明 示例8 `* I2 X* ]$ m
first(node) 返回的是所传递的实体中排序第一的对象的引用 first(current)) W( w) F! ]5 D/ ~( X. y
last(node) 返回的是所传递的实体中排序倒数第一的对象的引用 last(current)
$ J7 r6 z" X- S7 d& K% y+ y6 H, Q7 irank(node,ranknum) 返回的是所传递的实体中某给定排序的对象的引用 rank(current,3)
1 a) C' K; S4 a; y2 f( b9 cinobject(object,portnum) 返回的是与所传递的实体的输入端口号相连的对象的引用 inobject(current,1)
% P! z) c0 L6 W1 R6 O+ h0 W; houtobject(object,portnum) 返回的是与所传递的实体的输出端口号相连的对象的引用 outobject(current,1)9 r U( u3 L0 E& X
centerobject(object,portnum) 返回的是与所传递的实体的中间端口号相连的对象的引用 centerobject(current,1)
8 ?+ `1 C+ b# x% ^next(node) 返回的是所传递的实体中排序下一个对象的引用 next(item)6 s2 P3 H; |5 G, h5 z1 A, `$ T0 Y
0 w% h! R n9 S. S' k3 k( Z
7 t$ d/ m9 \; `; o' {/ k
4 x, M8 h- l# Y' u# t
5 K3 ~( U5 w& q. m, s$ a: _0 }1 b! O
# _. d' \$ p4 @. e! h- t
2 r- n6 _4 X8 Y" O2 M d7 e" p, M
. x5 x \. l% l; W# q. \& M/ p9 ?7 ^
# F6 k: E* N- Z" l. n: I$ s# g% Q
" A& b: ^, _" }/ }. F( L; i
5 f9 a: F' B2 \# ]. {$ O! F. J* |' B1 Z$ b, y' s
! f* r/ c6 b0 p, C# |" Q1 G
. M( b1 ?. O3 ~0 R
+ t" [5 ^: F d$ z6 Q& v! j2 t+ S! ?
8 f5 r4 O2 _. _0 g4 v$ P实体属性
C5 I" _- @6 m命令(参数列表) 说明0 a$ [4 |. F) T3 w# e& M) r9 S
getname( object ) 返回实体的名称) P) A" B/ a/ p& n6 z2 S
setname( object, name ) 设定实体的名称
+ } l( ]- g2 a" D7 B1 Qgetitemtype( object ) 返回实体中临时实体类型的值
; n8 W; B4 p, D6 |1 q. ?0 gsetitemtype( object, num) 设定实体中临时实体类型的值% |2 L; v0 ~0 f$ h& I
setcolor( object, red, green, blue ) 设定实体的颜色2 S- R6 |' U9 @6 r) n
colorred( object ) blue,green,white... 设定实体的颜色为红、蓝、绿、白等/ T0 \; e+ e7 b1 R! y# L2 b7 G
setobjectshapeindex ( object , indexnum ) 设定实体的3D形状/ c6 K, }$ ~3 Q+ W/ r& K3 d
setobjecttextureindex ( object , indexnum ) 设定实体的3D纹理
2 p4 }- {- U- T @% `) V% m2 Csetobjectimageindex ( object , indexnum ) 设定实体的2D 纹理,通常只在平面视图中使用' `! E2 I0 z% k0 Y+ ]+ R
实体空间属性( z2 V# W7 v _& y" Q
命令(参数列表) 说明( ] ~# e% I% w$ a- s/ u- B9 b
! s9 [( Z, s6 r5 ~) `/ Ixloc( object ) yloc( object ) zloc( object ) 这些命令返回实体x、y、z轴向的位置
* x' x: t j& W7 U' Asetloc( object, xnum, ynum, znum ) 此命令设定实体x、y、z轴向的位置
/ `0 p+ E: a: i1 b# g( |
3 s* M8 K; X* \9 ^0 f) Nxsize( object ) ysize( object ) zsize( object ) 这些命令返回实体x、y、z轴向的尺寸大小& a1 w. x6 ?' J' f/ O. g2 n* _& n" s
setsize( object, xnum, ynum, znum ) 此命令设定实体x、y、z轴向的尺寸大小* U$ f6 w) \; n
5 |0 m! `, B/ m% [- Q: |
xrot( object ) yrot( object ) zrot( object ) 这些命令返回实体围绕x、y、z轴向的旋转角度& P! h0 G8 B) M" s: c& |( p3 [+ x5 n1 J
setrot( object, xdeg, ydeg, zdeg ) 此命令设定实体围绕x、y、z轴向的旋转角度
* u. O1 y; ?8 v8 H7 V4 I1 k) r8 C9 l1 u7 c I3 T
* z6 |: P" ^4 M7 i; u% O J
' U0 J, o( X6 e8 V g+ q9 A" p% x" W+ w8 y7 l1 S5 }
6 G1 Y3 d: b- [2 |( B* `, |& I: v/ L( J/ C3 K; g; o8 [& m4 L
J: I5 n* |5 f D% Z: I
, p% g6 k0 x g! ?5 p4 x- s
8 z& t- R5 e2 r& ^3 `: O+ a8 E6 o. T7 s" N1 e- F) J, X9 @1 o
7 r, M3 M6 q! u( y. w& h) F, d1 a( C& ~; H$ I* l
$ U+ o# r- c0 k" S+ `- E2 F( b! Y5 U [+ M3 r0 T9 ^" r
; U. q! N" b! g% @2 O实体统计值& i# P' ^9 S) i z8 d. x
命令(参数列表) 说明 g5 e" e7 M$ v# g6 ?8 z3 X
content( object ) 返回实体当前数量
) |2 o& n2 E2 b8 _+ Ugetinput( object ) 返回实体的输入统计* A+ |3 _/ J# t3 C: z: Y( m& ^
getoutput( object ) 返回实体的输出统计
( k0 K8 O$ D) o3 D! osetstate( object, statenum ) 设定实体的当前状态
( V% B b. h( w9 a! }" sgetstatenum( object ) 返回实体的当前状态
, m% Y% _! D" k% A4 @9 _getstatestr( object ) 以字符串返回实体当前状态) @3 N' q p5 B5 G% }: V$ b
getrank( object ) 返回实体的排序
3 r8 G* F0 }0 X, S" Asetrank( object,ranknum ) 设定实体的排序8 D+ o5 T* t' g- _
getentrytime( object ) 返回实体进入到当前所在实体中的时刻
; F3 \5 I; V- Y: d4 r4 ngetcreationtime( object ) 返回实体的创建时刻4 J' n, [8 r1 o: V# o+ n j0 l
实体标签% B/ e4 G/ y1 z; x# B
命令(参数列表) 说明& q/ q4 p0 e' k3 C
getlabelnum( object, labelname ) getlabelnum( object, labelrank) 返回实体的标签值; E; {- n) F$ z; v" _2 R0 H
setlabelnum( object, labelname , value ) setlabelnum( object, labelrank , value ) 设定实体的标签值
. r8 D4 _1 z& q* Z8 Z; bgetlabelstr( object, labelname ) 获得实体标签的字符串值" `9 o# r+ w) u
setlabelstr( object, labelname , value ) setlabelstr( object, labelrank , value ) 设定实体标签的字符串值6 ]! ?* {9 g& P# i
label( object, labelname ) label(object, labelrank) 返回一个作为节点的标签的引用,此命令常用在把标签当作一个表来使用的情况下。+ k. P8 Z1 E/ E8 _9 [" d
表4 R3 U) K2 T! o- m9 v
命令(参数列表) 说明
3 Y( K/ q; c7 o: ~1 Z+ Igettablenum( tablename / tablenode / tablerank, rownum, colnum ) 返回表中特定行列的值0 H0 J, @) D; Q$ }- b, L( H# u3 D
settablenum( tablename / tablenode / tablerank, rownum, colnum, value) 设定表中特定行列的值. m8 g# D( X6 e( { M
gettablestr( tablename / tablenode / tablerank, rownum, colnum ) 返回表中特定行列的字符串值8 U/ W L/ R0 }2 q: D0 \
settablestr( tablename / tablenode / tablerank, rownum, colnum, value) 设定表中特定行列的字符串值
. j' H8 L/ F$ l8 Hsettablesize( tablename / tablenode / tablerank, rows, columns ) 设定表的行列数大小
5 r. k0 k6 R& [& X0 G3 X. Hgettablerows( tablename / tablenode / tablerank) 返回表的行数
4 f0 Z* }; T U1 j3 j+ P8 igettablecols( tablename / tablenode / tablerank) 返回表的列数( C# b) c; c' o4 ?* O
clearglobaltable( tablename / tablenode / tablerank) 将表中所有数字值设为0& W* |) ^/ }- [; Q
实体控制
& l( F# X C3 O) r命令(参数列表)) 说明" @& `! e0 @% q& e! m$ F; w/ [
closeinput( object ) 关闭实体的输入端口0 r3 h2 o+ N. b
openinput( object ) 重新打开实体的输入端口# L; k* a$ y" ^: V9 e
closeoutput( object ) 关闭实体的输出端口; q0 `" ]; |9 ]
openoutput( object ) 重新打开实体的输出端口8 t1 z$ {) y% v0 ~
sendmessage( toobject, fromobject, parameter1, parameter2, parameter3 ) 触发实体的消息触发器
5 [# O b) h( G' r+ Q9 A5 Psenddelayedmessage( toobject, delaytime, fromobject, parameter1, parameter2, parameter3 ) 在一段特定时间延迟后触发实体的消息触发器
( O( f: ~4 a" n+ R" mstopobject( object, downstate ) 无论实体在进行什么操作,都令其停止,并进入指定的状态6 R. d. q4 }$ q
resumeobject( object ) 使实体恢复其原来的无论什么操作
9 _ |, S6 T- R2 O9 e- l Qstopoutput( object ) 关闭实体的输出端口,并累计停止输出的请求4 x; X; {, T) W! m9 B
resumeoutput( object ) 在所有停止输出请求都恢复以后,打开实体的输出端口7 g4 T3 J8 x2 g& W8 b
stopinput( object ) 关闭实体的输入端口,并累计停止输入的请求
' }4 P( W% T2 E9 u/ ~6 X% uresumeinput( object ) 在所有停止输入请求都恢复以后,打开实体的输入端口
& h) d' {3 B1 z4 `. @1 l3 q2 {insertcopy( originalobject, containerobject ) 往容器里插入新的实体复制品+ R. G( I; t% u8 g$ t. p; w0 u
moveobject( object, containerobject ) 将实体从当前容器移到它的新容器中7 u6 U2 ^9 w( o% [$ ^+ r( {9 z6 U! U+ @
高级函数8 A8 J4 l+ `+ X- _: V2 y
实体变量7 y* v5 |% W' Q3 \! R/ ]# g8 g L
命令(参数列表) 说明1 `9 {& J. ]6 e. s3 w+ U5 S. A
getvarnum( object, “variablename” ) 返回给定名称的变量的数值
! A7 D! y) F3 v- W7 y' Isetvarnum( object, “variablename” , value ) 设定给定名称的变量数值- @% D" G) ~+ K3 x3 y
getvarstr( object, “variablename” ) 返回给定名称的变量的字符串值
$ e& h1 ?. A" O$ H2 T7 q- a8 nsetvarstr( object, “variablename” , string ) 设定给定名称的变量的字符串值3 k4 | x; c: A+ F) F
getvarnode( object, “variablename” ) 返回一个节点,作为指向给定名称的变量的引用
6 J) @' s0 v! z( {任务执行器控制
0 `9 f5 o# Q B: a" \' R. L参见任务序列,可以获得更多有关控制任务执行器的信息。; _% m+ I6 K! y: X7 B8 W; J( O
提示和界面输出
' H0 `0 @3 T5 H% \ V* Z) R命令(参数列表) 说明% G5 z j" [; S2 B7 T( D
pt( text string ) 向输出控制台打印文本
& f% q# F. f; U% mpf( float value ) 向输出控制台打印浮点数值
; H5 H, T# x& L5 i' `pd( discrete value ) 向输出控制台打印整数数值
% O' W- A6 C% m/ {; Ppr( ) 在输出控制台中建新的一行
9 M. H" T0 l5 H: u9 g& A. _+ Emsg( “title”, “caption” ) 打开一个简单的“ 是、否、取消”消息框, Q7 Z# p$ a4 G- \' s3 W8 i9 y4 m
userinput( targetnode, “prompt” ) 打开一个可以设定模型节点值的对话框" F u0 a9 `5 V# ]9 ?& A
concat( string1, string2, etc. ) 合并两个或多个字符串
; i& |2 f6 ?& a# k8 {更多高级函数) P# ~8 p- [% z) X
下面是可能使用到的更多高级函数。这里没有提供参数列表,参见命令集可获得更多信息。
9 i+ G' ? l9 L) v1 |, {8 t节点命令 - node(), nodeadddata(), getdatatype(), nodetopath(), nodeinsertinto(), nodeinsertafter(), getnodename(), setnodename(), getnodenum(), getnodestr(), setnodenum(), setnodestr(), inc();
5 t% ^6 N' v% T8 z数据交换命令 - stringtonum(), numtostring(), tonum(), tonode(), apchar();
! @( H' _: X" e节点表命令 - setsize(), cellrc(), nrows(), ncols();; V; v5 ]' a; e
模型运行命令 - cmdcompile(), resetmodel(), go(), stop();$ W% u9 |8 R* a5 V
3D个性化绘制代码命令 - drawtomodelscale(), drawtoobjectscale(), drawsphere(), drawcube(), drawcylinder(), drawcolumn(), drawdisk(), drawobject(), drawtext(), drawrectangle(), drawline(), spacerotate(), spacetranslate(), spacescale();: y& h9 R6 |9 d9 A# u5 Y! T" B
Excel命令 - excellaunch(), excelopen(), excelsetsheet(), excelreadnum(), excelreadstr(), excelwritenum(), excelwritestr(), excelimportnode(), excelimporttable(), excelclose(), excelquit();8 w! A t3 O! x$ j& I9 L5 d7 @
ODBC命令 - dbopen(), dbclose(), dbsqlquery(), dbchangetable(), dbgetmetrics(), dbgetfieldname(), dbgetnumrows(), dbgetnumcols(), dbgettablecell(), dbsettablecell();
* ]; \% d* t) ^运动学命令 - initkinematics(), addkinematic(), getkinematics(), updatekinematics(), printkinematics() |
|