全球FlexSim系统仿真中文论坛

搜索
查看: 379|回复: 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分别对应上面四种实体,判断里的代码总是识别不了我给临时实体设置的标签,有没有哪位老师可以帮我看一下,是哪里的问题,该怎么办才能解决,十分感谢!5 z' \6 w8 h9 E
发生器的代码如下:
1 W" @. i( {( A3 ^/**Custom Code*/: s; g4 ]$ ~# B5 b" ]" z

% r% ?' ~: Y% i" U6 gObject current = ownerobject(c);
* a& w9 T# b" c7 s! f% jObject item = param(1);
* T3 K, ?4 J' ?" _8 dint port = param(2);
" l' t6 s5 z- r7 P0 ^/ g- ?) y2 Z; t  [( s1 i6 \1 t. V1 Z7 l
Object involved = item;9 e8 |/ c- k; W3 T
double x1 =180;
, U8 r8 d4 T, Ddouble y1 = 0;
, }0 Y  |8 V6 n; c' tdouble z1 = 0;
. D3 N0 g3 ^9 L3 e, H. V( b
" o( k# F9 ]5 idouble x2 = 0;
: m7 f8 }7 k- b+ sdouble y2 = 0;
' \+ a. t8 k  r9 w+ R  fdouble z2 = 180;# q1 J: A$ e  `
" K3 d% `- O; }- _' W
double x3 = 180;" x5 E) x0 a+ i& z- b8 q: E
double y3 = 0;
# u4 A5 U/ k: t4 ]double z3 = 180;3 Z1 V, g$ q: O0 U7 t" |4 ]+ I# J

! L$ R0 _- b1 Fdouble x4 = 0;% C* I- y; t0 z2 W& e
double y4 = 0;, ~2 {& o- n" S  T6 ?
double z4 = 0;, ]2 u- y* o; U9 Y
- U$ I% D- S  g/ |: ]5 A
double randomVal = duniform(0, 4);
$ K8 y7 r! @' j: L! F* B% Aif(randomVal < 1)
9 d/ o& j, I0 ~6 s- ]2 U{  P9 v- D8 V7 n, b
   setrot(involved, x1, y1, z1);8 A  H/ H+ _6 z  F
  setlabel(involved,"Rotation","xRotation");
4 R1 N! _/ J. ?& _3 x- q8 s4 b}; V9 H+ {. k# ?: J0 O
else if( randomVal < 2)
- s1 O0 t5 p4 I& K' b: B  H{  
8 }5 {0 @. N$ n    setrot(involved, x2, y2, z2);8 K% h- p; G6 N" z! A
   setlabel(involved,"Rotation","zRotation");$ ~4 s7 s6 `6 w9 K
}
) i; ?6 \  I5 U; X2 }else if(randomVal < 3 )+ u0 [" M7 K. ]8 j* v# q  G
{) r$ U% R3 }/ r8 u$ \
    setrot(involved, x3, y3, z3);
% u1 D' }9 y0 P- Z   setlabel(involved,"Rotation","xzRotation");# B- @7 V) _! S
}
  ~2 |  D( ]5 C" L+ p' y0 celse1 {; z! Z9 m) n7 g
{
% g6 D6 X- s) S; [1 M, _& ?    setrot(involved, x4, y4, z4);) `& J# q, g# u. A$ y1 ^# V
  setlabel(involved,"Rotation","noRotation");0 B" F* l' [$ Z
}
& }5 k( K/ f$ l, s4 G& Z判断的代码如下:% K( u$ r* t5 @5 \" `
/**Custom Code*// m# Q+ Q- e: L  D. x
Object current =ownerobject(c);
9 @& R* Q' |$ V# A* wObject item = param(1);/ f3 J& Z2 ^& u4 y0 T6 X2 N) L
int port = param(2);
* ^, Y5 f: g0 O. g+ K% R! z( \" l
Object involved = item;
$ @/ J, d) Y5 }/ i& t$ y
1 F, q1 n9 I, Z9 q( v* v% _string labelVal = getlabelstr(involved, "Rotation");
( u4 O% x. {. v% [( ]& G& z
: M8 l/ T, {# m- C+ r2 _+ y; \if(labelVal == "xRotation")/ J" T' r) y3 y2 m/ C) W
{2 e; N8 X1 N2 Y7 i: @) A
    return 1; // Divert the item to port 1
- u* j8 Y! d. ]1 U5 g: z}4 U; q, Q( \) Y7 Y& j4 B
else if(labelVal == "zRotation")
( E. c! O, L7 ~9 |{3 O2 F6 d$ o% z1 {# U, O
    return 2; // Divert the item to port 2. e0 V5 ?9 W! o, m! t+ ]
}; ~) Z2 p7 \* ]% E. ]3 v3 P3 G) R
else if(labelVal == "xzRotation")
7 e7 H% ?" _1 h5 {2 u{/ S9 X0 o) C- L  a
    return 3; // Divert the item to port 3
1 ~  [- o) e+ u$ M6 m}
0 P/ U8 D. U/ Welse if(labelVal == "noRotation"); v/ i7 B; w, [4 M4 [5 x
{" x( n& w& [3 Q# A: ~9 h
    return 4; // Divert the item to port 4
3 g- E& O, C5 G/ h}
( ~7 B6 l  ]% B, T/ W* E5 {! Q& a- i
' n# g, W+ M/ l9 X9 V; }% E模型附上:
% `2 P5 V$ p5 y: V8 }9 O: I% J8 }" {

本帖子中包含更多资源

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

x
2#
csn-support 发表于 2023-12-13 09:58:25 | 只看该作者
在pf中没有对四种类型的标签赋值,需要赋值以后再进行判断。
3 r! l6 J' ?6 A, a9 w1 r

本帖子中包含更多资源

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

x
3#
 楼主| 廉梦华 发表于 2023-12-13 11:53:51 | 只看该作者
csn-support 发表于 2023-12-13 09:58( a+ t7 Z* \  G2 |7 E
在pf中没有对四种类型的标签赋值,需要赋值以后再进行判断。

0 e2 D. t& Y7 I0 `谢谢!谢谢!十分感谢老师的指导,
4#
csn-support 发表于 2023-12-13 12:07:11 | 只看该作者
廉梦华 发表于 2023-12-13 11:53( m* v) R6 U5 h+ g* ~& r
谢谢!谢谢!十分感谢老师的指导,

4 \3 B! W0 Q6 R( A直接读取标签也可以,不过要记得加上token.. L, M# o; i: J0 B- w1 v6 e

本帖子中包含更多资源

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

x
5#
 楼主| 廉梦华 发表于 2023-12-13 13:40:55 | 只看该作者
csn-support 发表于 2023-12-13 12:079 M% a2 I/ g+ y
直接读取标签也可以,不过要记得加上token.

6 _7 p2 C* D2 [感谢老师的指导
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-10 13:56 , Processed in 0.061488 second(s), 14 queries .

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

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