全球FlexSim系统仿真中文论坛

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

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

[复制链接]
匿名
跳转到指定楼层
1#
匿名  发表于 2019-1-25 17:10:23 回帖奖励 |倒序浏览 |阅读模式
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。* [  M# j% F! s
系统的默认程序(已将item改成了current):* X; \9 m( [& M5 |9 w) }9 f
treenode item = parnode(1);4 w' j, I4 P; |" K
treenode current = ownerobject(c);! E, r" V  R, Z2 F" ^
int port = parval(2);
4 @( |# |5 \( i2 u4 S4 q9 D{ //************* PickOption Start *************\\
, q, H5 _  f0 j) U; K( i/***popup:Change3DShape*/
3 n: [; c  v* P) x0 E* W/**Change 3D Shape*/; m# b/ b0 I# h& J
/** \nObject: */9 W) g1 ~. D4 Z6 K
treenode involved = /***tag:node*//**/current/**/;
0 h3 A  W7 }- ^/ U% H7 f: {/** \nShape Index Number: */# K& F$ m! y2 ~
double theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;0 ^2 Z, i' U- x

/ t0 F6 v8 u) f9 Qsetname(shape(involved),"_shape");
+ R, T3 D- e% z' p# U9 _2 W, hsetobjectshapeindex(involved,theindex);  `2 N5 @$ D$ i0 {% g, P7 g" @$ l
/**\n*/) U5 |. y& Y& {! `" `
} //******* PickOption End *******\\
8 e7 _' F4 i  [: n! o& v% ^1 N9 C5 L/ w& c8 t2 D
其中,) t3 U' s. F, Z; B
fs3d\\General\\Box.3ds
# \5 @) y9 q: @) q% I1 v我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?
' N8 f* Y( w% G2 w请问正确的操作是怎样的呢?谢谢!
  c; E: r" |: ?0 `( m  T2 h& E  Q% f& u9 B$ C1 M5 e. Z
2#
SunshineFu 发表于 2019-1-25 20:13:21 | 只看该作者
不清楚具体情况,可以上传模型吗?
3#
王奕 发表于 2019-1-25 20:42:31 | 只看该作者
你好,请查看附件,+ `- y6 {! s2 H7 r
里面包含了两个SKP模型和一个FLEXSIM6版本的模型。3 u, F7 w1 ]& O6 \
FLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。. D, @, j$ m# |! P/ [+ N# x
谢谢!

本帖子中包含更多资源

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

x
5#
Stevenzheng 发表于 2019-1-26 09:23:02 | 只看该作者
我式了可以呐,只是在Shap下拉框中选的.* _2 J5 p( P: x
$ e) }# c, q" t8 o3 Q

本帖子中包含更多资源

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

x
6#
王奕 发表于 2019-1-26 09:51:05 | 只看该作者
我用的是flexsim6版本的,一直没有试出来
7#
Stevenzheng 发表于 2019-1-26 13:15:35 | 只看该作者
王奕 发表于 2019-1-25 23:112 c# \/ q. O, @( X( o' @& i2 w( G
问题如图
/ M* |( X1 e) E
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
8#
Stevenzheng 发表于 2019-1-26 13:23:06 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:15
9 q; V# q- M2 p( K3 L, u我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...

8 Z  J& h  [) Y里面代码是这样的:
# Q- H8 }3 [4 y' o0 Vtreenode item = parnode(1);8 k) W2 M+ J" y$ B" B1 o/ M0 s
treenode current = ownerobject(c);6 n/ n2 _/ @: H4 t2 P
{ //************* PickOption Start *************\\( }; }* r9 ^: m: k, H: j! r* o
/***popup:Change3DShape*/. Q/ X! k. |- e+ G2 i. e# l
/**Change 3D Shape*/  N, I8 H! |9 H, k$ q  Y" n
treenode involved = /** \nObject: *//***tagbject*//**/current/**/;8 t1 e  P4 v( @( q4 b9 m
string shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;
3 k6 f+ J1 e( o3 @) t0 v# ~
% k/ i7 t8 V$ [& _2 |0 J( Pdouble theindex = getshapeindex(shapename);* w+ y* H! ~' `+ x5 d' w

. ^$ a3 x' h$ T' ]# a: o//Grab the current size of the object
% A+ y. p# Z+ _2 Z/ Pdouble x = xsize(involved);
. u7 @7 p4 e# [0 Edouble y = ysize(involved);
- n. s4 h. o& k1 }* |9 v2 N! K% ~& qdouble z = zsize(involved);
9 A) j& N; q; x0 H& X; t/ X- h* G1 ?: p3 V! C2 t* w7 Q4 ?
setname(shape(involved),"_shape");
8 j9 _& i7 M1 B3 {% Asetobjectshapeindex(involved,theindex);
* @2 L2 T% X* W% y# \2 b
/ r5 d$ U: G- g. ~+ v: v//Update the object to the original size
) ~  |' b) m6 K- }$ [  Xapplyshapefactors(involved);9 z# e% K  o+ I" O
setsize(involved, x, y, z);
9 S& e1 a$ _8 b- k8 B* M" D  f/** \nNote: The getshapeindex command is slow if it is called frequently. . Q) q$ D6 |' E( N  A; p
It is better to define the shape index in a global variable that gets set
/ ^% Q! o1 h2 M9 sduring reset. You can then replace getshapeindex with the name of your global variable.
5 u3 i- @8 b1 t6 sIndex values for 3D shapes can be found through the Tools>Media Files menu,( v1 O& a( E9 u0 m
but keep in mind that index values can change when new media is loaded.*/1 V/ Z  q/ Q! y. K6 Q& n3 v
} //******* PickOption End *******\\
8 U& \& m2 b+ O6 z! G# r
9#
Stevenzheng 发表于 2019-1-26 13:25:51 | 只看该作者
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑
- |$ W. E* [% s- D7 U
Stevenzheng 发表于 2019-1-26 13:238 s4 u0 T9 w) v
里面代码是这样的:
  B/ @) q- A1 K# e) F, ltreenode item = parnode(1);# e- q2 x: v$ D, t0 W$ o3 W# v2 K, P
treenode current = ownerobject(c);
$ Y- c/ p. w2 |# ~) u
那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
10#
王奕 发表于 2019-1-27 10:43:13 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:25
8 P2 U; g+ h2 a: Q6 Z! I& C3 U, p那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...

* d% N8 I: b# p! Z感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。, I* `; s7 U8 d: e8 e7 m+ {5 w( f* O
又试了几次,还是不行,只能改用别的方法来标识了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

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