全球FlexSim系统仿真中文论坛

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

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

[复制链接]
匿名
跳转到指定楼层
1#
匿名  发表于 2019-1-25 17:10:23 回帖奖励 |倒序浏览 |阅读模式
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。
$ `0 j2 v0 h, P3 s+ M5 o系统的默认程序(已将item改成了current):
& p% r: ?) [: D& @treenode item = parnode(1);
# t) l, O8 N8 k$ x' T5 y' ]treenode current = ownerobject(c);
  h  r7 M# J& E5 \int port = parval(2);+ a$ p1 ~! i- l3 W; t5 _
{ //************* PickOption Start *************\\4 h, M; Q& d9 S
/***popup:Change3DShape*/8 x4 i' z# [/ u8 ~3 _  ]
/**Change 3D Shape*/
* g& a% p. y$ Q3 j7 V5 D: b4 F9 k/** \nObject: */4 `) U+ M: S/ `& i1 t1 f& v
treenode involved = /***tag:node*//**/current/**/;
6 m1 Q& E7 ~0 F( R% k$ L/** \nShape Index Number: */  y' @+ r9 ]& w: d, p- Z+ P
double theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;
: {: F( w7 [! I3 \) S& r
+ {- \% p& A6 w- Q8 g; t$ b4 ?1 jsetname(shape(involved),"_shape");- ~8 S, C' ?) J, q6 M3 g
setobjectshapeindex(involved,theindex);; ^: z/ E& j4 f+ `* ~0 h2 M: c
/**\n*/$ q% y7 G; v+ O8 D! x* _8 U
} //******* PickOption End *******\\; L- V* X' T# Y* g3 g/ ]* y
! `- a- E8 l8 g# c; g
其中,* w0 X1 e* Y0 Q
fs3d\\General\\Box.3ds
3 n9 D+ S% A7 s8 z8 y% E+ @我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?% ]5 a) q& P1 Q# G/ M. S
请问正确的操作是怎样的呢?谢谢!
9 a& k. |" [  P) \6 H" I+ U6 I* q; p( ]' d$ ~; n
2#
SunshineFu 发表于 2019-1-25 20:13:21 | 只看该作者
不清楚具体情况,可以上传模型吗?
3#
王奕 发表于 2019-1-25 20:42:31 | 只看该作者
你好,请查看附件,  a# [7 T2 G2 {' c! Q' M/ w
里面包含了两个SKP模型和一个FLEXSIM6版本的模型。
% L5 C5 a: m: b. j6 dFLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。
- T7 W; a% _! \谢谢!

本帖子中包含更多资源

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

x
5#
Stevenzheng 发表于 2019-1-26 09:23:02 | 只看该作者
我式了可以呐,只是在Shap下拉框中选的.
: @" C; P6 _& X' P4 Y
' m, c3 v" U$ U6 \

本帖子中包含更多资源

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

x
6#
王奕 发表于 2019-1-26 09:51:05 | 只看该作者
我用的是flexsim6版本的,一直没有试出来
7#
Stevenzheng 发表于 2019-1-26 13:15:35 | 只看该作者
王奕 发表于 2019-1-25 23:11
" v* `6 c% C$ i0 {1 x问题如图
3 m5 g! r' U7 W' I! O
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
8#
Stevenzheng 发表于 2019-1-26 13:23:06 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:15
# Z- X0 I  n' u# h8 m! B我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...

7 Z8 ~$ |8 \5 q  R- U' k6 w里面代码是这样的:  x% W+ ~  o1 @' i* u
treenode item = parnode(1);
5 D% y+ {& J0 [5 y, ftreenode current = ownerobject(c);* X) Z  Q# b: g7 z. k% w" G
{ //************* PickOption Start *************\\
  s& H; [+ O: Z' k3 x/***popup:Change3DShape*/
1 t; A8 b/ ^( z: d6 L( E" {2 L, j' N/**Change 3D Shape*/
2 I( r0 v, g! ^* U. t. ytreenode involved = /** \nObject: *//***tagbject*//**/current/**/;
: r( D, _) O; a/ U8 A$ i" \- J) ~string shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;0 l' \! ^9 H, H: m: k& f2 [" }

1 p  B/ `& P4 ~. fdouble theindex = getshapeindex(shapename);
$ Q) k. K* S' z( [- b; W+ W
1 ?! Z; e8 I8 H; V//Grab the current size of the object
9 b, `, e) ]+ X, a* w- qdouble x = xsize(involved);+ w6 P- L. n. m0 K( G
double y = ysize(involved);% a+ l) r8 b0 n# ]: g. [' Y
double z = zsize(involved);
/ w3 K3 t7 a* H6 a! y
' ?  I" I% ~# x# \7 J, S& m2 C) N7 g3 ksetname(shape(involved),"_shape");* n. L6 {0 E7 s3 \
setobjectshapeindex(involved,theindex);  D) d2 y# A! V( T! h2 u; n* S

4 Z4 \2 M( w3 w% e" i. G//Update the object to the original size, J, I* t3 H. M# K1 \/ c
applyshapefactors(involved);
* |8 F! b' l% M, n8 P( R5 Q& C, Xsetsize(involved, x, y, z);
2 ]# O4 H; G: v4 X4 @! g# Q1 D/** \nNote: The getshapeindex command is slow if it is called frequently. 1 D5 l' u4 B3 u. w+ A
It is better to define the shape index in a global variable that gets set 6 B, Q% Q3 ]. t, F
during reset. You can then replace getshapeindex with the name of your global variable.; W- o% i6 T, K
Index values for 3D shapes can be found through the Tools>Media Files menu,/ G, X7 @0 c# K) n$ o5 f1 D
but keep in mind that index values can change when new media is loaded.*/
# S) c0 Z8 R: o; c} //******* PickOption End *******\\
7 k2 q6 b0 X- s4 D! M
9#
Stevenzheng 发表于 2019-1-26 13:25:51 | 只看该作者
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑 4 P; d- c1 c6 G- r* H3 T
Stevenzheng 发表于 2019-1-26 13:23
0 I! L& V. V3 l$ j里面代码是这样的:* J9 W! q$ X  \9 K4 w5 E
treenode item = parnode(1);
$ |  z. Z0 I" t( c/ m% @$ dtreenode current = ownerobject(c);
3 {6 |3 a/ U! L7 O) U- r) s+ ]
那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
10#
王奕 发表于 2019-1-27 10:43:13 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:25
. H  B; D! S" S5 f2 J# c那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...

5 U9 K# u; D- t' Y3 _( u! b感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。% l3 ], q/ ]# j6 K
又试了几次,还是不行,只能改用别的方法来标识了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-28 08:49 , Processed in 0.092197 second(s), 14 queries .

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

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