全球FlexSim系统仿真中文论坛

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

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

[复制链接]
匿名
跳转到指定楼层
1#
匿名  发表于 2019-1-25 17:10:23 回帖奖励 |倒序浏览 |阅读模式
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。) T0 J3 R1 X) h
系统的默认程序(已将item改成了current):2 i$ G, C% _5 v/ O7 B: Q! f
treenode item = parnode(1);
) c: r) S* F5 W! A2 v& d" B: r- itreenode current = ownerobject(c);( W7 {# I, L- ^1 S; Q4 A
int port = parval(2);: _, t" K* V) u( F# U  p8 l: ?. t# |; r& ~
{ //************* PickOption Start *************\\6 O1 I; V" }, y6 l6 s8 J' h
/***popup:Change3DShape*/
/ ^# ~" t8 K* V2 S6 p$ r- M' b/**Change 3D Shape*/4 |0 {. \3 S" K9 l$ B/ \% T% Z9 f  Q
/** \nObject: */
; i. p/ F+ I1 wtreenode involved = /***tag:node*//**/current/**/;. L6 @9 @0 {/ }/ G+ H
/** \nShape Index Number: */
9 w4 Z7 L( E3 ?% m/ t; Z7 q% xdouble theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;+ v" G* J" h# {/ O9 |  {+ X
. `! j+ p% m, |* ^9 R$ g- ?
setname(shape(involved),"_shape");8 U  m  ]7 s( ?7 B
setobjectshapeindex(involved,theindex);
1 f2 Q6 g' Z, H/**\n*/
) E" g- r% h- \1 Q. @& f/ P! a} //******* PickOption End *******\\
. m* W  ]* R4 Q! K& L. G
+ ]& U& d5 _# z2 V( g其中,
8 Z3 }2 n1 X6 \* z5 H- T' ofs3d\\General\\Box.3ds9 j5 M; Q# ~, q/ c* E4 k- |# ]
我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?
) A* @* j/ W, m" I2 k) s7 x请问正确的操作是怎样的呢?谢谢!
2 w# h& j; j2 Q- n
* x3 ?1 t" r! A! |( I1 X& m
2#
SunshineFu 发表于 2019-1-25 20:13:21 | 只看该作者
不清楚具体情况,可以上传模型吗?
3#
王奕 发表于 2019-1-25 20:42:31 | 只看该作者
你好,请查看附件,
1 M6 z. ^! Q- w- ~% N! T* b) R里面包含了两个SKP模型和一个FLEXSIM6版本的模型。/ V+ y: t4 j1 V7 ~4 i( n
FLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。
9 o! A, i# C+ E$ e6 A% F谢谢!

本帖子中包含更多资源

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

x
5#
Stevenzheng 发表于 2019-1-26 09:23:02 | 只看该作者
我式了可以呐,只是在Shap下拉框中选的.4 ]6 K, s9 B- K
; g1 K8 J. B) C$ d8 I

本帖子中包含更多资源

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

x
6#
王奕 发表于 2019-1-26 09:51:05 | 只看该作者
我用的是flexsim6版本的,一直没有试出来
7#
Stevenzheng 发表于 2019-1-26 13:15:35 | 只看该作者
王奕 发表于 2019-1-25 23:11
" |9 ~' K+ v) n' `7 c# _9 R( n, {# b问题如图

. h, L9 @/ Y6 W7 U! ~, F- u我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
8#
Stevenzheng 发表于 2019-1-26 13:23:06 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:15
: q7 m  v, n4 h: U% m# A( b我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...

' [5 b7 ?2 [, {8 b里面代码是这样的:
* G- e) }2 `, h- W, i5 i# c5 itreenode item = parnode(1);* w9 S7 z$ b$ g$ [% G) }9 U
treenode current = ownerobject(c);2 T) J9 S& z/ b
{ //************* PickOption Start *************\\& d! t* T5 I! f2 [6 Y, c
/***popup:Change3DShape*/
& M* j% P3 ]! Z( w! f9 ]2 v( z/**Change 3D Shape*/
0 r: k  K6 q* p2 Y1 _7 Utreenode involved = /** \nObject: *//***tagbject*//**/current/**/;( B  L) J. ?* K
string shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;8 z1 u0 ?2 ]9 X# `9 G" m2 p

5 \! d' d: e3 fdouble theindex = getshapeindex(shapename);
% S7 T$ \+ e: V2 y/ w' x8 f' v) |* K. s, h; u! |
//Grab the current size of the object
4 [1 R: ?) v! p4 ]% |double x = xsize(involved);0 o( e$ [1 N. B! a' z% ]- w
double y = ysize(involved);8 o. y. ?$ Z8 k" a+ r6 J7 n) t4 Z8 Q& ?/ B
double z = zsize(involved);0 P/ V( z8 w+ U0 m6 A. A2 ~7 ^
, J% S$ N! o1 F9 z  _& S/ _
setname(shape(involved),"_shape");, Q0 M4 n/ j6 O9 ^. |
setobjectshapeindex(involved,theindex);7 L- y/ j7 v# t5 F; X8 U! j; p3 J$ w

' p7 @3 L0 V' b# q//Update the object to the original size' d6 `9 y  S/ d. b% s2 e8 s, O9 `
applyshapefactors(involved);
7 s2 t# d4 g* G7 `setsize(involved, x, y, z);% c6 P1 [. Z* H
/** \nNote: The getshapeindex command is slow if it is called frequently. ( m9 t3 Z: P) u, a8 H
It is better to define the shape index in a global variable that gets set ; M! O$ u8 z, ?
during reset. You can then replace getshapeindex with the name of your global variable.
+ x8 d5 h- H( K- D" P% v# V- P5 I; ]Index values for 3D shapes can be found through the Tools>Media Files menu,# }' {  d) k& H/ M
but keep in mind that index values can change when new media is loaded.*/
) x3 [" F7 x' C' x# {} //******* PickOption End *******\\3 m# a- \7 R0 |4 V. L4 z
9#
Stevenzheng 发表于 2019-1-26 13:25:51 | 只看该作者
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑
$ k) G) w5 Y: i1 D6 U
Stevenzheng 发表于 2019-1-26 13:23
) g4 [2 `: s! e* n! a* h: U里面代码是这样的:/ g% k0 d, |/ x# `* |+ e' [. k: D# _
treenode item = parnode(1);
2 B% ^. H* U" `, z6 j/ _( ?" Ktreenode current = ownerobject(c);

. \5 z0 D0 o, l! J1 k/ W/ \- @那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
10#
王奕 发表于 2019-1-27 10:43:13 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:25
5 D/ t/ H( H9 a/ {那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...
1 O- h- `8 J% m" {
感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。8 M: [- Y0 a+ a
又试了几次,还是不行,只能改用别的方法来标识了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

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