全球FlexSim系统仿真中文论坛

搜索
查看: 1485|回复: 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分别对应上面四种实体,判断里的代码总是识别不了我给临时实体设置的标签,有没有哪位老师可以帮我看一下,是哪里的问题,该怎么办才能解决,十分感谢!
" D$ g( v9 v- p- e3 B6 Z% k6 F发生器的代码如下:
/ [: l: S% C6 x5 o8 d/**Custom Code*/
. ~8 y  i& C3 M! @( |# ?: Z8 `) s/ ~+ s/ e! K8 Z
Object current = ownerobject(c);
3 ^# @  f7 I, s# P6 g  H6 nObject item = param(1);0 r/ e  l0 `( d2 Z) r' r
int port = param(2);/ {0 E6 @# R3 k$ w1 j: l. O9 P
6 J8 N1 y4 }  h" q( B3 B& `- o. F, t
Object involved = item;  W9 q; X0 y3 n9 m; v: }' e5 b
double x1 =180;; ?& S( C* @6 \2 j2 h
double y1 = 0;
: j  V6 p8 _$ F6 b' p& z5 L" Ydouble z1 = 0;* @; _  e$ W1 H8 W% L, B
; k* v/ W- ~3 T6 N
double x2 = 0;
& s3 Q2 K9 F* {5 e$ t. W4 pdouble y2 = 0;3 ^  N( S! v8 E- D; M( v; ]* ?
double z2 = 180;4 p6 k- T, Z6 }

6 x; J4 p) X; R  T6 odouble x3 = 180;! G% ?# x# _0 I+ l& t. i. ?
double y3 = 0;) J# H7 A0 c& A5 x. r
double z3 = 180;* Q1 b# b8 q7 `; W
$ L; f" l+ ?) h  T$ @* J
double x4 = 0;
$ Z% \. ]$ f% q# Ndouble y4 = 0;; S, E+ k& v8 u9 \; Y9 U
double z4 = 0;
0 {6 h" _$ m- t! \
& ?, [0 ^* L* Z' a/ K& Xdouble randomVal = duniform(0, 4);4 w/ G, R5 X3 M7 J' h) B
if(randomVal < 1)
3 F$ l% q; g- u; O9 V{
4 y' J- {. L' y/ r$ e   setrot(involved, x1, y1, z1);! L+ t8 Q8 m1 V" x
  setlabel(involved,"Rotation","xRotation");: I; k7 h+ ^( W. o, c
}" D8 C3 K) Y8 t1 p# p) ?; _
else if( randomVal < 2)0 {4 ^0 M) Y  `2 P
{  & Q5 ]. z7 x, K! j2 e/ t
    setrot(involved, x2, y2, z2);
. ~3 R. T6 M; V& S   setlabel(involved,"Rotation","zRotation");3 y$ h; Y" l1 L: s4 I
}' f# ?6 W  O+ G1 C0 s( q; q, L6 {
else if(randomVal < 3 )2 B* W9 ?7 k; c
{
; R# b3 a9 \; Z2 M, w    setrot(involved, x3, y3, z3);
6 g& K1 L0 v9 W  C! E   setlabel(involved,"Rotation","xzRotation");2 M0 D- w0 x4 l5 A- V" P5 ]/ A
}  {3 M2 Y% Y) f- b
else
( t& @' f9 W) Y9 c$ }3 a4 c{
0 h$ }7 q4 m& q0 |* W    setrot(involved, x4, y4, z4);9 S% j( A! _4 n4 L4 i5 d& v
  setlabel(involved,"Rotation","noRotation");
0 ], h: S# l; e% R  A}
. k; L, y: z2 C$ s, N2 p, X判断的代码如下:
7 E$ _# Q4 i& r7 x) e* i/**Custom Code*/3 r: h3 {. i0 t9 P6 N
Object current =ownerobject(c);
# O6 o5 {  k* A, Q2 S* {8 bObject item = param(1);: A+ _/ M; T$ z/ M* C+ G
int port = param(2);/ t& T/ l8 V$ N0 T+ A8 z
9 K) E2 q- [- _% M2 _" h
Object involved = item;+ o$ \! ?3 _3 [2 N9 ^, ?- _* Z. p

. i; u/ l: d% a# c) b' t5 E) J$ tstring labelVal = getlabelstr(involved, "Rotation");
4 r* d) {6 _! [# j
9 s+ j- E8 K$ H! `: ~if(labelVal == "xRotation")5 x; O7 T4 z( s3 H' C# y+ [
{9 p. d: ~* S5 O4 q+ l2 \
    return 1; // Divert the item to port 17 A" q: k* B' m3 z3 L1 Z4 ~, \0 P
}5 Q" [* @9 t: g1 C0 s
else if(labelVal == "zRotation")
4 L$ {# L7 b8 E- i% `0 h5 g  ^{
! s8 y( M  V& E& F3 Y1 _    return 2; // Divert the item to port 2
- M/ P5 t' K" P, j5 w}
; l, m/ u$ l! `0 C2 r) ?1 G( Pelse if(labelVal == "xzRotation")+ _. l+ X' W. q
{9 Z3 x* m. E( l
    return 3; // Divert the item to port 3
1 g  h) q7 g, S- n* a, Y}
' T: S' w5 q- |0 S4 u5 \! i  }2 S9 Eelse if(labelVal == "noRotation")" W% K7 p8 p# N: ~4 i# ~
{
' K* H9 _6 k0 K+ Q" }) _2 t    return 4; // Divert the item to port 4
/ U- c  l& {* D8 J( E, @}+ A% e2 B5 I( n% [& c( u1 s

& b# j; `5 }7 I5 e. ?模型附上:* _% v: J/ U3 u2 J

本帖子中包含更多资源

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

x
2#
csn-support 发表于 2023-12-13 09:58:25 | 只看该作者
在pf中没有对四种类型的标签赋值,需要赋值以后再进行判断。# Q" o  Z+ S: B8 y3 C

本帖子中包含更多资源

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

x
3#
 楼主| 廉梦华 发表于 2023-12-13 11:53:51 | 只看该作者
csn-support 发表于 2023-12-13 09:58
5 u' t  n7 l2 q2 X$ R在pf中没有对四种类型的标签赋值,需要赋值以后再进行判断。

: n2 ?) q" W6 i4 f& f% {( `# H谢谢!谢谢!十分感谢老师的指导,
4#
csn-support 发表于 2023-12-13 12:07:11 | 只看该作者
廉梦华 发表于 2023-12-13 11:53! _7 K) w2 F0 E  C) w, p1 v; B) _
谢谢!谢谢!十分感谢老师的指导,

! N0 V& E1 C9 m1 D: z直接读取标签也可以,不过要记得加上token.
7 M- C; D) P! g5 X5 m' B# ~

本帖子中包含更多资源

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

x
5#
 楼主| 廉梦华 发表于 2023-12-13 13:40:55 | 只看该作者
csn-support 发表于 2023-12-13 12:07) l- ]9 k' i+ ~7 D: w6 v6 ~9 C: i
直接读取标签也可以,不过要记得加上token.
$ g# @* T2 i% V2 w9 \
感谢老师的指导
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-2 09:22 , Processed in 0.065665 second(s), 15 queries .

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

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