全球FlexSim系统仿真中文论坛

搜索
查看: 1456|回复: 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分别对应上面四种实体,判断里的代码总是识别不了我给临时实体设置的标签,有没有哪位老师可以帮我看一下,是哪里的问题,该怎么办才能解决,十分感谢!
3 z2 J7 _7 W7 G发生器的代码如下:
/ i" B% K- S3 c/**Custom Code*// J3 e/ V: i6 L0 G* g) U  {. K  m

- p# K4 Z* b# @* g) S) C! o+ KObject current = ownerobject(c);  N# K3 C5 N( c# q  V' Y
Object item = param(1);
3 Q. `5 i# r( s. ?+ gint port = param(2);
% h' q) _# `6 P" H/ ^7 }& _$ D
6 Z5 d6 z- x; YObject involved = item;  v( y  K7 }) Z) i5 S
double x1 =180;
0 K0 P( p7 S. d6 A. J8 \# hdouble y1 = 0;/ e% ^/ j! H7 @% ]& K0 h+ P$ R, s: X
double z1 = 0;# K# p% V  X$ ^5 G
: \2 k# r: F+ F* e
double x2 = 0;
2 V1 L" {' p5 n$ Ldouble y2 = 0;$ G3 X, B6 e: _( F; p& a
double z2 = 180;
" H. V# ?7 E8 Y- B4 h
6 K7 T$ U5 A7 M. {) S$ ydouble x3 = 180;
5 X8 u# `. D) C8 V8 f$ q% Mdouble y3 = 0;
; [2 M& t7 T( P, u. n+ adouble z3 = 180;# f% u2 [0 V" G$ J2 U( |
% Q9 L. q% v7 {" p6 R
double x4 = 0;
) |" s& U$ l$ |) ?double y4 = 0;% b1 V/ P, Q, S# \! ?
double z4 = 0;
) d0 b: I. C0 x. V% Y: @
: }$ o7 E3 @: P1 g4 U; R9 [! H  gdouble randomVal = duniform(0, 4);
0 V- b6 G5 w8 H) O2 J3 [9 D9 Vif(randomVal < 1)
; w) T9 Z6 Q1 j  ?+ u{. e& [; A' J5 D
   setrot(involved, x1, y1, z1);3 o; Z: q8 `0 |& B4 U  }7 F
  setlabel(involved,"Rotation","xRotation");/ t8 W# e! {* T4 R1 d% Y; P
}
6 x* Y9 m% f3 }$ ^: `else if( randomVal < 2)1 Q- s/ F# F! M
{  
7 W7 E* J  v' |+ R9 W; d    setrot(involved, x2, y2, z2);3 g/ p" n( t; Z9 y" k( Y& X  T
   setlabel(involved,"Rotation","zRotation");
# k1 b- Q( @6 x. E% Q1 H}
" ]( p. l2 ]0 _) eelse if(randomVal < 3 )5 q% K2 S4 o) x" m3 b
{
- m4 R, L' R1 B4 w    setrot(involved, x3, y3, z3);
6 ?! R5 S# b) G7 ^   setlabel(involved,"Rotation","xzRotation");2 Z# _. d. T, N2 C/ U0 L7 i
}/ h5 }4 P, O, ]( P, m
else
2 ]/ E; K6 O; v% L{5 C, O: J& x8 Q: j
    setrot(involved, x4, y4, z4);6 a; B! G" E* k
  setlabel(involved,"Rotation","noRotation");( x; g$ _% P2 x) I% u' A! U  i
}: u0 b" i3 T  b% M
判断的代码如下:0 v! @6 T* x' W0 d; v( ~# R
/**Custom Code*/
2 ?0 A5 F, K: l: _Object current =ownerobject(c);
  U7 s8 V& a" zObject item = param(1);& W% L- Q; `- L5 n& i3 v9 X! X
int port = param(2);
9 T; G" w/ o; ~1 X+ t3 P$ g% z6 [6 z8 F( B
Object involved = item;
/ |; l$ A" r, @2 b  {# G% Q$ P: P- S% Z. L/ K" @; x
string labelVal = getlabelstr(involved, "Rotation");
: q; G, J  X$ u5 O% s$ f6 Y
5 c) s, q+ ^* X9 s7 ?9 Vif(labelVal == "xRotation"): s% O6 m8 Q: p# i6 D  ]
{2 W. ^! `, I, A) }
    return 1; // Divert the item to port 1
* p0 ]' q3 i: I; F* C3 O! h' p}3 ^8 x% A( p! A  n0 r- U
else if(labelVal == "zRotation")+ q8 P2 [& j' k/ V
{
' ^; u9 d, u) T1 ^    return 2; // Divert the item to port 2
: J9 p: b% R0 f1 `}
% s; j+ ]7 K; _. g5 xelse if(labelVal == "xzRotation")6 @  M! [. x% L7 f/ B. e
{( {5 j) Y+ `+ e- t3 s  s& c) Q
    return 3; // Divert the item to port 3
$ K  `- r+ D5 Y, y: `: g}! Y' a0 g, |9 P( v" z9 X0 e$ j
else if(labelVal == "noRotation")" ~  C' {. e! K2 H% r( v- B( N+ j4 x
{/ `- X$ m: X+ x7 x
    return 4; // Divert the item to port 4% v6 }* n7 X" t7 e5 m. O$ }4 Z
}$ ]7 r) c# p. s" z1 }1 k7 Y" z

" q1 w2 }0 o2 P: }% W+ d模型附上:  A" j* w$ }$ r& e# M6 t; O) _

本帖子中包含更多资源

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

x
2#
csn-support 发表于 2023-12-13 09:58:25 | 只看该作者
在pf中没有对四种类型的标签赋值,需要赋值以后再进行判断。
% d( K. ?8 s% q" r2 P

本帖子中包含更多资源

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

x
3#
 楼主| 廉梦华 发表于 2023-12-13 11:53:51 | 只看该作者
csn-support 发表于 2023-12-13 09:58
+ i* R9 [3 M' @& T! L& E在pf中没有对四种类型的标签赋值,需要赋值以后再进行判断。

3 }" N/ b. M7 _# I谢谢!谢谢!十分感谢老师的指导,
4#
csn-support 发表于 2023-12-13 12:07:11 | 只看该作者
廉梦华 发表于 2023-12-13 11:53# f# j1 O8 b6 s8 ]5 n: p# o% {
谢谢!谢谢!十分感谢老师的指导,
1 ^/ R' G! m& Q$ o
直接读取标签也可以,不过要记得加上token.* e$ x2 B% @' {3 Q. o

本帖子中包含更多资源

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

x
5#
 楼主| 廉梦华 发表于 2023-12-13 13:40:55 | 只看该作者
csn-support 发表于 2023-12-13 12:07# L; N, X$ t& Q) f% O: w: n
直接读取标签也可以,不过要记得加上token.
0 [! n6 x7 h6 u, v  h
感谢老师的指导
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-28 04:54 , Processed in 0.071964 second(s), 14 queries .

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

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