全球FlexSim系统仿真中文论坛

标题: 请问如何如何根据生产状态(比如开机或停机)改变实体(比如处理器).... [打印本页]

作者: 匿名    时间: 2019-1-25 17:10
标题: 请问如何如何根据生产状态(比如开机或停机)改变实体(比如处理器)....
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。9 o+ {2 S+ U7 u9 e& ]0 ?
系统的默认程序(已将item改成了current):
% q$ q* y4 k" \8 e* |+ V' etreenode item = parnode(1);
# c" @: }4 o) D+ e, J% k5 l: Jtreenode current = ownerobject(c);
" o* }. m- R8 }5 e; [int port = parval(2);6 t% X# P9 e7 \, V) `
{ //************* PickOption Start *************\\
& b* U9 d+ K+ j9 [& l" @/ z* g, T/***popup:Change3DShape*/
" P% ?/ |" I- |7 i/**Change 3D Shape*/
7 Q+ V: b- [' w# ]. W/ s3 |/ P8 Q" y) v/** \nObject: */; `( a, [" F$ W% n, h4 G4 R
treenode involved = /***tag:node*//**/current/**/;
; T; Q5 C* `( Q( n5 V" X' y7 K/** \nShape Index Number: */! @8 `& H! @# W# s
double theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;
5 g: y* e3 C% r3 C) P* j5 ~) e* M4 t7 s" w+ z* L; K% S7 }) `
setname(shape(involved),"_shape");  d7 E5 d' h0 G4 V& K
setobjectshapeindex(involved,theindex);7 ?- u( F  C! d7 f) V* U* ]3 q
/**\n*/, }( [1 }. R) G
} //******* PickOption End *******\\
3 Y8 q6 O: g/ h4 Y% s7 {2 O$ ^: p. {# X! ]7 K
其中,7 m: b( g! J2 o; H" }5 H$ m
fs3d\\General\\Box.3ds' N+ K- E( y: n& ~, A7 r6 O
我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?2 ^* L. ?8 Z# ]
请问正确的操作是怎样的呢?谢谢!
% \! _: g: V2 @$ B. F- l  S  K7 d' `+ F3 E% c5 @6 z8 A

作者: SunshineFu    时间: 2019-1-25 20:13
不清楚具体情况,可以上传模型吗?
作者: 王奕    时间: 2019-1-25 20:42
你好,请查看附件,7 s0 W) E' m. n# p- |
里面包含了两个SKP模型和一个FLEXSIM6版本的模型。  A6 z* b+ C; K$ Z9 ?( ]; ]
FLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。( h6 O4 a3 J$ |
谢谢!
作者: 王奕    时间: 2019-1-25 23:11
本帖最后由 王奕 于 2019-1-25 23:17 编辑 ' ^% j; F. \7 ^& K3 t7 P$ U: R

3 }1 L# G' s3 F- q' Q问题如图
作者: Stevenzheng    时间: 2019-1-26 09:23
我式了可以呐,只是在Shap下拉框中选的.3 l2 ~& ?5 H3 D7 F3 ~8 }
8 F$ v- u! @2 z$ K3 q+ m- A

作者: 王奕    时间: 2019-1-26 09:51
我用的是flexsim6版本的,一直没有试出来
作者: Stevenzheng    时间: 2019-1-26 13:15
王奕 发表于 2019-1-25 23:11
! L- _+ [4 G# o5 S% c( m! l问题如图

' F0 s. f  e' F3 p) A6 k2 S% G我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
作者: Stevenzheng    时间: 2019-1-26 13:23
Stevenzheng 发表于 2019-1-26 13:15, J; {. G" ~! R. `2 j9 D2 M
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...
$ c( K$ W% v, s" C' ^
里面代码是这样的:: b$ h# n+ u( X9 E) W, r1 I
treenode item = parnode(1);8 j* {& j) @3 x
treenode current = ownerobject(c);
% J' m; P$ i  \$ o% |: i/ F- M{ //************* PickOption Start *************\\
8 L# I# J( X) t) w" v/***popup:Change3DShape*/7 A+ `; `( W+ |  p& U! W4 t; L  w
/**Change 3D Shape*/
7 C6 s& C; R; Utreenode involved = /** \nObject: *//***tagbject*//**/current/**/;
6 B+ k/ t3 B  z% x6 lstring shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;2 {' R0 N4 t' [; ~
3 w# g( x$ H2 {5 `/ z' K
double theindex = getshapeindex(shapename);1 \7 J7 U: C5 ?% |6 P' \
2 @6 A1 g8 u& b  \# B" O
//Grab the current size of the object
3 H% d9 i8 }5 E- Z' z  Xdouble x = xsize(involved);6 ]  U# k6 s" Y
double y = ysize(involved);' }/ ^. b- }7 k, L# B6 r- q
double z = zsize(involved);* L+ I3 O+ {* ?. s

8 y4 ?% \" M# H/ M0 r4 asetname(shape(involved),"_shape");
/ P2 W/ e4 I6 M1 a* D! esetobjectshapeindex(involved,theindex);
7 n7 l! E7 u0 E6 k
/ A/ C& B5 e3 {: h# j- l# L5 \! K//Update the object to the original size
" j+ a- @( D# _, {applyshapefactors(involved);
. `8 C3 ~" w* B" y; bsetsize(involved, x, y, z);
1 h$ \1 ~! h' P' g4 ?9 \/** \nNote: The getshapeindex command is slow if it is called frequently. 4 W( {! l# d* l- k$ x; z) @. q7 c: f
It is better to define the shape index in a global variable that gets set 3 P1 A% W& K0 t/ w
during reset. You can then replace getshapeindex with the name of your global variable.
4 M; ?. ^: g' L5 q/ {" FIndex values for 3D shapes can be found through the Tools>Media Files menu,( N* T: u: B/ Z7 J" Q1 g' Y1 H1 R% V
but keep in mind that index values can change when new media is loaded.*/
, C' E. T; q" W) n0 G} //******* PickOption End *******\\5 s0 ]6 n( q5 {1 v& i* N

作者: Stevenzheng    时间: 2019-1-26 13:25
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑
  K( c2 Y2 F$ h' r2 w' m
Stevenzheng 发表于 2019-1-26 13:23- ^9 n$ y( K, `2 a/ c
里面代码是这样的:
  B8 q' C8 F% f9 S( T8 F' mtreenode item = parnode(1);
7 s4 G/ I: {) E1 Ctreenode current = ownerobject(c);
% E  Z- z* n; D* @9 v# V3 {( b
那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
作者: 王奕    时间: 2019-1-27 10:43
Stevenzheng 发表于 2019-1-26 13:256 X/ S) B: x: A/ ~, v0 j( j# d
那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...

$ P4 N" ~( q3 l0 Z2 o  z感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。
/ k7 |& M: j6 O8 z  O/ M又试了几次,还是不行,只能改用别的方法来标识了。




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3