全球FlexSim系统仿真中文论坛

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

请问如何如何根据生产状态(比如开机或停机)改变实体(比如处理器)....

[复制链接]
匿名
跳转到指定楼层
1#
匿名  发表于 2019-1-25 17:10:23 回帖奖励 |倒序浏览 |阅读模式
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。
8 R# p7 X6 J2 @" ^0 `系统的默认程序(已将item改成了current):
+ t) Q' `( l% x- b; |6 ytreenode item = parnode(1);& O7 U/ x# p3 N+ P* `: z/ j
treenode current = ownerobject(c);
6 K! a( C8 C* vint port = parval(2);0 V& W$ y" E0 l. O: H
{ //************* PickOption Start *************\\3 a- e* q. O1 Q  ]' i
/***popup:Change3DShape*/9 ]$ N' R: |, o; w
/**Change 3D Shape*/; y3 v! t: x9 G- b- ^/ l4 A9 H% I
/** \nObject: */
, w* v8 `+ \- p# p6 d% d) \treenode involved = /***tag:node*//**/current/**/;, A8 H, D" s6 Z, X: r; b
/** \nShape Index Number: */* t  O# @6 w+ ^! i
double theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;
. C0 L3 Q( k7 F0 U! S* ?! q+ h) F7 V8 n# ^, T/ P. B
setname(shape(involved),"_shape");4 _: _1 S: Z3 a8 Y3 P
setobjectshapeindex(involved,theindex);
1 v, ], Y/ P4 l" A/**\n*/8 D; X) e0 x% F7 f- s
} //******* PickOption End *******\\4 A% Q, x& C! U) K* n, u5 A* F5 D

6 A4 D  l' [+ y0 S1 W+ ^其中,
) t& m, |* H6 k- M" Ofs3d\\General\\Box.3ds% j, A. p7 O7 q6 G
我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?
* d! \8 E5 w( e  r请问正确的操作是怎样的呢?谢谢!" }! c  t) W0 v& B- ^9 p; c

2 K- c' K, W! N, R; w7 E
2#
SunshineFu 发表于 2019-1-25 20:13:21 | 只看该作者
不清楚具体情况,可以上传模型吗?
3#
王奕 发表于 2019-1-25 20:42:31 | 只看该作者
你好,请查看附件,
$ ?( e1 m/ j9 [0 v+ G里面包含了两个SKP模型和一个FLEXSIM6版本的模型。
6 \- D* @+ A2 o- D" e1 xFLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。
$ \4 L/ _3 s% z! R9 [谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
5#
Stevenzheng 发表于 2019-1-26 09:23:02 | 只看该作者
我式了可以呐,只是在Shap下拉框中选的.
4 m. u5 ~% M* b6 N& O1 u/ i, ^* l! {* H% D$ ~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
6#
王奕 发表于 2019-1-26 09:51:05 | 只看该作者
我用的是flexsim6版本的,一直没有试出来
7#
Stevenzheng 发表于 2019-1-26 13:15:35 | 只看该作者
王奕 发表于 2019-1-25 23:11
, p1 L* o4 \  @问题如图

: u; q* N# c0 d* x我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
8#
Stevenzheng 发表于 2019-1-26 13:23:06 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:15- E1 [+ Q% Q, @' v
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...
* j0 a% L6 T, C8 L3 G
里面代码是这样的:
9 e  j8 H* v0 d) m$ l. B, ntreenode item = parnode(1);
- c( z, ^6 L' g3 ^- I3 Q5 ztreenode current = ownerobject(c);$ b/ r9 H3 l% L' ^3 F
{ //************* PickOption Start *************\\, J( M# @- V) g- F5 B
/***popup:Change3DShape*/
! @, a+ S1 r+ }* F  g/ S- B% u. D2 C/**Change 3D Shape*/: C1 P  x: L0 v& D, a( }- l0 C7 q
treenode involved = /** \nObject: *//***tagbject*//**/current/**/;8 P. ?$ I2 K6 ~. N3 s
string shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;3 j& q4 i, |" j2 i. h0 j; x
! r' `+ s# @" b: B* s
double theindex = getshapeindex(shapename);% }1 U& \" Z1 z. |4 K% g) A/ S
- V6 Y$ h& B7 K' V& y) s: q' T
//Grab the current size of the object; h1 |% x6 M, D3 n$ `0 G  ~
double x = xsize(involved);
) G, q! l% D0 p8 L  V5 H1 vdouble y = ysize(involved);' a% `/ w4 r9 L- Z/ R1 y
double z = zsize(involved);1 ^$ c- m, k; B, k
6 Y$ i  V. V. {. b
setname(shape(involved),"_shape");0 B2 j* b* c/ `; [" m' |! ?$ d
setobjectshapeindex(involved,theindex);5 \- e! u3 A, J; H" w& Q
, x5 ^+ S, `3 N/ ]9 s1 Q
//Update the object to the original size
. _1 h* H! i- x" sapplyshapefactors(involved);
8 T% I9 l% f7 a  [9 U9 c5 F  esetsize(involved, x, y, z);+ n/ O( f1 `$ k6 l' V1 H6 n; B
/** \nNote: The getshapeindex command is slow if it is called frequently. 4 |9 ^: C; L, a0 H/ N3 X$ h
It is better to define the shape index in a global variable that gets set   v2 d7 L1 \) G6 U: D% c7 c/ k$ N3 Y
during reset. You can then replace getshapeindex with the name of your global variable.
9 O* W1 e' R1 j3 Q. T' j4 G( j' L$ ]Index values for 3D shapes can be found through the Tools>Media Files menu,
* j( Z: m1 f+ lbut keep in mind that index values can change when new media is loaded.*/! Y; E+ J4 f1 R9 d5 _* ?
} //******* PickOption End *******\\
' e- I3 o# l( f+ m4 |( _7 T8 u
9#
Stevenzheng 发表于 2019-1-26 13:25:51 | 只看该作者
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑 / j: `- t9 C& q+ e: O5 n' Y. X
Stevenzheng 发表于 2019-1-26 13:23
6 e+ m4 K) U6 ^" f3 B! c( ]7 p里面代码是这样的:
( m  g' N" n* h1 L; }treenode item = parnode(1);& L- A5 I2 P. @0 M# T
treenode current = ownerobject(c);

* P. h0 ]& P' ]' j5 k. m那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
10#
王奕 发表于 2019-1-27 10:43:13 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:25# Z; s/ P- Q& ~( m( D
那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...

+ ~/ I% t9 [6 r1 W. g感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。" p# @2 @! [1 z* u. i
又试了几次,还是不行,只能改用别的方法来标识了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-28 06:00 , Processed in 0.083130 second(s), 24 queries .

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

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