全球FlexSim系统仿真中文论坛

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

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

[复制链接]
匿名
跳转到指定楼层
1#
匿名  发表于 2019-1-25 17:10:23 回帖奖励 |倒序浏览 |阅读模式
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。8 }) ]6 x; [7 @+ N0 e6 `
系统的默认程序(已将item改成了current):
& E  a! R* e) E2 g7 F5 c8 [6 V1 qtreenode item = parnode(1);5 c" `. w# s. q$ j3 i& o
treenode current = ownerobject(c);
* |2 L0 r" V/ ~) g) w7 ]int port = parval(2);0 L9 ~" h2 b# c" j- V9 D
{ //************* PickOption Start *************\\7 G0 b  J7 o# F/ ?0 p0 Z
/***popup:Change3DShape*/
0 F" X, m, o5 ]  q5 e* h) L/**Change 3D Shape*/& ^' t( S8 v- U$ P
/** \nObject: */
7 ^8 m; D' x3 j6 e3 A- Atreenode involved = /***tag:node*//**/current/**/;3 y' v3 i% t" ]/ U" |" @
/** \nShape Index Number: */; E! y/ [0 R7 }4 A+ w+ w
double theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;3 w( J$ J, A  G% L0 P4 B

6 e; e* K1 u' b7 }! ^; asetname(shape(involved),"_shape");
- W6 ~1 N! t5 asetobjectshapeindex(involved,theindex);
3 V# J9 F6 L" m. o& w* s/**\n*/3 N( R* V. |% O; H  w$ s" X" D
} //******* PickOption End *******\\$ U) x4 g  e( z% D" P2 W3 n
3 x* @7 u& f* u' a* P; @& ~, V
其中,8 y# Y9 H( f6 C2 U9 @9 a% K
fs3d\\General\\Box.3ds
- i5 `* Y- |! Y# L  J% h# |我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?* o0 L3 R2 T6 x, c. a5 \
请问正确的操作是怎样的呢?谢谢!
# e) Q: R! V1 j) o, F0 p
" B* R* ?- ?. [- Q; |# c4 ?6 M
2#
SunshineFu 发表于 2019-1-25 20:13:21 | 只看该作者
不清楚具体情况,可以上传模型吗?
3#
王奕 发表于 2019-1-25 20:42:31 | 只看该作者
你好,请查看附件,
/ Z; R6 z4 _1 U里面包含了两个SKP模型和一个FLEXSIM6版本的模型。! v- I. K  Y+ J$ D
FLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。6 Q' k/ n3 P9 y8 p, L& P2 B" B
谢谢!

本帖子中包含更多资源

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

x
5#
Stevenzheng 发表于 2019-1-26 09:23:02 | 只看该作者
我式了可以呐,只是在Shap下拉框中选的.
8 _2 \9 Q* N( u0 ]) G7 @' T1 h
! Q+ u" ]2 t; W5 ]0 R% A2 K( Q$ \

本帖子中包含更多资源

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

x
6#
王奕 发表于 2019-1-26 09:51:05 | 只看该作者
我用的是flexsim6版本的,一直没有试出来
7#
Stevenzheng 发表于 2019-1-26 13:15:35 | 只看该作者
王奕 发表于 2019-1-25 23:11% j% O+ }2 |' w& v0 {; k1 q
问题如图
7 c& _' |( \* o7 P
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
8#
Stevenzheng 发表于 2019-1-26 13:23:06 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:15
6 V- m+ j% M- \8 p: p" _我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...
7 y" e! D5 F9 g) g& K
里面代码是这样的:. `# q1 d1 {9 R0 W! k+ n; V  d
treenode item = parnode(1);* K/ u2 ^2 F2 J2 x" ]! y. v
treenode current = ownerobject(c);9 q, E3 C+ x) V$ Z0 p
{ //************* PickOption Start *************\\
- a3 |1 E2 l# d! ?' X/***popup:Change3DShape*/: V% s. F2 s2 L6 q4 n
/**Change 3D Shape*/1 `6 U( o2 Y* b4 m0 z8 E
treenode involved = /** \nObject: *//***tagbject*//**/current/**/;
, T) T2 `: a* z# G. p4 Hstring shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;0 ?) R3 \" e; e5 n/ h

# W7 V% _/ z% z3 tdouble theindex = getshapeindex(shapename);
8 O7 J& H/ R$ a  p) W) O9 T
% d( e7 E+ Z9 ^* n/ S//Grab the current size of the object: W1 C+ D3 i* {! l" w0 }
double x = xsize(involved);! M8 x$ z2 T" m9 [/ R( Y2 }
double y = ysize(involved);( \6 t* v/ n) r
double z = zsize(involved);* U4 C% F0 x/ S8 U( }& Z$ u: q

  L8 Q9 F  W3 w1 f- ksetname(shape(involved),"_shape");
! V7 G  K3 Y2 z& K$ a" x7 _setobjectshapeindex(involved,theindex);
0 F8 K  C. q: [3 a" E  r
9 w. s9 H" M3 h* K+ A//Update the object to the original size
: |8 Z' l- R- v, G. vapplyshapefactors(involved);
3 H, K4 a- q  d3 r! b! \, x+ i! [setsize(involved, x, y, z);  H0 h* Q' g" [# d  ]" A4 m3 R
/** \nNote: The getshapeindex command is slow if it is called frequently.
, ?3 g- n! M' M& {It is better to define the shape index in a global variable that gets set - ]$ S$ r  P* Y( G0 M8 J  C
during reset. You can then replace getshapeindex with the name of your global variable.
8 a+ [2 U- D) f4 F9 RIndex values for 3D shapes can be found through the Tools>Media Files menu,
$ w% i, N+ C9 Q$ L3 ?  L; m0 obut keep in mind that index values can change when new media is loaded.*/: c4 s! _1 K' b3 G: \$ h( y
} //******* PickOption End *******\\) E3 W" [# D! L; c  n$ @- }* s
9#
Stevenzheng 发表于 2019-1-26 13:25:51 | 只看该作者
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑 % M4 [1 W3 |' a1 h7 [* R
Stevenzheng 发表于 2019-1-26 13:23' Z" M( V# W- _, Y
里面代码是这样的:
+ J* c5 @  {8 t1 U6 o2 dtreenode item = parnode(1);
$ t. Y8 G( u. ?! e% _- Ztreenode current = ownerobject(c);

, _8 B) _8 A" k, P4 h那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
10#
王奕 发表于 2019-1-27 10:43:13 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:25
7 p% p# [1 z2 ^3 D5 j2 C/ n那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...
2 p8 z! a4 J" ~' y( U7 b
感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。1 u' G8 N) M) `4 U7 q: K* M( F0 h
又试了几次,还是不行,只能改用别的方法来标识了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-29 15:21 , Processed in 0.069111 second(s), 15 queries .

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

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