全球FlexSim系统仿真中文论坛

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

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

[复制链接]
匿名
跳转到指定楼层
1#
匿名  发表于 2019-1-25 17:10:23 回帖奖励 |倒序浏览 |阅读模式
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。  V" O, R) m1 V2 O  x
系统的默认程序(已将item改成了current):/ W% M- V3 Q  u
treenode item = parnode(1);
) i6 V. Q! o) D" h  C+ q; I* x4 Wtreenode current = ownerobject(c);5 }4 O# E! d* a: C" e7 n
int port = parval(2);! ]! K( J6 F% N" G; l
{ //************* PickOption Start *************\\6 K! i" p. B8 n6 O7 a  j0 x
/***popup:Change3DShape*/
9 w( I  c2 J4 A/ k8 n8 A2 ]/**Change 3D Shape*/# t; z. @1 W# ^! L2 v3 A2 S
/** \nObject: */
9 O% ]9 y3 e( Ztreenode involved = /***tag:node*//**/current/**/;: X* D8 l+ A7 j7 z# R# y6 p
/** \nShape Index Number: */
0 F+ Q, F5 D- m. Xdouble theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;' q, R% c" Z6 K1 M( e+ p4 X
+ L, v& i* O( ^" h# C4 n% q
setname(shape(involved),"_shape");: @6 N! L6 l( O! Y
setobjectshapeindex(involved,theindex);
# h& O2 j! j- Z% l) F. m/**\n*/2 C' f/ v; W7 j/ n) A3 Z" W
} //******* PickOption End *******\\
# F- E( V0 O2 m  U8 U' o# a( e0 q* s4 ]" V0 F: i! |( y
其中,; |# @' S1 b% N5 F, t
fs3d\\General\\Box.3ds
# k. w7 t3 H9 s% R8 J  Y7 e我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?* I- G* }; d' A# n
请问正确的操作是怎样的呢?谢谢!) Z) t- g: f$ J; j

, z. t% [1 r1 T+ }
2#
SunshineFu 发表于 2019-1-25 20:13:21 | 只看该作者
不清楚具体情况,可以上传模型吗?
3#
王奕 发表于 2019-1-25 20:42:31 | 只看该作者
你好,请查看附件,
9 L3 p, R& B3 T) r/ l4 r里面包含了两个SKP模型和一个FLEXSIM6版本的模型。
' q' Q1 u& J+ q/ P' h1 W7 C3 lFLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。
7 j% h' Y+ G' ?; k% u* u9 p谢谢!

本帖子中包含更多资源

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

x
5#
Stevenzheng 发表于 2019-1-26 09:23:02 | 只看该作者
我式了可以呐,只是在Shap下拉框中选的.6 `3 l- z' z6 V- R; V$ J4 y

7 n1 T, X/ J# @$ L

本帖子中包含更多资源

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

x
6#
王奕 发表于 2019-1-26 09:51:05 | 只看该作者
我用的是flexsim6版本的,一直没有试出来
7#
Stevenzheng 发表于 2019-1-26 13:15:35 | 只看该作者
王奕 发表于 2019-1-25 23:11
  w; x( v6 _+ e! u: u' ^8 y4 O问题如图
5 N, Z/ X' v( i8 Q, I9 O
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
8#
Stevenzheng 发表于 2019-1-26 13:23:06 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:15
( @8 M& ?. S2 V  D我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...
$ D7 _  Y! p3 M0 [) [0 S3 Y
里面代码是这样的:
; ^; M! n/ a( o2 k0 N5 G* ytreenode item = parnode(1);, H  q  b1 a4 Y# V* P1 r- ?  t
treenode current = ownerobject(c);7 C8 L2 T2 C, {
{ //************* PickOption Start *************\\
' k4 R( b* W, [/***popup:Change3DShape*/& x8 s; H, U! S  e/ P# ^8 U
/**Change 3D Shape*/
7 U4 B8 b' [: K. q5 l) _treenode involved = /** \nObject: *//***tagbject*//**/current/**/;8 \0 Y$ a( }! U7 g& Z7 @9 ?3 F
string shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;7 {% g/ q& I: W+ y2 Z9 U/ W( ]' E

* s5 n; Y5 D# C- G2 Ndouble theindex = getshapeindex(shapename);
& N, |% v. F; e# H1 `2 M
4 L3 b& |$ T) M- [) Q//Grab the current size of the object
4 U7 ~/ p# M: x- V7 c' ~2 V3 |, ~double x = xsize(involved);
" `9 C2 D) r& }5 v: W9 hdouble y = ysize(involved);7 A; ^  E* v2 R( r
double z = zsize(involved);0 E% u5 O* U% G& `- ~' E
* X" n9 ]3 a8 z! U8 v& b
setname(shape(involved),"_shape");/ q5 v6 y6 |) z5 p. A7 B& o
setobjectshapeindex(involved,theindex);
8 i3 Q! K+ \5 o$ q5 m$ T. Q; e/ ]7 y6 F% Y
//Update the object to the original size, T6 m( k5 D$ e1 t& k0 Y* s
applyshapefactors(involved);( M% j$ x$ j: O( \( j  J9 c
setsize(involved, x, y, z);
" `, N5 r  X$ A: T( I3 W' {( F/** \nNote: The getshapeindex command is slow if it is called frequently. ' U2 q8 X+ V2 B2 ~, I' f
It is better to define the shape index in a global variable that gets set
1 G% O' M7 ]0 V. l( I) aduring reset. You can then replace getshapeindex with the name of your global variable.
. `$ T4 A" v* E3 U; ZIndex values for 3D shapes can be found through the Tools>Media Files menu,
8 \5 j. r; L; Z6 d' Kbut keep in mind that index values can change when new media is loaded.*/
: @* r8 X3 K6 N/ K' s9 N7 x} //******* PickOption End *******\\
4 k6 _% V6 P8 ?8 T) ]
9#
Stevenzheng 发表于 2019-1-26 13:25:51 | 只看该作者
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑
$ K4 A2 h, c# C* u8 G
Stevenzheng 发表于 2019-1-26 13:236 s& G( s* d; Q5 \8 Z
里面代码是这样的:
/ a, x4 }" e7 a* u, u$ j  Etreenode item = parnode(1);
" W6 J4 M- \& h: ?# xtreenode current = ownerobject(c);

  o& [: {' v; s( ~/ Q那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
10#
王奕 发表于 2019-1-27 10:43:13 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:25
' U' }6 ?  T( m% Q& u, K$ ]8 T5 q那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...

+ h5 T8 L. f6 Z7 H% _感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。2 D1 l! t2 D1 w5 e2 [' p( k4 g
又试了几次,还是不行,只能改用别的方法来标识了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-27 08:34 , Processed in 0.078837 second(s), 14 queries .

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

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