全球FlexSim系统仿真中文论坛

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

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

[复制链接]
匿名
跳转到指定楼层
1#
匿名  发表于 2019-1-25 17:10:23 回帖奖励 |倒序浏览 |阅读模式
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。
) G) y& N0 _2 ^  [" N& {: O系统的默认程序(已将item改成了current):
: B" g! F7 t7 {8 ntreenode item = parnode(1);9 M  Y# x5 Q( G* g
treenode current = ownerobject(c);" @  C$ h. r# K' D! [& W* r% m3 K
int port = parval(2);
6 A; Z1 |" f3 g) }' ~1 C{ //************* PickOption Start *************\\3 A0 l- q- y7 w5 b' W0 u
/***popup:Change3DShape*/, _8 S! [/ W. c; M2 x, g
/**Change 3D Shape*/8 l! @; w9 L) i
/** \nObject: */
4 ^& G; A- J0 w, e3 b' N6 p. W5 jtreenode involved = /***tag:node*//**/current/**/;
" L# k" E  q. `: \/** \nShape Index Number: */4 P" @: V; e4 ^) s: O( o  e- Z
double theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;
  }; G1 K' {. n* v* y6 A' z% i  D9 Z  S, u+ Q, S* E$ R9 c
setname(shape(involved),"_shape");! C! I7 \" G: {
setobjectshapeindex(involved,theindex);
, G. _# @# x- ?- M/ Z" W" a" v" Z/**\n*/
/ ?' o! {+ ]5 r- Q} //******* PickOption End *******\\
$ X& a- i+ |& G8 j" ?* W9 @' U# b" n; Y1 Z2 u3 y
其中,
9 V* d% p8 r  }9 z  F( V$ dfs3d\\General\\Box.3ds9 Y5 m" g1 k% @% A2 m: d$ T) w
我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?
8 s1 f! K$ Y5 [* V: \0 H6 j请问正确的操作是怎样的呢?谢谢!6 ?( N# ?$ ]$ r5 s- |5 B
% c8 @& w  D5 E) x  Z
2#
SunshineFu 发表于 2019-1-25 20:13:21 | 只看该作者
不清楚具体情况,可以上传模型吗?
3#
王奕 发表于 2019-1-25 20:42:31 | 只看该作者
你好,请查看附件,& h6 V2 K) C' b9 E# ?. b/ [8 T- {
里面包含了两个SKP模型和一个FLEXSIM6版本的模型。# p  O" |% R# j: F" K* B
FLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。
  d* X- o' C+ B* b, M% D谢谢!

本帖子中包含更多资源

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

x
5#
Stevenzheng 发表于 2019-1-26 09:23:02 | 只看该作者
我式了可以呐,只是在Shap下拉框中选的./ y& _3 d7 X$ T9 B) z: o+ g) @

* F! K/ p! D7 I: g; p% n

本帖子中包含更多资源

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

x
6#
王奕 发表于 2019-1-26 09:51:05 | 只看该作者
我用的是flexsim6版本的,一直没有试出来
7#
Stevenzheng 发表于 2019-1-26 13:15:35 | 只看该作者
王奕 发表于 2019-1-25 23:11
1 p  {* |  t0 a" k8 |6 j  ~) |问题如图
) z& G! x& }" k
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
8#
Stevenzheng 发表于 2019-1-26 13:23:06 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:158 A6 r! p* d+ K* m  M
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...

  v3 ?9 u# w9 q( `! q里面代码是这样的:
/ L( e! r  B1 o- qtreenode item = parnode(1);* q3 W/ N8 w6 |4 m% L1 L
treenode current = ownerobject(c);
8 f6 X& e" ^4 n& Y  v9 b{ //************* PickOption Start *************\\. M  m+ }0 d/ C0 I. i: Q
/***popup:Change3DShape*/" e0 r7 q" H1 B! v* O
/**Change 3D Shape*/! A' h7 s* L" R6 B1 g
treenode involved = /** \nObject: *//***tagbject*//**/current/**/;
' h: W" q) ~) n8 Fstring shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;4 O" g+ W) p* d# Z
( X2 y- m) R% M3 d2 E* H
double theindex = getshapeindex(shapename);  b; s# s! n# Y
8 V( Y: L# ~0 c' h* c! K
//Grab the current size of the object9 N/ l# K1 M& f3 O% C' L
double x = xsize(involved);
/ U9 D- ~$ c1 Z( m; d9 I' H3 q+ l7 odouble y = ysize(involved);% @3 h8 Q* u8 Z
double z = zsize(involved);
9 h$ J& X: ], F$ |( O# W
' c/ ^' e. l# C4 `6 W: [setname(shape(involved),"_shape");; w6 u* G7 p" c; p) {
setobjectshapeindex(involved,theindex);
! s. l2 v& X5 \: l; w0 H6 H) s& l/ b9 u
//Update the object to the original size, h0 W9 e: m8 n( c
applyshapefactors(involved);- ?0 S: h- M6 g3 U
setsize(involved, x, y, z);
9 f: a3 j, ?4 ~3 h9 @/ p1 R8 |' K/** \nNote: The getshapeindex command is slow if it is called frequently.
; q0 E4 d) b. R% G, [It is better to define the shape index in a global variable that gets set ( j; D1 J, l/ J* u4 |; u
during reset. You can then replace getshapeindex with the name of your global variable.
' l5 ?0 h/ K6 l; W9 }% M9 AIndex values for 3D shapes can be found through the Tools>Media Files menu,1 Q0 S) E0 Y; p7 }+ a# z
but keep in mind that index values can change when new media is loaded.*/$ ~2 i  r1 H" Q
} //******* PickOption End *******\\
5 ~6 J4 |. U. W8 \
9#
Stevenzheng 发表于 2019-1-26 13:25:51 | 只看该作者
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑 / b3 L6 I; _7 V$ x, v( E  h, z
Stevenzheng 发表于 2019-1-26 13:23
4 {6 m6 e: T+ G/ y% A& S7 t: ~( U$ ?里面代码是这样的:
% s: v5 C- m9 x9 Rtreenode item = parnode(1);7 n4 s' m3 F. [! {
treenode current = ownerobject(c);
" b# w; s! Q2 w3 n. v
那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
10#
王奕 发表于 2019-1-27 10:43:13 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:25
  |% [& a, S' d* I- N% K那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...

& T% X/ y+ T9 S8 a. n感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。
+ |+ @2 l; r+ P8 [4 N, i. z又试了几次,还是不行,只能改用别的方法来标识了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-6 11:08 , Processed in 0.102029 second(s), 14 queries .

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

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