全球FlexSim系统仿真中文论坛

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

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

[复制链接]
匿名
跳转到指定楼层
1#
匿名  发表于 2019-1-25 17:10:23 回帖奖励 |倒序浏览 |阅读模式
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。
+ b4 n9 Q# }8 c系统的默认程序(已将item改成了current):
. h% a; b. l! W2 D* z4 M) ]treenode item = parnode(1);
9 `$ Z5 e" a: R4 r/ i, S( [: ]( Utreenode current = ownerobject(c);- w: \8 Q: z! E/ t
int port = parval(2);
- `2 e5 ]3 \% V{ //************* PickOption Start *************\\
& N# r0 Q1 H# m& x4 @' ?2 u/***popup:Change3DShape*/
+ s( w; A  e9 h! Z/**Change 3D Shape*/
" o1 c2 y& e3 e6 V% x* D/** \nObject: */
( I/ \2 t, i) B" i2 i7 Ltreenode involved = /***tag:node*//**/current/**/;' n) H7 k" B$ I
/** \nShape Index Number: */
8 r6 ]/ K0 a7 `9 d! o* B4 Jdouble theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;
( C! {6 Z9 ?+ s# N! H
# q0 ~& B1 m1 F  c- ssetname(shape(involved),"_shape");
6 A: G& {  w8 S9 T9 Osetobjectshapeindex(involved,theindex);
1 q! _8 Z0 Y& t! |/**\n*/
! a' w1 I8 V5 i1 b: m} //******* PickOption End *******\\; D! {0 D$ W7 T/ Q9 ]  @7 b

; ^! R' q+ u* L2 l/ s# E/ b其中,, m+ M3 `; f  ?% d' j
fs3d\\General\\Box.3ds
, ^1 j2 L4 `: a7 U" i  z/ @  ~我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?
& y6 p! {% J) f0 v) ~/ ]. y请问正确的操作是怎样的呢?谢谢!
, v" I  M; D, I% w
. k  A" C7 k' n( B: E! m" k
2#
SunshineFu 发表于 2019-1-25 20:13:21 | 只看该作者
不清楚具体情况,可以上传模型吗?
3#
王奕 发表于 2019-1-25 20:42:31 | 只看该作者
你好,请查看附件,8 V9 H. s% ?& P9 J  Q$ |* R
里面包含了两个SKP模型和一个FLEXSIM6版本的模型。
% V- ]' _! g2 e  f1 K) b+ o  sFLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。
* a/ S# T5 H( V- t( R, n" b  w谢谢!

本帖子中包含更多资源

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

x
5#
Stevenzheng 发表于 2019-1-26 09:23:02 | 只看该作者
我式了可以呐,只是在Shap下拉框中选的.
. Q% h/ y) ]. V6 ~- Q, h
% h/ J% B, P9 j6 h7 f* A

本帖子中包含更多资源

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

x
6#
王奕 发表于 2019-1-26 09:51:05 | 只看该作者
我用的是flexsim6版本的,一直没有试出来
7#
Stevenzheng 发表于 2019-1-26 13:15:35 | 只看该作者
王奕 发表于 2019-1-25 23:11. }/ K# [9 B% l1 \& N; z
问题如图

# }0 z. G8 a$ o# I8 G5 ^0 ~+ ~我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
8#
Stevenzheng 发表于 2019-1-26 13:23:06 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:15( {5 M$ R4 }( o; Y. n
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...

! @/ r% u/ n7 P1 B/ p8 \# N) Z1 B里面代码是这样的:3 f) J: O. H5 i! T7 w8 l
treenode item = parnode(1);
" A$ p1 `$ y0 P' Jtreenode current = ownerobject(c);
! i& D( R9 w: ^' F1 S; }% w, ?7 g{ //************* PickOption Start *************\\
9 f. M2 z# A+ @) I/***popup:Change3DShape*/
1 r) x' ]2 |$ q/**Change 3D Shape*/
- g+ L+ t. \4 {2 ^treenode involved = /** \nObject: *//***tagbject*//**/current/**/;  d5 }- ~) A& ^
string shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;
0 E; E( ]8 x% T9 Z/ C, Y
1 F* J6 H" i6 }2 `) X7 o( d- udouble theindex = getshapeindex(shapename);. o  ?% j2 C7 i  u5 \, p1 Q

, W; f- |$ w7 ~, z5 j' ~4 f2 P//Grab the current size of the object' L8 n( e; X  e9 x% t4 s/ E0 O& L0 f
double x = xsize(involved);5 i! J9 l* r. d
double y = ysize(involved);
% {- c9 b- E; d2 ]4 b, wdouble z = zsize(involved);
4 J4 ^+ ?# q4 h5 J" J% Z' g" O0 t0 H1 \: m) K" [1 O
setname(shape(involved),"_shape");
. n! T2 g2 b: @) ~( y1 \setobjectshapeindex(involved,theindex);
  t/ A" ^5 |# {4 p7 a6 N6 f" X
5 O# W8 @$ K9 g, @6 ~$ n//Update the object to the original size
9 X/ o& i( g% F6 Lapplyshapefactors(involved);
7 G) p& E7 A5 N7 k1 n1 e. y. lsetsize(involved, x, y, z);
6 C$ ^5 A  m+ X% N" Y/ ]7 D* w/** \nNote: The getshapeindex command is slow if it is called frequently. . h/ z2 x0 R. J) |" o8 l- \- `
It is better to define the shape index in a global variable that gets set
2 s; V& ^7 a8 |during reset. You can then replace getshapeindex with the name of your global variable.4 e# D9 s$ B0 \# M2 t
Index values for 3D shapes can be found through the Tools>Media Files menu,; `7 R6 Z( u" c
but keep in mind that index values can change when new media is loaded.*/
. H: I$ A0 y0 a0 r" k- e} //******* PickOption End *******\\( q0 Y. e5 W& e* I6 B  S1 H5 v# v
9#
Stevenzheng 发表于 2019-1-26 13:25:51 | 只看该作者
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑 5 |- a* w+ ~& B0 J. p& W7 l7 @
Stevenzheng 发表于 2019-1-26 13:234 k, E: v- a1 s/ S9 J
里面代码是这样的:
& t% R4 a* j$ [; T- q6 Ftreenode item = parnode(1);! x' z7 Y' [* @1 y; D6 A
treenode current = ownerobject(c);

8 H' h: x7 n' I' u那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
10#
王奕 发表于 2019-1-27 10:43:13 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:25/ f& X, q7 P* y; D% f
那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...
" `9 P! k$ h1 z1 t
感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。
: i* B: t7 k( S# E5 g- Y8 i又试了几次,还是不行,只能改用别的方法来标识了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-28 19:29 , Processed in 0.076640 second(s), 14 queries .

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

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