全球FlexSim系统仿真中文论坛

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

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

[复制链接]
匿名
跳转到指定楼层
1#
匿名  发表于 2019-1-25 17:10:23 回帖奖励 |正序浏览 |阅读模式
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。
8 M  C) r$ Q5 s; b% ]) l系统的默认程序(已将item改成了current):
  e- B9 n: s$ g5 Z  btreenode item = parnode(1);) j  j6 _7 \7 H
treenode current = ownerobject(c);' Q) O& ]3 W7 h. |0 w$ B/ Z
int port = parval(2);
! B4 ?# S& b1 J8 _3 j6 h{ //************* PickOption Start *************\\
5 e! m& ]6 v6 _6 R/***popup:Change3DShape*/
( M# q! j& J7 C4 P+ C9 v' }$ v/**Change 3D Shape*/
4 ?: h: j* L; b3 Z. m3 ?2 s5 R& H/** \nObject: */
7 M. q. ^2 ]8 H* D5 q: E4 v- Qtreenode involved = /***tag:node*//**/current/**/;
; c! L' P  ^( a. i( _/** \nShape Index Number: */( }3 |& `8 q( J! e2 d+ _& }
double theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;
6 h( `3 z' u6 ?
( X& K+ r1 I7 N! tsetname(shape(involved),"_shape");3 v5 F' y5 P4 N2 j( k. ?- h8 K
setobjectshapeindex(involved,theindex);! q% K2 ?/ v: t" j" q* T' F
/**\n*/' d5 O; k9 v6 h9 }
} //******* PickOption End *******\\) o$ M( h% y6 _+ v
% C+ e% Y" g! ?5 A
其中,( ]) Q; s. w1 j2 n$ z
fs3d\\General\\Box.3ds6 h( t  X1 `: N' D) C' ^
我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?5 q; L8 l- |7 \9 Y# @
请问正确的操作是怎样的呢?谢谢!
: y+ T: ~! l  C/ f; u( b$ d9 n$ m
0 y  M5 z, C" Z  C% c: r' T- {
10#
王奕 发表于 2019-1-27 10:43:13 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:25
" F" t' J* q+ p6 r$ v那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...
6 {# B, Q3 B! D. Z9 {) h& ^
感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。+ u3 i; ~3 R* r+ |" l
又试了几次,还是不行,只能改用别的方法来标识了。
9#
Stevenzheng 发表于 2019-1-26 13:25:51 | 只看该作者
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑
2 J4 ^+ M8 i4 [
Stevenzheng 发表于 2019-1-26 13:23
, `) W  I7 Y. l, G里面代码是这样的:/ ?( a% ^  r, k& d2 A$ j/ I
treenode item = parnode(1);
7 o" k( w4 Z* \- K6 ^8 s  _treenode current = ownerobject(c);

  Q1 k7 o& f, y1 G/ M. R; \2 f/ L那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
8#
Stevenzheng 发表于 2019-1-26 13:23:06 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:15# j. c1 G, M7 R- o" ~
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...

, F' U: m  g; |, z5 d: ^& z# `4 W里面代码是这样的:
- d  ?" C) V- [" {  l) M0 j% m1 U! qtreenode item = parnode(1);' ~. f$ X( }9 ]
treenode current = ownerobject(c);
8 Z' @7 {5 w+ `. s1 @; [9 M: L{ //************* PickOption Start *************\\, O0 Q6 P! y# e# J) t+ U4 _
/***popup:Change3DShape*/
0 ~* X# q$ A; _1 Y( @7 y) G4 D/**Change 3D Shape*/: _* P' @3 R  g1 z$ Q: j
treenode involved = /** \nObject: *//***tagbject*//**/current/**/;
- k) b. s$ r. Z/ B& V. ]1 z" Wstring shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;4 M! I. b- W. K) S- s
. u" ^/ P  {3 M, S
double theindex = getshapeindex(shapename);
* o! R# C- l. u5 g+ ?* N6 M' G$ U& k
9 X( ?/ y) d" H//Grab the current size of the object: @; o6 w. N: c1 G0 g( t
double x = xsize(involved);
; y2 [1 V- Y' k' A; S0 h$ l1 Mdouble y = ysize(involved);
; C' q9 o8 i- f* U* M1 Odouble z = zsize(involved);
0 J) i# U  T5 a6 |3 K% U% l9 G% H3 K5 G+ t" P. W+ D
setname(shape(involved),"_shape");6 j  r, s& d. q% c9 f
setobjectshapeindex(involved,theindex);
- Y" [6 j  h7 u$ _" P* ?
) t0 r" J  N. K! N2 l, I# j: i//Update the object to the original size
$ i+ V- H" M+ q" a" v, D% F0 Bapplyshapefactors(involved);- \; ^" {* Y) |( R% t7 R
setsize(involved, x, y, z);& U, f7 {$ p; @0 ^5 t
/** \nNote: The getshapeindex command is slow if it is called frequently.
& ?% M* O. k4 C* EIt is better to define the shape index in a global variable that gets set 8 C4 s5 y4 T; r7 a, H
during reset. You can then replace getshapeindex with the name of your global variable., e( E1 |+ t, O  v2 r
Index values for 3D shapes can be found through the Tools>Media Files menu,
. T. s/ L* J4 Q! f/ n6 T* zbut keep in mind that index values can change when new media is loaded.*/1 @1 M! G+ J+ z: l7 U* O& B6 v+ m
} //******* PickOption End *******\\
1 p% V+ X" ?: u/ h
7#
Stevenzheng 发表于 2019-1-26 13:15:35 | 只看该作者
王奕 发表于 2019-1-25 23:11
  f! m; Y3 t: r问题如图
  f6 K4 v& _+ L! s9 q0 k
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
6#
王奕 发表于 2019-1-26 09:51:05 | 只看该作者
我用的是flexsim6版本的,一直没有试出来
5#
Stevenzheng 发表于 2019-1-26 09:23:02 | 只看该作者
我式了可以呐,只是在Shap下拉框中选的.2 t. x: ~+ W* z' s0 S; l
- O+ v" }$ g1 Q* |2 A. I

本帖子中包含更多资源

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

x
3#
王奕 发表于 2019-1-25 20:42:31 | 只看该作者
你好,请查看附件,9 d7 C2 D5 t: ~. P# n& q
里面包含了两个SKP模型和一个FLEXSIM6版本的模型。
! f+ E) q; `* w4 R. b5 EFLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。
9 m! c# A( m6 _, c  R谢谢!

本帖子中包含更多资源

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

x
2#
SunshineFu 发表于 2019-1-25 20:13:21 | 只看该作者
不清楚具体情况,可以上传模型吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-12 17:12 , Processed in 0.091785 second(s), 15 queries .

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

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