全球FlexSim系统仿真中文论坛

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

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

[复制链接]
匿名
跳转到指定楼层
1#
匿名  发表于 2019-1-25 17:10:23 回帖奖励 |倒序浏览 |阅读模式
比如一台处理器,设置了SETUP TIME,则在OnSetupFinishi里设置改变固定实体3D外观的触发,表示开始作业。7 @* y* u0 v" n3 C( a6 A" B9 x
系统的默认程序(已将item改成了current):
8 c% y& E8 H1 xtreenode item = parnode(1);
- `' ~2 V  W* ~9 x' Ctreenode current = ownerobject(c);
7 K, F9 n3 O6 j: Jint port = parval(2);
: @+ B7 e* f  q) k{ //************* PickOption Start *************\\
% z5 N$ R7 a4 i, |; z8 n8 P) p/***popup:Change3DShape*/
. n/ p! m% Q; v' v  K/**Change 3D Shape*/  P- O6 i! R# j/ _$ E4 l
/** \nObject: */
! d$ ]# S9 i# t1 ~# htreenode involved = /***tag:node*//**/current/**/;
  f' T0 {' U( Y/** \nShape Index Number: */. q- [+ g; x' {7 }" A; r6 |
double theindex = /***tag:index*//**/getshapeindex("fs3d\\General\\Box.3ds")/**/;
4 f9 ~9 v+ p: m6 Z6 D
% v2 U4 Y. L; R1 ]setname(shape(involved),"_shape");
# n. H* M2 x3 P+ D3 q4 o# c' G/ vsetobjectshapeindex(involved,theindex);
% n3 u% ?4 I& \$ t/**\n*/! u. \5 x, k4 o+ h
} //******* PickOption End *******\\; E' w. I% q9 ^+ ~; E

" X% u* J3 j; A, C# u/ v其中,
2 M. x1 d* E, t* n9 sfs3d\\General\\Box.3ds
+ B+ c# |/ e  V. h( v3 X( k我尝试将自己的模型(SKP格式)放到这个路径下(C:\Program Files (x86)\Flexsim6\fs3d\General\),但一旦触发生效后,模型没有显示出来,读取失败?
- i; R4 V0 j6 X1 X请问正确的操作是怎样的呢?谢谢!
) v5 n# \0 @% W; d9 \( b
& c( a. z* a( J" C
2#
SunshineFu 发表于 2019-1-25 20:13:21 | 只看该作者
不清楚具体情况,可以上传模型吗?
3#
王奕 发表于 2019-1-25 20:42:31 | 只看该作者
你好,请查看附件,- T) {) o% d( O& X0 U) z# I4 T) q: D9 F
里面包含了两个SKP模型和一个FLEXSIM6版本的模型。+ k- d2 m% x  B* E$ h* E- e
FLEXIM模型是想描述一个烘箱的工序过程:停机的时候,门是打开的;开机运行的时候,门是关上的,所以想通过OnSetupFinish触发和OnProcessFinish触发来改变外观,但不知该如何让它们能正确显示出来。$ E. ^2 h6 f" v$ ?) g. x" P! ^+ ?# F
谢谢!

本帖子中包含更多资源

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

x
5#
Stevenzheng 发表于 2019-1-26 09:23:02 | 只看该作者
我式了可以呐,只是在Shap下拉框中选的.
0 x2 J8 @+ ~& T  j! @
& f  |; I3 H0 ]  C1 o8 _* ~3 e

本帖子中包含更多资源

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

x
6#
王奕 发表于 2019-1-26 09:51:05 | 只看该作者
我用的是flexsim6版本的,一直没有试出来
7#
Stevenzheng 发表于 2019-1-26 13:15:35 | 只看该作者
王奕 发表于 2019-1-25 23:116 L( G+ n8 r2 o: {6 N1 Z
问题如图
6 i8 l/ b* B7 j/ I0 h" Y
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试呢
8#
Stevenzheng 发表于 2019-1-26 13:23:06 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:15  {: Z: S* }7 V* u
我用7和18刚打开也是这样的,但是选那个shap下拉框里的就可以,6没有那个下拉框吗?或者你用吸管吸下试试 ...
0 `3 W  ^. g! F% Q  l* h& X1 a; F, }
里面代码是这样的:
( z  H( ~; }! V' P. t5 Gtreenode item = parnode(1);
& [) ~0 J8 j8 m6 I5 Ytreenode current = ownerobject(c);
; J! d) Z9 _& n8 g& h, w/ }9 [3 j{ //************* PickOption Start *************\\
8 O" p) F1 {$ M6 J/***popup:Change3DShape*/
/ v5 M3 R* I$ i6 S2 V- w7 H) Z7 w/**Change 3D Shape*/$ ^6 Q) v! a- N; H1 A- ^; I2 _+ r, b
treenode involved = /** \nObject: *//***tagbject*//**/current/**/;
# Q3 ]$ I2 ]& j5 J1 ~' X) ^string shapename = /** \nShape: *//***tag:shapepath*//**/"C:\\Users\\admin\\Desktop\\flexsim model\\sketchup models_CS\\heating cabinet_type1_running.skp"/**/;- h& r$ M* [2 D- Z7 o4 X9 S

; H0 p% x0 u& ^- N9 `; p" idouble theindex = getshapeindex(shapename);
( x0 X9 b1 H) a3 `
% R- X# e9 m$ v. ]$ Q) @" F9 B//Grab the current size of the object
1 V2 Z0 Z, ?# N5 Ddouble x = xsize(involved);
5 Y+ Y; Z9 m% }/ \0 q# S) Wdouble y = ysize(involved);7 x+ y3 O' s& ~# d7 c5 S% [; b
double z = zsize(involved);2 t3 m" C% `4 N4 Y8 \, a5 ^( a
( D: }: b$ {6 k% X- L$ D
setname(shape(involved),"_shape");
) ^- o6 r) k8 i8 S4 A# A# Nsetobjectshapeindex(involved,theindex);( x$ ?& D& |7 a! x6 D3 C
: P# N% P1 H) V) W$ u5 s
//Update the object to the original size
: \2 x( e% b. \1 g7 zapplyshapefactors(involved);
- m; Y/ B( l3 i; @setsize(involved, x, y, z);9 B. O# h, p2 {9 j% c
/** \nNote: The getshapeindex command is slow if it is called frequently.
0 }% p7 S: K+ I" E. o4 vIt is better to define the shape index in a global variable that gets set
' D- d# d. \+ \- i+ `: O  Qduring reset. You can then replace getshapeindex with the name of your global variable.2 C4 X/ c1 q3 c: [
Index values for 3D shapes can be found through the Tools>Media Files menu,: I5 f+ l/ v* V- k. N1 w
but keep in mind that index values can change when new media is loaded.*/! T! f: ~4 ^4 X0 f! L0 X( e+ I
} //******* PickOption End *******\\( |- f" u: p1 B0 o2 U- p' j9 y9 o
9#
Stevenzheng 发表于 2019-1-26 13:25:51 | 只看该作者
本帖最后由 Stevenzheng 于 2019-1-26 13:28 编辑 ( J6 |! C9 u+ X
Stevenzheng 发表于 2019-1-26 13:23: K  y0 L& w+ U& O
里面代码是这样的:: x" r) \. X# z0 f& O3 ?1 O4 B
treenode item = parnode(1);
1 N1 A* q& @+ H, g) L# X: B6 otreenode current = ownerobject(c);

* m. l2 d6 ~5 H: Z那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改了保存不上
10#
王奕 发表于 2019-1-27 10:43:13 | 只看该作者
Stevenzheng 发表于 2019-1-26 13:25
5 _/ D4 C: r( l3 R! M7 V那个表情是一个冒号和o,被识别成表情了,另外我是把原来的触发删除后重新建的触发,在原来的触发上边改 ...

2 S% J6 b9 _" i3 V7 k# T1 a7 E感谢回复,6里面没有吸管,也没有下拉框,只能通过代码来尝试。% H, f9 i, Q; s! q! J
又试了几次,还是不行,只能改用别的方法来标识了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

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