全球FlexSim系统仿真中文论坛

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

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

[复制链接]
匿名
跳转到指定楼层
1#
匿名  发表于 2019-1-25 17:10:23 回帖奖励 |倒序浏览 |阅读模式
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。
/ Q1 j" Q, g: Y' ~系统的默认程序(已将item改成了current):
2 T- r' V7 L& u) q8 {8 }treenode item = parnode(1);
& d. Y/ c$ @1 J4 x& @. [treenode current = ownerobject(c);
' V& M5 {7 B; c4 ^int port = parval(2);' Q9 ?/ G, q9 i9 ]) Z
{ //************* PickOption Start *************\\! ?( |! O1 k" k9 y: d7 m7 |+ {
/***popup:Change3DShape*// k& Y6 a) z6 D
/**Change 3D Shape*/
4 M8 Q# W# C) Q! \9 n" X5 k7 a/** \nObject: */8 R7 {/ W& x' }% x2 u
treenode involved = /***tag:node*//**/current/**/;
. d, q+ n6 N% |& t3 x/** \nShape Index Number: */
3 l5 ?5 a+ t/ v" m9 I" Y$ Kdouble theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;
/ F! ~) k, C/ I8 r$ d
& e8 j! M, K6 @. s2 {; nsetname(shape(involved),"_shape");
- g( P% l4 I3 N) \1 k* S) Osetobjectshapeindex(involved,theindex);" I) C: k) J* A# N. _1 m; s8 M8 v
/**\n*/
4 |6 h: v" v4 ]0 O* [5 L0 ~# J( x} //******* PickOption End *******\\4 _* b# A3 C7 V- s
1 t( u1 I( r2 D  L# W& X" l$ m% Q1 s
其中,
/ Q3 z: x  A- gfs3d\\General\\Box.3ds- R* {5 \  J( w2 n+ P4 K* O7 `
我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?
9 U/ p1 q- E! l7 c9 R& n请问正确的操作是怎样的呢?谢谢!: d6 H6 W6 |7 G+ H( W
  A, v  E7 X( m
2#
SunshineFu 发表于 2019-1-25 20:13:21 | 只看该作者
不清楚具体情况,可以上传模型吗?
3#
王奕 发表于 2019-1-25 20:42:31 | 只看该作者
你好,请查看附件,& X( n& Y2 I9 u7 E  Y) ^
里面包含了两个SKP模型和一个FLEXSIM6版本的模型。+ n+ A: T' q6 d& s
FLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。
. W3 ]% _1 J! _; A( C& j谢谢!

本帖子中包含更多资源

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

x
5#
Stevenzheng 发表于 2019-1-26 09:23:02 | 只看该作者
我式了可以呐,只是在Shap下拉框中选的.
) a  R6 S- O% }3 c1 T; P2 o8 t! D0 Y4 `& O- e1 H

本帖子中包含更多资源

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

x
6#
王奕 发表于 2019-1-26 09:51:05 | 只看该作者
我用的是flexsim6版本的,一直没有试出来
7#
Stevenzheng 发表于 2019-1-26 13:15:35 | 只看该作者
王奕 发表于 2019-1-25 23:11
# M' h1 q* I; m' u( m+ t( U, `; @问题如图
1 G/ X" Y% J0 W3 z  Q- o' @
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
8#
Stevenzheng 发表于 2019-1-26 13:23:06 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:15
/ }- m8 A9 E! e7 m8 \" K8 j我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...

& j  K9 I0 R8 ~% m! i$ h里面代码是这样的:1 C9 w0 \6 `: o& Z
treenode item = parnode(1);! o( P0 U+ ?: k) m
treenode current = ownerobject(c);
. e5 L# J$ Z+ q6 U* _, q{ //************* PickOption Start *************\\5 f! ]2 n% J5 g9 O3 h" v
/***popup:Change3DShape*/+ ]4 O9 t3 ~& D# k: s  ~
/**Change 3D Shape*/
! M! g# `2 N& J' {treenode involved = /** \nObject: *//***tagbject*//**/current/**/;) L3 ]: F6 ~' _& g) ]
string shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;+ S4 W6 k3 U/ W3 h& J& j8 K

; Q$ u3 O$ Y9 R$ Gdouble theindex = getshapeindex(shapename);, j: g+ K& ~, r
) x" _3 d2 N5 Z( s8 w7 K0 x
//Grab the current size of the object
$ }* c4 Y; _& o% j9 p1 C# sdouble x = xsize(involved);
: [; L4 d1 T; L5 N! V* |6 g( cdouble y = ysize(involved);" P# z6 V/ \" `+ b- |, ^
double z = zsize(involved);8 Z. h; B1 J' I* u4 ~8 t' v& a/ o

: n2 T6 Z3 H! M3 Lsetname(shape(involved),"_shape");0 g  `  N, F6 U0 Q0 q
setobjectshapeindex(involved,theindex);
% H8 ]8 J! S4 M9 ]! w, e+ w2 a6 |' x- k' v. a6 D9 N1 C
//Update the object to the original size
' M! c5 \" g* oapplyshapefactors(involved);
: H" ?) ?2 v& n: h; y: @setsize(involved, x, y, z);9 a) ~' G' B8 a' G" U* h# Y, D) h( N
/** \nNote: The getshapeindex command is slow if it is called frequently.
; q# [8 d& d: i  [( s0 K6 J/ OIt is better to define the shape index in a global variable that gets set 2 u: b0 ]6 r2 W/ Z3 m
during reset. You can then replace getshapeindex with the name of your global variable.
+ a; M2 S3 @$ e0 iIndex values for 3D shapes can be found through the Tools>Media Files menu,6 f: s% P( k: x0 K% {9 j4 g% N& @
but keep in mind that index values can change when new media is loaded.*/
, S8 M5 |0 a4 F} //******* PickOption End *******\\, K' _: B3 m  h  p+ |" l
9#
Stevenzheng 发表于 2019-1-26 13:25:51 | 只看该作者
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑
: B, F- z" ?$ J$ G0 y; e- H; A/ }
Stevenzheng 发表于 2019-1-26 13:236 r/ Z8 `. e& A  u# G
里面代码是这样的:
: [, P8 {, \& @7 Utreenode item = parnode(1);
" U& {3 y# h! H# t/ Htreenode current = ownerobject(c);
6 [1 o+ L4 c/ d8 e
那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
10#
王奕 发表于 2019-1-27 10:43:13 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:25; J% E/ Y' @8 C  p
那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...
# |6 E- n6 H- F$ P
感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。8 O) T9 K  Z$ t% \; S, ]
又试了几次,还是不行,只能改用别的方法来标识了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-6 12:55 , Processed in 0.086809 second(s), 14 queries .

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

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