全球FlexSim系统仿真中文论坛

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

函数库

[复制链接]
跳转到指定楼层
1#
wj109260758 发表于 2010-7-15 00:13:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实体参量
% E0 O6 l9 I% G3 T下列的命令和存取变量在Flexsim中被用作实体引用。: |! g4 E0 o& D: b; h( L5 e' A
变量current和item/ K4 x) ~1 a5 p% d/ h4 y* G9 ?; T) E
•        current - 变量current是当前资源实体的引用。通常可以是下拉菜单中的一个存取变量。
" ^8 c% {( F" S( D7 i& m) \•        Item - 变量item是某触发器或函数所涉及的临时实体引用。通常可以是下拉菜单中的一个存取变量。 1 f* A8 i5 V" c7 G
引用命令( m" z- h% c2 @5 T7 w- E- p% I. F
命令(参数列表)        说明        示例
! k3 D9 _" S) C/ Y: f' q3 wfirst(node)        返回的是所传递的实体中排序第一的对象的引用        first(current)6 H0 h2 s6 r/ c3 F5 V; C
last(node)        返回的是所传递的实体中排序倒数第一的对象的引用        last(current): q# k( Q& q! u4 z1 B0 h7 y8 V
rank(node,ranknum)        返回的是所传递的实体中某给定排序的对象的引用        rank(current,3)
3 H* {9 U% Q) U# minobject(object,portnum)        返回的是与所传递的实体的输入端口号相连的对象的引用        inobject(current,1)
6 [5 v, y" o/ v) D& u# {outobject(object,portnum)        返回的是与所传递的实体的输出端口号相连的对象的引用        outobject(current,1)
, d( Y. l; S# Z$ h$ C. t8 ~centerobject(object,portnum)        返回的是与所传递的实体的中间端口号相连的对象的引用        centerobject(current,1)
  i/ O$ U( V( R9 o' d. Nnext(node)        返回的是所传递的实体中排序下一个对象的引用        next(item)
) O0 b3 ]/ m; p% R1 q7 M. @% Z0 C4 G. a
: Y3 z9 L3 H! H) o; g- o
0 R3 ^/ C  d) @! j6 z. [; ?
) r; o1 B+ V! j$ ]' r( f
) l3 c. j# N) |; j+ S5 Q
/ _. Y) ~' z) o- R

3 X* l- \9 d& B+ Z0 s# t2 \
( n( i% Y! K& E+ U1 g6 v9 ~- H6 N! \, i7 P
, p8 u) C3 X9 j

% f) l$ T4 W. {2 L0 b) y1 m2 |/ K" c' H# x/ R& r" I/ I! C

5 d5 m6 l9 f, `- h. ?, p7 o  g3 i4 B& t) C/ ^! Y( \1 y4 M7 p

9 K8 _) o% g$ B6 r
) u% O- O2 E7 J% v! C实体属性# P4 B1 e, m1 ^
命令(参数列表)        说明
' d$ v( i0 N5 Q  V0 Rgetname( object )        返回实体的名称
# e! m% e7 r7 m, Tsetname( object, name )        设定实体的名称
( b! j' g8 \- d) Y, |getitemtype( object )        返回实体中临时实体类型的值
, u8 @/ ~. j% q5 l3 T0 q+ osetitemtype( object, num)        设定实体中临时实体类型的值
; j* V' \; A7 y0 O) ~, xsetcolor( object, red, green, blue )        设定实体的颜色
& Z5 M* _) \0 _& ?* bcolorred( object ) blue,green,white...        设定实体的颜色为红、蓝、绿、白等
) T6 ]) |% C0 w, }: vsetobjectshapeindex ( object , indexnum )        设定实体的3D形状
- g% P/ v& g5 ]. x. o  Wsetobjecttextureindex ( object , indexnum )        设定实体的3D纹理
6 m4 ~; {. S+ |9 s# I1 @3 z+ H, csetobjectimageindex ( object , indexnum )        设定实体的2D 纹理,通常只在平面视图中使用* O4 @% c& e5 |! ^) I# O6 g/ m
实体空间属性
4 w( O6 E% {# `0 B命令(参数列表)        说明1 b8 F2 o$ h. t& e( G
         
. k, h" Z8 }6 H  k. K% x* }5 ]xloc( object ) yloc( object ) zloc( object )        这些命令返回实体x、y、z轴向的位置
' c" o* @. e7 ~' X2 ?# z' p* fsetloc( object, xnum, ynum, znum )        此命令设定实体x、y、z轴向的位置
$ @. r: [4 t' b0 u- y( M+ Q( |          
5 `9 n" Q' V3 {, {8 d* W8 @2 Z5 txsize( object ) ysize( object ) zsize( object )        这些命令返回实体x、y、z轴向的尺寸大小" Q' C+ T8 H6 x& {) g1 O
setsize( object, xnum, ynum, znum )        此命令设定实体x、y、z轴向的尺寸大小
/ b. v) m% G! ]6 Z$ }+ m! _$ [          
* [0 y. f( Y* ?4 b, {xrot( object ) yrot( object ) zrot( object )        这些命令返回实体围绕x、y、z轴向的旋转角度
) M4 m; Y' O. l0 g6 [. vsetrot( object, xdeg, ydeg, zdeg )        此命令设定实体围绕x、y、z轴向的旋转角度3 u' O( L' l) k1 ^& d- A
9 G" `2 F4 y8 f/ H, a

9 l- S0 p7 I% K
5 p# F' W& ^0 R0 w; ]
1 E2 H, A" Q3 S7 s; d# s
- |' t* _+ [5 F7 l, ]# L
% o, ]7 y7 T. c" i3 m" G# E. N, J; e0 s% v' C" O
6 S9 n4 _( P+ r  @2 m: U0 d
( n' y4 V# c% K* ~

& j/ U( F9 N. E8 ~, c- K
$ |4 f+ i# }) Q/ Z
6 n7 u! m% @5 n9 Z4 G2 v
: d! i# k; T2 Y) B0 L. b( K! b6 q  v) |9 X7 [. g

5 v3 \- _6 S9 P/ {# J0 z实体统计值
; h, @% S1 X5 t4 y9 g命令(参数列表)        说明  Y% @: V' l2 T$ f- _- Z
content( object )        返回实体当前数量
2 Q, ^1 v% k3 F* Sgetinput( object )        返回实体的输入统计/ a8 p  v2 c* ]% u: @
getoutput( object )        返回实体的输出统计
1 }" A4 [5 x& l, m) O1 K* ?* O5 fsetstate( object, statenum )        设定实体的当前状态! u( _$ S/ n. n% K: c) q* j
getstatenum( object )        返回实体的当前状态
/ v: N% @. r5 D) N/ Cgetstatestr( object )        以字符串返回实体当前状态
$ O: k' |, ~  P; ^) Wgetrank( object )        返回实体的排序
* O/ O& ?( e& g. I% d6 I7 U' qsetrank( object,ranknum )        设定实体的排序
- O; S. T! i' t, l; U* Wgetentrytime( object )        返回实体进入到当前所在实体中的时刻; t) n+ T! M, P% s! W; ^
getcreationtime( object )        返回实体的创建时刻
4 r6 j3 q1 \3 a1 D实体标签
" `4 g  D5 T, {9 S2 `9 R1 j* R) x( o命令(参数列表)        说明- v" p/ b+ x1 g' U/ {$ `3 r
getlabelnum( object, labelname ) getlabelnum( object, labelrank)        返回实体的标签值
+ @5 z: D* t7 b+ Xsetlabelnum( object, labelname , value ) setlabelnum( object, labelrank , value )        设定实体的标签值, Y0 M' m6 O8 h" w: M  o- i
getlabelstr( object, labelname )        获得实体标签的字符串值1 P" G/ x+ v  _9 G! F* u( A
setlabelstr( object, labelname , value ) setlabelstr( object, labelrank , value )        设定实体标签的字符串值7 W% a4 C" f+ K$ }$ _( {+ i7 c
label( object, labelname ) label(object, labelrank)        返回一个作为节点的标签的引用,此命令常用在把标签当作一个表来使用的情况下。# v; N/ Y2 ~! I0 w5 m+ M  w/ c; ]
$ J* C: l  q# w9 v, ~9 M( M
命令(参数列表)        说明
$ {* P* |4 e+ N+ `3 S4 e# igettablenum( tablename / tablenode / tablerank, rownum, colnum )        返回表中特定行列的值) \6 B  |9 c" q* i9 n6 T
settablenum( tablename / tablenode / tablerank, rownum, colnum, value)         设定表中特定行列的值
, r" |1 o0 N' w" f+ Q$ c! v& agettablestr( tablename / tablenode / tablerank, rownum, colnum )        返回表中特定行列的字符串值7 C/ P. s' [. t0 f" c8 _
settablestr( tablename / tablenode / tablerank, rownum, colnum, value)         设定表中特定行列的字符串值- a" ^% ?$ w8 i
settablesize( tablename / tablenode / tablerank, rows, columns )        设定表的行列数大小
* h2 q& y1 k# R- A: ?gettablerows( tablename / tablenode / tablerank)        返回表的行数
8 _5 }5 v" S. c# t6 ogettablecols( tablename / tablenode / tablerank)        返回表的列数
$ a9 D$ v; u( Y0 Sclearglobaltable( tablename / tablenode / tablerank)        将表中所有数字值设为0
$ d1 _) Y5 M$ g! H% [实体控制
; M/ x, T- R) P7 v/ Q; t命令(参数列表))        说明
2 m8 C& d/ @3 b& P* L6 V. \1 Zcloseinput( object )        关闭实体的输入端口3 I. g3 o1 w: \
openinput( object )        重新打开实体的输入端口
1 i: B& K, C% u4 d1 P* Gcloseoutput( object )        关闭实体的输出端口
8 t3 f% f/ k* Oopenoutput( object )        重新打开实体的输出端口1 L! M! S; v7 j$ K5 I
sendmessage( toobject, fromobject, parameter1, parameter2, parameter3 )        触发实体的消息触发器
+ {7 b- D9 z+ X, i! \senddelayedmessage( toobject, delaytime, fromobject, parameter1, parameter2, parameter3 )        在一段特定时间延迟后触发实体的消息触发器
6 B/ p3 ?3 _' r, |6 w4 g' C" fstopobject( object, downstate )        无论实体在进行什么操作,都令其停止,并进入指定的状态0 {1 H2 {' o, w' }  U: Z& g' |% n
resumeobject( object )        使实体恢复其原来的无论什么操作6 j  l5 C6 h$ Q2 L) G
stopoutput( object )        关闭实体的输出端口,并累计停止输出的请求
" V5 s9 q0 X) U; Gresumeoutput( object )        在所有停止输出请求都恢复以后,打开实体的输出端口- b# b4 n6 H& ~! F7 ]! ^
stopinput( object )        关闭实体的输入端口,并累计停止输入的请求
/ W. k) d+ A8 i+ H1 A) W% ~resumeinput( object )        在所有停止输入请求都恢复以后,打开实体的输入端口& A  K; V- U( g6 u1 W8 _
insertcopy( originalobject, containerobject )        往容器里插入新的实体复制品
0 D- N" L% |! ~- omoveobject( object, containerobject )        将实体从当前容器移到它的新容器中" N$ Y& s8 D5 b: p
高级函数- J" x, h% t6 l# o7 u: |! ]7 _
实体变量
0 |- J' W- f" Z5 r2 i  K) T3 a7 M命令(参数列表)        说明
0 a' s' W0 }6 g3 u% p9 |getvarnum( object, “variablename” )        返回给定名称的变量的数值$ y" a* G4 B3 b* N
setvarnum( object, “variablename” , value )        设定给定名称的变量数值: p, Z) n+ V$ C5 _# p/ Z/ t
getvarstr( object, “variablename” )        返回给定名称的变量的字符串值
# @: P* |4 _8 l& Msetvarstr( object, “variablename” , string )         设定给定名称的变量的字符串值
' D2 T& X, b3 g" I! o% r- ygetvarnode( object, “variablename” )        返回一个节点,作为指向给定名称的变量的引用
  R* P0 B4 b5 A6 M8 T任务执行器控制, I5 G* ?+ q4 h7 l5 r0 U
参见任务序列,可以获得更多有关控制任务执行器的信息。# V' A; b3 Y  m, o1 d
提示和界面输出
* z" L  T' C) X& {* v3 ^命令(参数列表)        说明/ e0 n( `8 Y+ M$ w6 [
pt( text string )        向输出控制台打印文本
3 F9 n' i1 h, F4 Y% u" Spf( float value )        向输出控制台打印浮点数值& B- F1 P9 c) H* |4 B6 l
pd( discrete value )        向输出控制台打印整数数值; V$ s# c9 |+ v. V/ k* t
pr( )         在输出控制台中建新的一行' W+ \. v7 a) J. [
msg( “title”, “caption” )        打开一个简单的“ 是、否、取消”消息框  u0 C8 C& y3 p) [% Q
userinput( targetnode, “prompt” )        打开一个可以设定模型节点值的对话框) J1 F( b3 w8 v$ _. ?0 B) u: H
concat( string1, string2, etc. )        合并两个或多个字符串+ D& h  @0 R) }. ]9 |0 x" w  q( z
更多高级函数( f- ]! _* ~* m% t) L
下面是可能使用到的更多高级函数。这里没有提供参数列表,参见命令集可获得更多信息。4 s  w" c$ ~; S7 F$ T3 R
节点命令 - node(), nodeadddata(), getdatatype(), nodetopath(), nodeinsertinto(), nodeinsertafter(), getnodename(), setnodename(), getnodenum(), getnodestr(), setnodenum(), setnodestr(), inc();
' W7 n) ]$ S$ U数据交换命令 - stringtonum(), numtostring(), tonum(), tonode(), apchar();+ L  J/ s+ }3 f! \& C
节点表命令 - setsize(), cellrc(), nrows(), ncols();
& E5 M. y/ Y1 L$ P+ `4 U! E9 T, G# E1 c模型运行命令 - cmdcompile(), resetmodel(), go(), stop();: q. a  I, Y( D& `% y- [
3D个性化绘制代码命令 - drawtomodelscale(), drawtoobjectscale(), drawsphere(), drawcube(), drawcylinder(), drawcolumn(), drawdisk(), drawobject(), drawtext(), drawrectangle(), drawline(), spacerotate(), spacetranslate(), spacescale();  u6 `. j5 I: y  }* z- h
Excel命令 - excellaunch(), excelopen(), excelsetsheet(), excelreadnum(), excelreadstr(), excelwritenum(), excelwritestr(), excelimportnode(), excelimporttable(), excelclose(), excelquit();
' O7 q$ j. p0 w  |0 U( kODBC命令 - dbopen(), dbclose(), dbsqlquery(), dbchangetable(), dbgetmetrics(), dbgetfieldname(), dbgetnumrows(), dbgetnumcols(), dbgettablecell(), dbsettablecell();* B3 f8 D+ m3 b$ Y8 ~2 b
运动学命令 - 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:22 , Processed in 0.079102 second(s), 13 queries .

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

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