全球FlexSim系统仿真中文论坛

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

函数库

[复制链接]
跳转到指定楼层
1#
wj109260758 发表于 2010-7-15 00:13:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实体参量
. P8 Z" l8 y& L6 Q; o& r下列的命令和存取变量在Flexsim中被用作实体引用。* n) M+ X) O7 \4 G! T
变量current和item
1 H; u2 ~; H. b! C5 z•        current - 变量current是当前资源实体的引用。通常可以是下拉菜单中的一个存取变量。 # ^9 D0 L0 D/ t" K5 ~8 v& B
•        Item - 变量item是某触发器或函数所涉及的临时实体引用。通常可以是下拉菜单中的一个存取变量。
- ^& Y4 _3 K6 b! H$ W7 J引用命令
: f: i# c! O/ y4 V* V命令(参数列表)        说明        示例7 l& P* d8 K2 N
first(node)        返回的是所传递的实体中排序第一的对象的引用        first(current)8 ~. A9 V# \4 B. o2 I
last(node)        返回的是所传递的实体中排序倒数第一的对象的引用        last(current)% z% Q7 Z; Z$ J8 z+ G
rank(node,ranknum)        返回的是所传递的实体中某给定排序的对象的引用        rank(current,3)
# M  U# h2 K+ X6 r) f( }inobject(object,portnum)        返回的是与所传递的实体的输入端口号相连的对象的引用        inobject(current,1)
5 ~9 Z" R: I' i, ^: r4 N4 {% Boutobject(object,portnum)        返回的是与所传递的实体的输出端口号相连的对象的引用        outobject(current,1)' S& O- w" F; N
centerobject(object,portnum)        返回的是与所传递的实体的中间端口号相连的对象的引用        centerobject(current,1)2 @1 N. D( i) W
next(node)        返回的是所传递的实体中排序下一个对象的引用        next(item)
( t3 ^$ L3 f) ~3 [, {- X1 Y9 o3 u5 X/ ~; N( {) o% L
+ @8 H9 z$ z* H5 z: W  e7 E

. H2 T8 z) W/ Y; H1 g; ?. e! j; j2 ?, V1 {

; ~2 G4 X/ M) T; L8 M/ k2 Z5 P1 A
) [( n$ X* F* S5 x) A+ M
! I- k- H5 W! w% c4 Y, T& E
8 d9 R" H& e: M. ?7 A. p) q3 n  f: S0 J8 o4 H. [5 }  I6 J* J

* g$ y- T- S5 Q1 V5 y
" K6 Y2 q! b1 g: B, k4 V! E- ]
  ^- h: t, f# G+ K. Y' a0 Y$ a3 F+ B. h/ A8 S( }. r4 n4 Q

% I0 m/ ^6 U2 e2 D+ h" i! m) o. q0 s3 s1 u( O6 h) Q; p1 m; q/ ?) j5 Z

5 N0 R5 ^! c9 Y& c实体属性
! i' ^7 r+ U# K4 _; K4 p" D  E命令(参数列表)        说明
3 A8 J, q& v$ L* W; w. fgetname( object )        返回实体的名称
/ V9 ^. Y/ P0 J, ksetname( object, name )        设定实体的名称* L( Q' \6 Y" b
getitemtype( object )        返回实体中临时实体类型的值2 o$ K6 v. b. R
setitemtype( object, num)        设定实体中临时实体类型的值; |) c1 _3 {: `
setcolor( object, red, green, blue )        设定实体的颜色1 T: z3 {  {- H2 a( V/ S1 h  J6 F
colorred( object ) blue,green,white...        设定实体的颜色为红、蓝、绿、白等" T+ `- U- [# f# F4 G- C/ b
setobjectshapeindex ( object , indexnum )        设定实体的3D形状; n; r4 }! L' `- x4 l; B/ c" c
setobjecttextureindex ( object , indexnum )        设定实体的3D纹理
4 n& h4 [6 @# Q! u+ Q1 l+ f8 [3 W4 m& Wsetobjectimageindex ( object , indexnum )        设定实体的2D 纹理,通常只在平面视图中使用0 }$ Z# @% C' p5 e8 |
实体空间属性
! T) d% r, u/ @  [* H命令(参数列表)        说明; M) Z4 }& Q/ n
         * v4 }3 ^0 u; V2 D5 w! l8 B
xloc( object ) yloc( object ) zloc( object )        这些命令返回实体x、y、z轴向的位置
. v4 O! n4 q+ K! O8 O- gsetloc( object, xnum, ynum, znum )        此命令设定实体x、y、z轴向的位置7 P2 F. ~+ f1 m) u0 N2 H  \
         
! z7 j  H/ ^' w( `0 M7 qxsize( object ) ysize( object ) zsize( object )        这些命令返回实体x、y、z轴向的尺寸大小$ p, E2 X% H2 @3 s7 W( [) f* U
setsize( object, xnum, ynum, znum )        此命令设定实体x、y、z轴向的尺寸大小
% B( Z4 X" q' ]  w9 x" A          
" K" ?. n  u9 e, H( R8 Jxrot( object ) yrot( object ) zrot( object )        这些命令返回实体围绕x、y、z轴向的旋转角度
$ P" B9 m: n5 F# ]. Msetrot( object, xdeg, ydeg, zdeg )        此命令设定实体围绕x、y、z轴向的旋转角度
: t) ]* @0 T2 a* @0 P( S2 u( J% ^: `" V, L4 o4 w
0 p9 ?* o0 i+ C

/ l; v2 e- [% }/ k* q1 W6 D: x* u" N- M) G" M; C4 Z  W
% \5 w: [% u2 N$ d' c. y5 ?6 Y
+ h" y) a: A2 {' S* D

2 `# M- p7 V0 M4 i! t0 @' w* ]% M) m0 u# C8 t+ w  w' |

7 F2 a% X8 i3 M" h" h
: S& e9 X7 g7 e+ f$ @* I3 [& ]9 }" N
% Y0 u4 D& K4 M5 c
% Q1 I7 y$ S4 G/ n) ]
. G( A1 ?, n5 B% a
& _' w) r' V" b0 l# V
实体统计值& Q, _( d1 o3 x$ ]3 V- D
命令(参数列表)        说明
& a* I! v& s) c: z/ T+ `( u6 A6 k. R: D& T: xcontent( object )        返回实体当前数量
; I& `. }6 ~% n& [% K- Ggetinput( object )        返回实体的输入统计
( {$ n0 K/ v9 d; A& Cgetoutput( object )        返回实体的输出统计% ^- Q7 K( T; }: [) F
setstate( object, statenum )        设定实体的当前状态( z  w+ n& i4 W, Z4 o# F
getstatenum( object )        返回实体的当前状态; n% v- D- Y0 o6 ^
getstatestr( object )        以字符串返回实体当前状态4 X0 D. F  k; K6 o8 F
getrank( object )        返回实体的排序
7 b* U) j, o/ i$ m3 E6 L0 w) psetrank( object,ranknum )        设定实体的排序. O, g& `) B4 R
getentrytime( object )        返回实体进入到当前所在实体中的时刻
) l' E6 C8 i" Z) k; y5 P. Dgetcreationtime( object )        返回实体的创建时刻
/ ]$ p. N4 Z# O4 R( t2 @- C实体标签  q" |, s9 m* j9 o0 c* R  x
命令(参数列表)        说明
9 a7 x" Q; M* pgetlabelnum( object, labelname ) getlabelnum( object, labelrank)        返回实体的标签值0 ]7 o, P) }4 s& ~9 [7 d# j9 M
setlabelnum( object, labelname , value ) setlabelnum( object, labelrank , value )        设定实体的标签值
) l0 k( C* G7 G, u) Pgetlabelstr( object, labelname )        获得实体标签的字符串值. ]8 X# `- D9 B$ ?2 r* \5 S& j
setlabelstr( object, labelname , value ) setlabelstr( object, labelrank , value )        设定实体标签的字符串值
9 G5 e! x/ ?' x% c0 qlabel( object, labelname ) label(object, labelrank)        返回一个作为节点的标签的引用,此命令常用在把标签当作一个表来使用的情况下。
8 S2 C% e% u7 s, }! f3 p/ s$ A
3 M  T/ ^+ i1 @3 m- p4 Y5 [( f  |( M命令(参数列表)        说明
# y+ U: J5 _0 l/ W/ M6 z1 dgettablenum( tablename / tablenode / tablerank, rownum, colnum )        返回表中特定行列的值( E1 v. p) A& j& K% R, K; V% D
settablenum( tablename / tablenode / tablerank, rownum, colnum, value)         设定表中特定行列的值* x: t4 B: d# F; C1 Y, G
gettablestr( tablename / tablenode / tablerank, rownum, colnum )        返回表中特定行列的字符串值( G% m* g/ ?6 K% V5 S
settablestr( tablename / tablenode / tablerank, rownum, colnum, value)         设定表中特定行列的字符串值
( k! `% Y7 l( D: g/ vsettablesize( tablename / tablenode / tablerank, rows, columns )        设定表的行列数大小3 L: y/ e5 x4 U' A" {
gettablerows( tablename / tablenode / tablerank)        返回表的行数
* A4 k7 q( Y5 A$ {gettablecols( tablename / tablenode / tablerank)        返回表的列数% r/ J0 Z* E. E9 f% u
clearglobaltable( tablename / tablenode / tablerank)        将表中所有数字值设为0. ?( D1 K8 j; P% Q5 O; c' X+ q
实体控制
- t. F4 O9 L: }# m% {! b命令(参数列表))        说明
+ R( w, `) e, `( K/ scloseinput( object )        关闭实体的输入端口
+ l2 e9 ~+ U) u7 m" copeninput( object )        重新打开实体的输入端口
' @: \+ x0 r& i5 j1 b, |9 acloseoutput( object )        关闭实体的输出端口
3 ~+ F8 l6 i1 o' \* o( jopenoutput( object )        重新打开实体的输出端口
7 x, [6 U' q+ u  ssendmessage( toobject, fromobject, parameter1, parameter2, parameter3 )        触发实体的消息触发器' Z; H* S* T4 q" L
senddelayedmessage( toobject, delaytime, fromobject, parameter1, parameter2, parameter3 )        在一段特定时间延迟后触发实体的消息触发器
) ~6 C/ Z) Q' ^8 g* ]6 Xstopobject( object, downstate )        无论实体在进行什么操作,都令其停止,并进入指定的状态( ~0 G, ^* P+ H; a5 T7 r
resumeobject( object )        使实体恢复其原来的无论什么操作
8 l# R' k9 T# L9 P% Nstopoutput( object )        关闭实体的输出端口,并累计停止输出的请求
  G6 N" Y1 N: P: N+ ?! i. v, @; |8 Tresumeoutput( object )        在所有停止输出请求都恢复以后,打开实体的输出端口
. L& _( L1 }( Istopinput( object )        关闭实体的输入端口,并累计停止输入的请求
- U. K/ H2 D/ R  hresumeinput( object )        在所有停止输入请求都恢复以后,打开实体的输入端口
3 X- d: l# ]: h) L$ T% ~insertcopy( originalobject, containerobject )        往容器里插入新的实体复制品
# z/ Q) g; c9 T6 f3 dmoveobject( object, containerobject )        将实体从当前容器移到它的新容器中
- w' e+ D- e8 V' P3 @高级函数
8 Q( C* p3 N! l实体变量
5 Y* j& a2 ?+ g- i% L命令(参数列表)        说明
+ h' t# _* S) i6 _9 A3 L# Ugetvarnum( object, “variablename” )        返回给定名称的变量的数值' I3 m0 c' G* W& x/ r& x
setvarnum( object, “variablename” , value )        设定给定名称的变量数值
  V4 t' @  |/ N1 `getvarstr( object, “variablename” )        返回给定名称的变量的字符串值
& |' W# z' }$ h/ a" ~setvarstr( object, “variablename” , string )         设定给定名称的变量的字符串值. `/ I: v5 q- ?) X1 D2 D
getvarnode( object, “variablename” )        返回一个节点,作为指向给定名称的变量的引用* u% `* v- P1 D, v4 T- B' S
任务执行器控制
, I/ O* K, D$ e) V( B参见任务序列,可以获得更多有关控制任务执行器的信息。% y+ ~) r* S) y, F9 g+ A& U" w& |
提示和界面输出
! F& z) H/ q) t; Q7 I4 R& ^命令(参数列表)        说明
+ r  s! [5 y. T, g: N5 ]# W% G8 Jpt( text string )        向输出控制台打印文本
) K7 F; ]; l& B% _pf( float value )        向输出控制台打印浮点数值
9 D8 a/ j2 }8 b% g. J: d9 ]pd( discrete value )        向输出控制台打印整数数值
5 D: ?) Q; X& A5 npr( )         在输出控制台中建新的一行3 {5 P3 g2 I7 D0 D
msg( “title”, “caption” )        打开一个简单的“ 是、否、取消”消息框+ y& G! {4 M" m! g* Q2 V
userinput( targetnode, “prompt” )        打开一个可以设定模型节点值的对话框  J3 M' w) W  |0 c; T7 r
concat( string1, string2, etc. )        合并两个或多个字符串9 W: N& I2 a3 q2 y
更多高级函数
7 A4 C8 t& C2 L' C; x下面是可能使用到的更多高级函数。这里没有提供参数列表,参见命令集可获得更多信息。! e8 M6 F0 X. ?6 B/ v
节点命令 - node(), nodeadddata(), getdatatype(), nodetopath(), nodeinsertinto(), nodeinsertafter(), getnodename(), setnodename(), getnodenum(), getnodestr(), setnodenum(), setnodestr(), inc();9 x' t! y- O5 x& r# w2 `
数据交换命令 - stringtonum(), numtostring(), tonum(), tonode(), apchar();  N6 Z) q1 t' r: R3 C' K- n% C1 K
节点表命令 - setsize(), cellrc(), nrows(), ncols();5 p7 z% {2 J! v1 ^
模型运行命令 - cmdcompile(), resetmodel(), go(), stop();, M& c" g8 ~0 O  L$ u$ p: h4 E
3D个性化绘制代码命令 - drawtomodelscale(), drawtoobjectscale(), drawsphere(), drawcube(), drawcylinder(), drawcolumn(), drawdisk(), drawobject(), drawtext(), drawrectangle(), drawline(), spacerotate(), spacetranslate(), spacescale();! F% i3 i3 N! `" D+ `. ?
Excel命令 - excellaunch(), excelopen(), excelsetsheet(), excelreadnum(), excelreadstr(), excelwritenum(), excelwritestr(), excelimportnode(), excelimporttable(), excelclose(), excelquit();
) U% R3 e3 P) Q# Q( cODBC命令 - dbopen(), dbclose(), dbsqlquery(), dbchangetable(), dbgetmetrics(), dbgetfieldname(), dbgetnumrows(), dbgetnumcols(), dbgettablecell(), dbsettablecell();( ~7 I( n$ i+ c9 I; T
运动学命令 - 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-6-30 14:14 , Processed in 0.066265 second(s), 13 queries .

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

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