全球FlexSim系统仿真中文论坛

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

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

[复制链接]
匿名
跳转到指定楼层
1#
匿名  发表于 2019-1-25 17:10:23 回帖奖励 |倒序浏览 |阅读模式
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。! O% K& Q% i4 f7 n8 m3 b( m# ~7 T
系统的默认程序(已将item改成了current):* {( ?3 Q' G' p3 P& b0 P
treenode item = parnode(1);4 j# O3 k& `6 b  F
treenode current = ownerobject(c);
/ t0 G+ N4 n9 j: L& A7 gint port = parval(2);. K2 r* S+ P* `+ C) v8 k- \) X8 g
{ //************* PickOption Start *************\\
2 b+ W& e) @+ H  p+ {/***popup:Change3DShape*/; w- W4 h8 f; w- \
/**Change 3D Shape*// ]# _2 A/ X. H7 A" n' `8 B% A
/** \nObject: */) m/ t8 J  }2 i0 _/ j; o! X' d5 ~' Z
treenode involved = /***tag:node*//**/current/**/;% Q# n, z( v+ [& l; G* n/ v3 I4 q
/** \nShape Index Number: */
5 ~2 w4 [: v- M- Qdouble theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;2 [$ G3 Y3 `- r
$ x1 x- Y+ h# a' }
setname(shape(involved),"_shape");
5 T, x. R! @% ^+ J2 W' Wsetobjectshapeindex(involved,theindex);% q# `( S- H5 {: t, C- i
/**\n*/- T* v! q6 w( W6 q' T. U7 \9 n
} //******* PickOption End *******\\
/ D) y8 y8 x! L( N
  H( V, s5 A! O' Q$ s3 t其中,5 m0 ]% m, F2 S; c0 t
fs3d\\General\\Box.3ds) `( z. N% X- a. R3 R
我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?$ U$ ~1 h& ~( L; O# Z. N3 o# d
请问正确的操作是怎样的呢?谢谢!+ d+ ~& p4 a# B7 ~( D: [
! d- {. c4 \0 y; K( H. f5 r* J
2#
SunshineFu 发表于 2019-1-25 20:13:21 | 只看该作者
不清楚具体情况,可以上传模型吗?
3#
王奕 发表于 2019-1-25 20:42:31 | 只看该作者
你好,请查看附件,# \) m  l5 N# \) Y# ?, M: C
里面包含了两个SKP模型和一个FLEXSIM6版本的模型。
0 J  H# L( c# F- _1 ~FLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。
! u* s; G. h: c1 V谢谢!

本帖子中包含更多资源

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

x
5#
Stevenzheng 发表于 2019-1-26 09:23:02 | 只看该作者
我式了可以呐,只是在Shap下拉框中选的.
6 ^: @- B) R8 X. o4 G- |5 h
1 _% s: h. ]3 h& y

本帖子中包含更多资源

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

x
6#
王奕 发表于 2019-1-26 09:51:05 | 只看该作者
我用的是flexsim6版本的,一直没有试出来
7#
Stevenzheng 发表于 2019-1-26 13:15:35 | 只看该作者
王奕 发表于 2019-1-25 23:11
8 d5 U8 O% A6 R2 a! x问题如图
7 J* y: E. Q3 W# Z, I
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
8#
Stevenzheng 发表于 2019-1-26 13:23:06 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:15$ E6 W9 {; E- Z( m
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...
' J  {" Z2 Z: z* B8 e, E
里面代码是这样的:
7 c# s) e0 I: C0 |treenode item = parnode(1);1 M+ Z( c: c& E3 ?  x8 v2 [
treenode current = ownerobject(c);
# b  S- w, Q( L0 R{ //************* PickOption Start *************\\; h( m3 d( n( s( a: ^% g, D
/***popup:Change3DShape*/
' Z0 u8 T1 T$ l) ~( f/**Change 3D Shape*/
) P/ @& K3 C/ e1 ytreenode involved = /** \nObject: *//***tagbject*//**/current/**/;
% n+ W, w1 x% s, t6 }  bstring shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;
- Y: k* U0 v$ Q) }$ C6 r( C5 Y2 m0 ]- l. [. }0 v* c) p
double theindex = getshapeindex(shapename);
! q1 Z8 s! \2 q0 w3 n- z& G% J" i2 `+ r* U! W9 T3 m0 i
//Grab the current size of the object
" g) M. {. h* s) g- A' v! Rdouble x = xsize(involved);
* i4 I6 F) S; Q' i, ]$ Wdouble y = ysize(involved);
  p& ^% k* ^0 x' C9 `8 ]6 Hdouble z = zsize(involved);
: |- }( h; j3 G& {, C0 p
9 j: e2 j$ t, |% lsetname(shape(involved),"_shape");
4 X! m0 J/ R; Q( l5 _setobjectshapeindex(involved,theindex);
9 N) D! p9 _$ ~' C
- t* C4 g8 }  x: F  k- d7 Q) ^//Update the object to the original size, \" h$ @6 c& R  Z) f
applyshapefactors(involved);
/ b  m: A2 ~! F  @' Msetsize(involved, x, y, z);) w. A6 R7 U( V  s$ \/ c' k3 {
/** \nNote: The getshapeindex command is slow if it is called frequently.
3 N: g  a1 d, v% qIt is better to define the shape index in a global variable that gets set
" c' m! I) F. f! i+ o8 {during reset. You can then replace getshapeindex with the name of your global variable.
- ?$ E; o5 k7 o0 b* {! B: TIndex values for 3D shapes can be found through the Tools>Media Files menu,
$ ^4 P# m. \  r3 L1 Ubut keep in mind that index values can change when new media is loaded.*/
' {2 f4 ?/ n, T& Z. [} //******* PickOption End *******\\7 \0 Y. w; s/ a, Y! v, B4 W" v9 H) y( {! m
9#
Stevenzheng 发表于 2019-1-26 13:25:51 | 只看该作者
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑
9 F& B: W+ Q4 `8 T
Stevenzheng 发表于 2019-1-26 13:23
( e3 P5 M: d) O里面代码是这样的:
2 Q0 I8 I6 Y3 C, r  U8 Gtreenode item = parnode(1);& X+ B  p1 V& e) L3 F! V/ M
treenode current = ownerobject(c);

+ l* F: ], d* t% O; I9 n; @2 T+ Z那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
10#
王奕 发表于 2019-1-27 10:43:13 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:25
' @+ N& G, Y$ i- D那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...

& y9 p1 ?0 J# T/ J. \; B感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。& \8 u' G/ T4 f0 _! }! U) z
又试了几次,还是不行,只能改用别的方法来标识了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-28 22:28 , Processed in 0.067139 second(s), 14 queries .

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

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