全球FlexSim系统仿真中文论坛

搜索
查看: 13677|回复: 9
打印 上一主题 下一主题

函数库

[复制链接]
跳转到指定楼层
1#
wj109260758 发表于 2010-7-15 00:13:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实体参量
# 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()
2#
ants_song 发表于 2010-7-15 08:26:59 | 只看该作者
哈哈,怎么把3.0中文版操作说明书中的内容粘上来啦
3#
往事如风210 发表于 2010-7-15 09:58:21 | 只看该作者
哈~~不要说这也是你的家底哦!
4#
 楼主| wj109260758 发表于 2010-7-15 11:44:40 | 只看该作者
我觉得这玩意很好啊,当时看到这个就开窍了
5#
02琊琊 发表于 2012-6-19 21:48:15 | 只看该作者
哈哈 受用 谢啦
6#
DONGDAxxy 发表于 2012-9-17 17:11:48 | 只看该作者
7#
嗜血黑猫 发表于 2013-4-23 10:16:17 | 只看该作者
很有用,谢谢分享
8#
yushaozheng1990 发表于 2013-12-9 21:03:44 | 只看该作者
有些粗糙啊
9#
a445608540 发表于 2013-12-12 08:40:52 | 只看该作者
谢谢分享
10#
yuzhu 发表于 2015-12-24 10:47:23 | 只看该作者
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-9-6 08:20 , Processed in 0.068947 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表