全球FlexSim系统仿真中文论坛

标题: 函数库 [打印本页]

作者: wj109260758    时间: 2010-7-15 00:13
标题: 函数库
实体参量. i* H/ l$ o4 A9 G* ?: f
下列的命令和存取变量在Flexsim中被用作实体引用。4 F& B8 l1 t1 a: K2 L5 J* [
变量current和item
2 |/ M! y* Q; j; `•        current - 变量current是当前资源实体的引用。通常可以是下拉菜单中的一个存取变量。 6 [0 _2 B3 b6 Z' H" r
•        Item - 变量item是某触发器或函数所涉及的临时实体引用。通常可以是下拉菜单中的一个存取变量。 ; X8 E; w$ `4 f1 z" s
引用命令
7 s8 p1 M$ k5 D; a3 A' O, d命令(参数列表)        说明        示例
! Q3 Q( b( B$ t7 f+ wfirst(node)        返回的是所传递的实体中排序第一的对象的引用        first(current)
4 Z/ K$ j# @- Q( ?$ N! A6 Alast(node)        返回的是所传递的实体中排序倒数第一的对象的引用        last(current)5 X5 _0 E) ]+ g9 N+ q8 C
rank(node,ranknum)        返回的是所传递的实体中某给定排序的对象的引用        rank(current,3)( `- |1 l* V+ ?9 e% g* J
inobject(object,portnum)        返回的是与所传递的实体的输入端口号相连的对象的引用        inobject(current,1)0 U8 x1 I9 h/ V( s
outobject(object,portnum)        返回的是与所传递的实体的输出端口号相连的对象的引用        outobject(current,1)
$ h: S2 C# G1 Z! m* N! [4 kcenterobject(object,portnum)        返回的是与所传递的实体的中间端口号相连的对象的引用        centerobject(current,1)
" }" b, ?+ X! e3 R6 Wnext(node)        返回的是所传递的实体中排序下一个对象的引用        next(item)
& Y+ F3 @7 Q+ E( ~* M
% \# L+ ?4 v* Z0 k- X% Q5 i
' Z* M* F# x# ]. t1 y' D$ A! Y3 H" x- r( v
1 ]7 g9 S2 }  W- J
! [" j, A. M" _0 W: t
. n2 l1 e4 H+ j! f
- H7 i& M! _2 J' _

# v' @" Y0 @  S. D3 g2 x
0 f! L' l7 Z5 T; }9 Y. A, W" R# h# }9 i) ~6 ^8 k

3 `5 i" s1 x7 P1 i; V" {6 t% \$ E7 F% l  y6 A
) E; C) }" _2 f: \$ z

$ q' j, Z/ Z4 E1 t' V1 J* m0 `) G! a6 U! C% R7 H

( r& b2 d0 P9 ^7 l9 M" T实体属性( B% u6 z4 _4 F( s/ v6 R& W
命令(参数列表)        说明
/ G6 w/ p' u- J; p- x+ `getname( object )        返回实体的名称
) J* h: d& t! i9 V% m  D* S7 tsetname( object, name )        设定实体的名称2 ~: h9 Q0 z) X8 o$ J' D# y: u
getitemtype( object )        返回实体中临时实体类型的值
9 T8 H5 }& e2 d9 vsetitemtype( object, num)        设定实体中临时实体类型的值
  d* q7 d$ m( M! X/ i$ {& g; Qsetcolor( object, red, green, blue )        设定实体的颜色
$ J  K# G+ W* B3 ^6 M* lcolorred( object ) blue,green,white...        设定实体的颜色为红、蓝、绿、白等
/ `7 F  ~$ T  tsetobjectshapeindex ( object , indexnum )        设定实体的3D形状2 f; N3 M8 h- y3 O
setobjecttextureindex ( object , indexnum )        设定实体的3D纹理
4 b: Q' R$ [8 D& B) X* ?setobjectimageindex ( object , indexnum )        设定实体的2D 纹理,通常只在平面视图中使用
- K  G: z, b$ \9 m0 N9 J实体空间属性
* U6 s9 [0 o* [6 f8 Z2 ^4 C命令(参数列表)        说明
0 v" D; `8 g* y          
% M' h# h# {3 W4 wxloc( object ) yloc( object ) zloc( object )        这些命令返回实体x、y、z轴向的位置
# t* z" g7 j# y3 ]; z# X* Isetloc( object, xnum, ynum, znum )        此命令设定实体x、y、z轴向的位置. }. S' b* _4 a3 z5 h, V
         
9 A6 {6 b: w0 k( Z7 D3 W" xxsize( object ) ysize( object ) zsize( object )        这些命令返回实体x、y、z轴向的尺寸大小
$ L4 j0 S2 `$ j5 t- w- osetsize( object, xnum, ynum, znum )        此命令设定实体x、y、z轴向的尺寸大小. z5 B+ x# a" [/ t& V" Z2 C/ k
         
( O" l+ M( a, D, h4 D1 ~3 N, U3 Xxrot( object ) yrot( object ) zrot( object )        这些命令返回实体围绕x、y、z轴向的旋转角度$ p  e1 {* i/ ?8 y  V- ^
setrot( object, xdeg, ydeg, zdeg )        此命令设定实体围绕x、y、z轴向的旋转角度( n% \/ v5 |4 u# V+ V3 s: f7 w% q
& o/ Y) y+ |9 n6 L6 k: k

1 b; U8 [4 |) q) C0 S
  Y+ x; `. {9 r. k
2 q8 b' q$ o  X* q/ a; z
# v% l( N2 M: V% W- D; G. o4 K8 f- y9 I  X5 D
* H+ X; l  o4 \1 Y8 U, I
. E5 C. h# O" S
+ t1 v! c' [2 o7 H- C, Z) d

* t' Q  j2 y  ^% [3 [$ {( [! l4 y0 M9 ^) B

* N3 \! B- J( \7 ^7 M: \7 t9 x3 f3 P
; B$ R7 \# q& O9 x0 x% v

' q! s- d! R; P( k+ T% h实体统计值2 u) t1 v7 Z" {" }; V
命令(参数列表)        说明
8 C# r5 }1 F$ r# D0 w3 Scontent( object )        返回实体当前数量) r9 s1 S1 b- I! k; M% E) M1 ~0 {
getinput( object )        返回实体的输入统计5 s" ^% K* y# A6 _2 p! q
getoutput( object )        返回实体的输出统计
4 J) N+ M+ o6 H) N  Usetstate( object, statenum )        设定实体的当前状态5 @0 \3 K# |# |1 T5 X# |9 _
getstatenum( object )        返回实体的当前状态
4 v. o  t; \& W/ k1 \2 ~" Xgetstatestr( object )        以字符串返回实体当前状态- d# D; j2 t2 p8 e, R/ f
getrank( object )        返回实体的排序; Z0 a; D0 S9 O5 L, A; T* Q
setrank( object,ranknum )        设定实体的排序
! K5 \" i* o6 k" fgetentrytime( object )        返回实体进入到当前所在实体中的时刻
8 f. T7 ?4 ?' ~& g! _! Ngetcreationtime( object )        返回实体的创建时刻: q; _9 U4 C1 G: g( R
实体标签
* u! ?5 n8 l7 `- ^3 Y9 V9 M8 {% x5 H命令(参数列表)        说明: [1 @2 q7 j4 A% b* C$ x
getlabelnum( object, labelname ) getlabelnum( object, labelrank)        返回实体的标签值
/ l3 U3 u7 i  S3 A! lsetlabelnum( object, labelname , value ) setlabelnum( object, labelrank , value )        设定实体的标签值
! L: @2 e  z; _% {getlabelstr( object, labelname )        获得实体标签的字符串值
& Z9 Q# n7 b  {+ @8 j8 Osetlabelstr( object, labelname , value ) setlabelstr( object, labelrank , value )        设定实体标签的字符串值
; _2 u$ p7 J" rlabel( object, labelname ) label(object, labelrank)        返回一个作为节点的标签的引用,此命令常用在把标签当作一个表来使用的情况下。
, U/ r* V* ]. O9 _, i4 A' A* @2 a8 P2 b" M( C, C! r
命令(参数列表)        说明
3 R8 s/ W) h: r9 r+ e" ngettablenum( tablename / tablenode / tablerank, rownum, colnum )        返回表中特定行列的值
6 }; c# P; A7 _& Rsettablenum( tablename / tablenode / tablerank, rownum, colnum, value)         设定表中特定行列的值& Z6 q6 o$ r' t2 b6 v
gettablestr( tablename / tablenode / tablerank, rownum, colnum )        返回表中特定行列的字符串值
* C' e; g, x! D* r8 s; G: fsettablestr( tablename / tablenode / tablerank, rownum, colnum, value)         设定表中特定行列的字符串值
, w& F! z- N& P0 u# {* A; Jsettablesize( tablename / tablenode / tablerank, rows, columns )        设定表的行列数大小
1 g; }1 V# X0 u. x& x; hgettablerows( tablename / tablenode / tablerank)        返回表的行数# Z: Q, ?( |( W- }' S
gettablecols( tablename / tablenode / tablerank)        返回表的列数
+ ?  n, U2 o3 zclearglobaltable( tablename / tablenode / tablerank)        将表中所有数字值设为0' H. d6 x: Y! V/ Z. V
实体控制: A9 ^. W0 x# \! R* Q# g4 ?6 t
命令(参数列表))        说明
! g8 _) J: k/ Vcloseinput( object )        关闭实体的输入端口
  P3 g+ k3 K) Wopeninput( object )        重新打开实体的输入端口: |6 y0 C8 g6 r0 y! m
closeoutput( object )        关闭实体的输出端口
+ f8 i5 e3 A1 R5 x. k& d- m2 ?openoutput( object )        重新打开实体的输出端口
( H9 C5 w& Z  n, R: X5 c7 @sendmessage( toobject, fromobject, parameter1, parameter2, parameter3 )        触发实体的消息触发器8 r2 {4 @" W( ~
senddelayedmessage( toobject, delaytime, fromobject, parameter1, parameter2, parameter3 )        在一段特定时间延迟后触发实体的消息触发器9 W7 n5 k; d3 s6 `: s
stopobject( object, downstate )        无论实体在进行什么操作,都令其停止,并进入指定的状态" A( s0 E3 ]( @% _6 p
resumeobject( object )        使实体恢复其原来的无论什么操作4 ^: \4 m' [9 w0 j
stopoutput( object )        关闭实体的输出端口,并累计停止输出的请求
! F, l4 p; Z# ]* zresumeoutput( object )        在所有停止输出请求都恢复以后,打开实体的输出端口
- A! N7 ~* t/ O5 g$ istopinput( object )        关闭实体的输入端口,并累计停止输入的请求  g+ v2 t4 g4 e6 U; {4 h1 H, h
resumeinput( object )        在所有停止输入请求都恢复以后,打开实体的输入端口
+ }+ z- j# @  m! C; ^insertcopy( originalobject, containerobject )        往容器里插入新的实体复制品9 `5 z* W; T; ?# l
moveobject( object, containerobject )        将实体从当前容器移到它的新容器中; W: [. s3 Z2 o, }
高级函数2 N# z2 U/ v. n3 [$ E8 H7 L% h5 t3 c
实体变量9 _" z8 O1 T. v
命令(参数列表)        说明% V7 u  e, G$ s8 @. F4 m
getvarnum( object, “variablename” )        返回给定名称的变量的数值" f' t$ H: F3 w; W# j/ m! Q% k: ?
setvarnum( object, “variablename” , value )        设定给定名称的变量数值
8 K8 F9 K7 a; N' Xgetvarstr( object, “variablename” )        返回给定名称的变量的字符串值4 t  p6 z4 ?# ^" K$ X+ [/ z2 O. L
setvarstr( object, “variablename” , string )         设定给定名称的变量的字符串值
/ Y4 t; F) X; Kgetvarnode( object, “variablename” )        返回一个节点,作为指向给定名称的变量的引用
0 W0 I* v. B: f, ]4 x$ k任务执行器控制
$ B6 |6 v9 K. Y% c' i4 u1 j参见任务序列,可以获得更多有关控制任务执行器的信息。$ w# s% U8 l, m! W5 z! K
提示和界面输出2 o3 N4 B1 N" ]$ E( k( N
命令(参数列表)        说明
$ r/ k% G# x0 y: @) t' j, xpt( text string )        向输出控制台打印文本2 Z, j1 f8 k3 r, }( p* E
pf( float value )        向输出控制台打印浮点数值* v0 Q  N  u) ^+ C& n: D0 v
pd( discrete value )        向输出控制台打印整数数值* V  Y& Z! V, M6 K3 U
pr( )         在输出控制台中建新的一行7 U% t/ d  w$ U$ G3 ]
msg( “title”, “caption” )        打开一个简单的“ 是、否、取消”消息框
- N1 m( l% G' u4 Suserinput( targetnode, “prompt” )        打开一个可以设定模型节点值的对话框
- Y1 p$ ]. k, ?1 K: K' m  _concat( string1, string2, etc. )        合并两个或多个字符串
: q. |! K3 ?% b. ?更多高级函数4 ~" E* Q! e) B7 t0 K* y% t
下面是可能使用到的更多高级函数。这里没有提供参数列表,参见命令集可获得更多信息。& Y/ [! s7 ^$ g. B) F
节点命令 - node(), nodeadddata(), getdatatype(), nodetopath(), nodeinsertinto(), nodeinsertafter(), getnodename(), setnodename(), getnodenum(), getnodestr(), setnodenum(), setnodestr(), inc();
, e& i) W! w$ c8 F. z5 I+ [1 e, @  a数据交换命令 - stringtonum(), numtostring(), tonum(), tonode(), apchar();
, F* ^8 X! w; v- e  F+ x6 R( |节点表命令 - setsize(), cellrc(), nrows(), ncols();
. u0 o' a0 e4 C4 K# ?模型运行命令 - cmdcompile(), resetmodel(), go(), stop();
- a1 Z/ `& O, e8 {  h% D. f; }$ D: _2 w/ l3D个性化绘制代码命令 - drawtomodelscale(), drawtoobjectscale(), drawsphere(), drawcube(), drawcylinder(), drawcolumn(), drawdisk(), drawobject(), drawtext(), drawrectangle(), drawline(), spacerotate(), spacetranslate(), spacescale();
! K. f/ Q$ X& Q) x& a. x  ~; z2 ~Excel命令 - excellaunch(), excelopen(), excelsetsheet(), excelreadnum(), excelreadstr(), excelwritenum(), excelwritestr(), excelimportnode(), excelimporttable(), excelclose(), excelquit();
5 Y' Q" X% m& k% [6 }& WODBC命令 - dbopen(), dbclose(), dbsqlquery(), dbchangetable(), dbgetmetrics(), dbgetfieldname(), dbgetnumrows(), dbgetnumcols(), dbgettablecell(), dbsettablecell();& I3 S1 [0 [/ n2 @# o6 O: d6 R) n
运动学命令 - initkinematics(), addkinematic(), getkinematics(), updatekinematics(), printkinematics()
作者: ants_song    时间: 2010-7-15 08:26
哈哈,怎么把3.0中文版操作说明书中的内容粘上来啦
作者: 往事如风210    时间: 2010-7-15 09:58
哈~~不要说这也是你的家底哦!
作者: wj109260758    时间: 2010-7-15 11:44
我觉得这玩意很好啊,当时看到这个就开窍了
作者: 02琊琊    时间: 2012-6-19 21:48
哈哈 受用 谢啦
作者: DONGDAxxy    时间: 2012-9-17 17:11

作者: 嗜血黑猫    时间: 2013-4-23 10:16
很有用,谢谢分享
作者: yushaozheng1990    时间: 2013-12-9 21:03
有些粗糙啊
作者: a445608540    时间: 2013-12-12 08:40
谢谢分享
作者: yuzhu    时间: 2015-12-24 10:47





欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3