全球FlexSim系统仿真中文论坛

搜索
查看: 3357|回复: 9

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

[复制链接]
匿名
匿名  发表于 2019-1-25 17:10:23 |阅读模式
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。1 J2 `; u/ e9 O3 D7 W) q9 a& ?8 N
系统的默认程序(已将item改成了current):
0 K0 W$ E  u) ^1 x1 K7 O3 itreenode item = parnode(1);+ N2 l# P5 B( E2 L: Z  N
treenode current = ownerobject(c);& p/ Q, S; ?& E6 G: n
int port = parval(2);4 L) y! o3 Q, Y
{ //************* PickOption Start *************\\) A" m, \7 ~4 T8 o# V
/***popup:Change3DShape*/; ]) Y3 B7 K$ t# _7 `/ `1 \
/**Change 3D Shape*/; m: _' z) f# W$ e+ \8 P$ e
/** \nObject: */5 O, m6 j" k- }# ~! ?- h
treenode involved = /***tag:node*//**/current/**/;1 m4 K. B- A' |! ~) t& r8 K5 T
/** \nShape Index Number: */
# X5 B! j/ ~& P+ X! Rdouble theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;" Z+ [1 B4 W. j5 v' ^1 a
6 M& W8 Y6 p  \% j: z: w+ w
setname(shape(involved),"_shape");
6 L0 Z8 I: e% W; k3 dsetobjectshapeindex(involved,theindex);
( {- I, t6 y. h0 o3 g, f, q/**\n*/8 |% w/ ?: H& x, w" i/ Q6 w
} //******* PickOption End *******\\4 n  e8 l7 e" B6 d: n& k6 }) R
9 f" g! J/ R5 i3 V% d2 d
其中,
7 l# n: E& o2 C$ V1 ~7 Qfs3d\\General\\Box.3ds9 f  s9 o' _+ I7 u+ r9 |6 k* q9 R
我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?
5 }$ |) x4 S, }# z3 v2 A请问正确的操作是怎样的呢?谢谢!6 r+ @# s; S9 A/ L
5 f% B0 j- E, }/ c  Q2 T
SunshineFu 发表于 2019-1-25 20:13:21 | 显示全部楼层
不清楚具体情况,可以上传模型吗?
王奕 发表于 2019-1-25 20:42:31 | 显示全部楼层
你好,请查看附件,
& s. p0 q- v1 K) b0 `里面包含了两个SKP模型和一个FLEXSIM6版本的模型。
4 E" @' _6 i, P( xFLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。
% |, |0 e( V# a谢谢!

本帖子中包含更多资源

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

x
Stevenzheng 发表于 2019-1-26 09:23:02 | 显示全部楼层
我式了可以呐,只是在Shap下拉框中选的.
" {( l  a: m% Y; i
5 ~% R4 Q# M: y# _

本帖子中包含更多资源

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

x
王奕 发表于 2019-1-26 09:51:05 | 显示全部楼层
我用的是flexsim6版本的,一直没有试出来
Stevenzheng 发表于 2019-1-26 13:15:35 | 显示全部楼层
王奕 发表于 2019-1-25 23:11
4 A7 E+ T7 ~' s, A问题如图
6 p, V' s8 l+ h& N. F4 o3 G& D
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
Stevenzheng 发表于 2019-1-26 13:23:06 | 显示全部楼层
Stevenzheng 发表于 2019-1-26 13:15
( B! J# }' u0 L( ^7 v$ W, Y) _我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...
4 d3 k( b+ J+ x! u9 [1 |  \! b
里面代码是这样的:0 B4 B1 v+ n6 B& f
treenode item = parnode(1);5 d! g! K& l5 I9 x) f7 P- _
treenode current = ownerobject(c);
, Z, N# @* L$ }9 N) |' b; L{ //************* PickOption Start *************\\2 f8 R5 a* {" B" y4 a
/***popup:Change3DShape*/
' A3 Y& ]3 \$ r5 I/**Change 3D Shape*/
' ]6 b/ C- b$ [2 p1 Z( ?# w, Ytreenode involved = /** \nObject: *//***tagbject*//**/current/**/;% \$ v' b. u8 M) f  ?
string shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;6 S3 M: E+ {0 _0 d4 S
0 T- g; A3 n0 Z' c+ S2 B" p2 w
double theindex = getshapeindex(shapename);
' p+ ?/ k$ U5 x3 x2 A" t% d
% U. V6 D! e6 @# Z//Grab the current size of the object4 f: S9 ?  @& r/ w( ?- d
double x = xsize(involved);
2 b, h9 _% r+ g2 i. X' F5 gdouble y = ysize(involved);
# x, y# C- K7 @' Pdouble z = zsize(involved);
( A. c- D& O* ^% i+ l, q6 r
/ I2 X) K6 W7 x% N2 X1 b, D% ~' Vsetname(shape(involved),"_shape");1 M. s; `  }) U+ E/ E' U
setobjectshapeindex(involved,theindex);
( _  A5 Y/ w& j  ]# n: e$ D& H7 A1 A( a; L
//Update the object to the original size; P9 L: t5 ~! X- W( g8 F- z1 Z
applyshapefactors(involved);+ {) {6 e/ B  A6 k
setsize(involved, x, y, z);
4 J- I, N$ f" [7 C7 v% C, n/** \nNote: The getshapeindex command is slow if it is called frequently.
4 [$ r* l, W& _( zIt is better to define the shape index in a global variable that gets set
( d  ~' i3 v+ d3 p9 tduring reset. You can then replace getshapeindex with the name of your global variable.2 m" B+ y9 ~# H- y9 C
Index values for 3D shapes can be found through the Tools>Media Files menu,! ^! l6 A$ T6 m+ X$ S* B4 F, H6 h
but keep in mind that index values can change when new media is loaded.*/
( j1 `8 b  P8 @, R} //******* PickOption End *******\\
- N7 i- v/ P$ ]1 ~8 ~
Stevenzheng 发表于 2019-1-26 13:25:51 | 显示全部楼层
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑
. ^7 P4 J" V" {. N+ J- B
Stevenzheng 发表于 2019-1-26 13:23: O( O  S- h; F( O' R, l
里面代码是这样的:" p) V& i8 X/ r6 p7 x' [9 K. @
treenode item = parnode(1);) j+ D* r7 P9 \
treenode current = ownerobject(c);
# E7 v# y: m; J  ?+ z# u
那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
王奕 发表于 2019-1-27 10:43:13 | 显示全部楼层
Stevenzheng 发表于 2019-1-26 13:25
2 b: x7 l' w5 {# k2 K) a2 d那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...
  ?9 r/ k9 Z( L0 i
感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。3 y9 F9 l/ L8 W( e: }
又试了几次,还是不行,只能改用别的方法来标识了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-3-28 21:00 , Processed in 0.085401 second(s), 26 queries .

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

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