全球FlexSim系统仿真中文论坛

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

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

[复制链接]
匿名
跳转到指定楼层
1#
匿名  发表于 2019-1-25 17:10:23 回帖奖励 |倒序浏览 |阅读模式
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。
: ]: c; t; x7 c% _系统的默认程序(已将item改成了current):5 I6 f" }/ M2 y1 u) B% I. A& O
treenode item = parnode(1);
. ?1 f9 K1 X  K' o4 M8 G. A" h, T, W- vtreenode current = ownerobject(c);9 X$ q& z6 ~* v9 ]3 L2 G: E
int port = parval(2);$ B! J1 o6 \4 q4 ^" r$ |
{ //************* PickOption Start *************\\5 O0 H# C& o% {
/***popup:Change3DShape*/% h* {8 y; V) M' U0 J8 g
/**Change 3D Shape*/
  r- k3 a& P5 ]+ D) Q" N. {/ N& l/** \nObject: */6 G8 H; `% ^: D+ [% `. F2 }5 N8 q
treenode involved = /***tag:node*//**/current/**/;
; q; V" L* S. M+ Q3 e  c' w4 b/** \nShape Index Number: */
# y5 ]. o& C/ p/ R$ F- udouble theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;) A- D6 [" V* E% U- X$ p

6 ]0 V! a- p+ C/ @* U5 y2 Z" asetname(shape(involved),"_shape");& [9 N9 R  l1 |3 w4 ?
setobjectshapeindex(involved,theindex);
. R3 V- t* I& A$ T  K/**\n*/. {, A& i! r8 T
} //******* PickOption End *******\\
( D& n! |2 H: y2 ~9 l" v$ p
# ^/ }4 m+ A9 r1 I2 Q6 D其中,
/ v# w& i# Y+ d4 }, _# O% ufs3d\\General\\Box.3ds6 c4 I- U+ l9 z" `+ ?
我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?/ K7 h. o. G8 f$ C7 W/ \, _
请问正确的操作是怎样的呢?谢谢!
! L, l) J# j1 \7 O0 A/ x9 c
# e+ D0 P. l- Z* q4 y- B
2#
SunshineFu 发表于 2019-1-25 20:13:21 | 只看该作者
不清楚具体情况,可以上传模型吗?
3#
王奕 发表于 2019-1-25 20:42:31 | 只看该作者
你好,请查看附件,8 e7 R/ I+ H8 T* }' v, {
里面包含了两个SKP模型和一个FLEXSIM6版本的模型。
9 d* b8 Z4 v1 t5 QFLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。' I/ H8 O9 l, Y
谢谢!

本帖子中包含更多资源

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

x
5#
Stevenzheng 发表于 2019-1-26 09:23:02 | 只看该作者
我式了可以呐,只是在Shap下拉框中选的.
, Y. i4 R0 p9 o- p+ n) v. d; v4 _* p9 E5 I* u

本帖子中包含更多资源

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

x
6#
王奕 发表于 2019-1-26 09:51:05 | 只看该作者
我用的是flexsim6版本的,一直没有试出来
7#
Stevenzheng 发表于 2019-1-26 13:15:35 | 只看该作者
王奕 发表于 2019-1-25 23:113 v8 Z% a: J% ^( }- R) `  @
问题如图

2 p- g1 h7 J* g8 w我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
8#
Stevenzheng 发表于 2019-1-26 13:23:06 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:15/ t' ~! ^- U# T- l$ X
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...

  n9 @/ P4 f3 ^2 v5 y里面代码是这样的:
% f) e% l7 O7 ~treenode item = parnode(1);
, a( M. c5 b0 D& G6 j& P+ h) Q9 Ztreenode current = ownerobject(c);
5 p! b& u" b' p, i% J{ //************* PickOption Start *************\\+ a: m6 E6 j! b3 x8 @$ F) j/ f
/***popup:Change3DShape*/( X( B7 |( V+ T; P) |3 o# H
/**Change 3D Shape*/3 D7 M+ i$ {  [4 u- ]
treenode involved = /** \nObject: *//***tagbject*//**/current/**/;
( z+ C' V7 W0 Y' U2 Kstring shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;+ _. p2 m& Y  _$ F, b
# [+ j/ Z( K* V0 `3 E
double theindex = getshapeindex(shapename);" x4 W) \$ Q' W

* @) F: e4 z! t//Grab the current size of the object
, S0 ]! R$ v$ U# bdouble x = xsize(involved);, R+ J  V" h* Q* \! n/ |9 s/ g/ P/ J
double y = ysize(involved);* c% C4 r4 _, ]) c' p1 A8 w) x& K* k4 M
double z = zsize(involved);. ~/ D# Y& j* _$ t: Y* @+ u
7 d" a. E% t9 g1 ^1 |$ @
setname(shape(involved),"_shape");
2 X# Q7 Y$ C# ]8 u# Gsetobjectshapeindex(involved,theindex);
8 ~: B  G9 n3 P) x
' |/ P4 [4 ?$ P- y$ Z//Update the object to the original size% E5 E9 }, H4 q* _3 d* P
applyshapefactors(involved);" `+ w# p. N; E
setsize(involved, x, y, z);* b9 h# k3 w+ y( i# M  V
/** \nNote: The getshapeindex command is slow if it is called frequently. - H9 _" K% e3 }* O& Z# @8 x- C
It is better to define the shape index in a global variable that gets set
9 T' P6 b1 B" L  u8 Nduring reset. You can then replace getshapeindex with the name of your global variable.
2 ~+ t/ A9 a. `3 _( DIndex values for 3D shapes can be found through the Tools>Media Files menu,+ ?7 w( z, ?. r+ `+ E
but keep in mind that index values can change when new media is loaded.*/' t9 K. K1 F0 ^' T/ h
} //******* PickOption End *******\\8 F, B/ Q9 b  j
9#
Stevenzheng 发表于 2019-1-26 13:25:51 | 只看该作者
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑   z" {) T/ x9 B) x
Stevenzheng 发表于 2019-1-26 13:23
1 q. V1 S8 b3 m0 X( S% @; _, O6 ?里面代码是这样的:
2 q1 E: V! m' P; c  H" }9 ttreenode item = parnode(1);$ c1 ?; Q  i. X9 x# x# `3 a- r
treenode current = ownerobject(c);

$ Z/ A; O8 m2 y$ c: H- I5 r/ g那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
10#
王奕 发表于 2019-1-27 10:43:13 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:25
: G+ M( F/ k7 }, A- _# \5 P那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...
5 n. ?' ~: K; `. T2 g; |, V" _
感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。! W. W7 f. j$ F4 j; H4 [$ h2 ]
又试了几次,还是不行,只能改用别的方法来标识了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-6 10:32 , Processed in 0.080165 second(s), 14 queries .

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

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