全球FlexSim系统仿真中文论坛

搜索
查看: 1465|回复: 4
打印 上一主题 下一主题

PF里判断命令代码无法识别标签的问题

[复制链接]
跳转到指定楼层
1#
廉梦华 发表于 2023-12-13 08:46:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我想达成的结果是——通过发生器创建四种不同的临时实体,分别是绕x轴旋转180度、绕z轴旋转180度、绕x轴和z轴旋转180度、不旋转这四种临时实体,同时给这四种临时实体赋标签分别为xRotation、zRotation、xzRotation、noRotation。然后从PF里的判断命令中引出4条支线1、2、3、4分别对应上面四种实体,判断里的代码总是识别不了我给临时实体设置的标签,有没有哪位老师可以帮我看一下,是哪里的问题,该怎么办才能解决,十分感谢!" b& P' Q# F1 |( @$ f
发生器的代码如下:/ j5 K. F' x! `1 v) B3 I
/**Custom Code*/& r+ K  i; h* P* M& h$ a
) j/ J- T% I1 m+ k) ?  x- v8 \
Object current = ownerobject(c);! M$ B# Z  |( d0 d- D6 {# ^) [. D
Object item = param(1);3 q4 l, I# t' p' |  E+ ]
int port = param(2);
4 g, X% H, U* ~7 ~1 S  [) s8 N$ S1 A
Object involved = item;% ]# s7 {: k$ R% Y$ B3 Y0 s
double x1 =180;
. z' q0 V6 p% X9 d* Cdouble y1 = 0;
8 W) O  u3 ]6 \: z) ~double z1 = 0;/ u& f6 }' ^% e' M/ Q% O
. B3 E7 d  c( Q; J; R7 l2 [
double x2 = 0;7 ?9 i) [- O/ }+ e' ^. b7 |
double y2 = 0;* _8 A3 c  s- h1 c
double z2 = 180;
: V0 y; o- R# u: g- O4 I0 v# p  P; f$ e7 }
double x3 = 180;4 T$ C5 s7 {- M" q
double y3 = 0;$ ^2 ]8 _) Y5 |6 {+ z( m
double z3 = 180;
2 p% ]2 `' m' B4 X( w$ Q. s9 }( i
5 ]7 Q& }  b5 D8 d+ M! r- t# `double x4 = 0;/ m" O' ]5 ]* w6 U/ J
double y4 = 0;
$ |/ ^! F  u" {4 ?0 @double z4 = 0;( P) j3 O7 x" G& t

4 O$ W! J+ M+ D, O9 b$ }  xdouble randomVal = duniform(0, 4);
. C. X4 _$ R+ U# D2 l9 _if(randomVal < 1)( S' v5 N( k$ a) T! {7 q0 \
{
& x& ], h: n: ~* E   setrot(involved, x1, y1, z1);+ }) b+ M+ C: m* o$ D/ h- C
  setlabel(involved,"Rotation","xRotation");
2 [5 h' \. R: U# j& ?0 B}6 F7 L" v0 ^0 D8 b3 k+ T
else if( randomVal < 2); }/ ^5 K( N& P5 g" u) B' M3 b
{  
* W+ B. j$ s" O$ p- ]! U    setrot(involved, x2, y2, z2);
1 x9 y* A, |& S2 j' K9 \   setlabel(involved,"Rotation","zRotation");
0 \6 e8 |* b% {1 l}6 J( t# T) Z; P8 w3 U0 @) ]: t' g
else if(randomVal < 3 )# |! e# s6 R  `: X
{/ v9 L  I. z) Z! u. a+ ~' a+ M
    setrot(involved, x3, y3, z3);, b1 J5 L+ H$ m  g( \% @
   setlabel(involved,"Rotation","xzRotation");2 i; b& R$ H1 Z5 V! j; `" Z. z9 E( B
}
# J# G- v* B- V2 r% g/ |- lelse8 M, A0 ?% |, R& F
{
8 M2 L% R# ?0 m( Q4 {  F    setrot(involved, x4, y4, z4);
* Z8 N  s+ l6 ~& H: M  {4 |  setlabel(involved,"Rotation","noRotation");. C& t1 Z$ _1 Z$ F+ T0 L
}# g( D7 a& D# ~4 w8 g# ?) G$ p
判断的代码如下:
5 E+ J8 ^# ~, Q0 z$ o9 L/**Custom Code*/: _5 q6 C2 h! o% d7 |2 x/ Q) w
Object current =ownerobject(c);
; Y4 Z+ ~. T0 D5 zObject item = param(1);
; R2 A1 r% M$ d5 i$ s  hint port = param(2);
) z( i) z; |8 c1 U) h  N7 q3 Z+ }: Y  i0 E' }+ ]6 h
Object involved = item;
4 B# n; O: k4 F4 m0 B9 r0 N( U
( R9 m: e1 N# ]( O( T9 g5 rstring labelVal = getlabelstr(involved, "Rotation");4 l7 W% w, A" L4 {: S. v4 K

+ O. Y- E+ t, x+ q' ^0 p/ Z5 [/ jif(labelVal == "xRotation")6 P& `$ z$ u8 a
{: I* v9 t5 E+ p) L  ^0 U0 b% s4 [
    return 1; // Divert the item to port 1
; Q, F6 u/ I, c; U6 l) r3 H" J}0 V. i- ?) K% v$ W3 G( }* F
else if(labelVal == "zRotation")
+ S/ v9 A) P5 ~6 m# a' {* ?1 }9 Y{+ w, M8 h$ X8 @! {" P# ~
    return 2; // Divert the item to port 2* |0 J5 n, E# j# _
}
& u5 U3 I: I2 L  qelse if(labelVal == "xzRotation"); `' U0 I2 _$ ^9 \; L) U* Q0 i5 R
{
7 ?/ @. m/ R. ^    return 3; // Divert the item to port 3- [. E8 \+ h0 C8 J
}* ^0 n9 n2 x3 x. H& k; _
else if(labelVal == "noRotation")
# c0 e! B- H1 }; U; E* ?# a{
* @- E* h' ~' z    return 4; // Divert the item to port 4
$ U( f$ N: [4 X' g9 x  ?& g. u}& n+ J* ~1 _# c/ N4 l
% C" q7 z2 P* l* h' Y
模型附上:& h, F' V( {! S

本帖子中包含更多资源

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

x
5#
 楼主| 廉梦华 发表于 2023-12-13 13:40:55 | 只看该作者
csn-support 发表于 2023-12-13 12:07
" C* I* I. V6 B( @" f直接读取标签也可以,不过要记得加上token.

. J' Y- n4 i! K9 e) n/ U+ X  [% a8 U感谢老师的指导
4#
csn-support 发表于 2023-12-13 12:07:11 | 只看该作者
廉梦华 发表于 2023-12-13 11:537 {) ?) ~) t# g) M
谢谢!谢谢!十分感谢老师的指导,

1 R2 r% Q* T0 ], V; r8 A1 M# x8 J& m直接读取标签也可以,不过要记得加上token.& v" {# z* w1 _2 f

本帖子中包含更多资源

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

x
3#
 楼主| 廉梦华 发表于 2023-12-13 11:53:51 | 只看该作者
csn-support 发表于 2023-12-13 09:58
9 _1 M- n. j+ q6 N! N5 y+ E! y2 D在pf中没有对四种类型的标签赋值,需要赋值以后再进行判断。
6 w9 x. Z& C7 U/ q# Y8 O; G" D& X
谢谢!谢谢!十分感谢老师的指导,
2#
csn-support 发表于 2023-12-13 09:58:25 | 只看该作者
在pf中没有对四种类型的标签赋值,需要赋值以后再进行判断。, s- z! s0 y; P1 q+ `; m$ `5 A

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-29 00:13 , Processed in 0.075357 second(s), 15 queries .

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

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