I defined a few wobj as below:
PERS wobjdata wobj_0 :=[ FALSE, TRUE, “”, [ [0, -1570, 550], [1, 0, 0 ,0] ], [ [0, 0, 0], [1, 0, 0 ,0] ] ];
PERS wobjdata wobj_5 :=[ FALSE, TRUE, “”, [ [0, -1570, 550], [0.99905, 0.03082, -0.03082, 0] ], [ [0, 0, 0], [1, 0, 0 ,0] ] ];
PERS wobjdata wobj_10 :=[ FALSE, TRUE, “”, [ [0, -1570, 550], [0.99619, 0.06163, -0.06163, 0] ], [ [0, 0, 0], [1, 0, 0 ,0] ] ];
PERS wobjdata wobj_15 :=[ FALSE, TRUE, “”, [ [0, -1570, 550], [0.99144, 0.09230, -0.09230, 0] ], [ [0, 0, 0], [1, 0, 0 ,0] ] ];
PERS wobjdata wobj_20 :=[ FALSE, TRUE, “”, [ [0, -1570, 550], [0.98481, 0.12279, -0.12279, 0] ], [ [0, 0, 0], [1, 0, 0 ,0] ] ];
PERS wobjdata wobj_25 :=[ FALSE, TRUE, “”, [ [0, -1570, 550], [0.97630, 0.15305, -0.15305, 0] ], [ [0, 0, 0], [1, 0, 0 ,0] ] ];
and then I used them in a script as follows:
FOR a FROM 0 TO 90 STEP 5 DO
X := Rsin(45-a);
Y := Rcos(45-a);
Z := 0;
q1 := 0.5sqrt(1-sin(45-a));
q2 := 0.5sqrt(1+sin(45-a));
q3 := 0.5sqrt(1-sin(45-a));
q4 := -0.5sqrt(1+sin(45-a));
nenorm := [q1, q2, q3, q4];
p{a+1} := [[X,Y,Z],nenorm,[-1,0,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
ENDFOR
FOR a FROM 0 TO 90 STEP 5 DO
MoveJ p{a+1}, v400, fine, tool0 \WObj:=wobj_0;
ENDFOR
FOR a FROM 90 TO 0 STEP -5 DO
MoveJ p{a+1}, v400, fine, tool0 \WObj:=wobj_5;
ENDFOR
FOR a FROM 0 TO 90 STEP 5 DO
MoveJ p{a+1}, v400, fine, tool0 \WObj:=wobj_10;
ENDFOR
FOR a FROM 90 TO 0 STEP -5 DO
MoveJ p{a+1}, v400, fine, tool0 \WObj:=wobj_15;
ENDFOR
FOR a FROM 0 TO 90 STEP 5 DO
MoveJ p{a+1}, v400, fine, tool0 \WObj:=wobj_20;
ENDFOR
FOR a FROM 90 TO 0 STEP -5 DO
MoveJ p{a+1}, v400, fine, tool0 \WObj:=wobj_25;
ENDFOR
Is it possible to replace the six FOR above with a kind of two-level FOR as below?
FOR n FROM 0 TO 20 STEP 10 DO
FOR a FROM 0 TO 90 STEP 5 DO
MoveJ p{a+1}, v400, fine, tool0 \WObj:=wobj_n;
ENDFOR
FOR a FROM 90 TO 0 STEP -5 DO
MoveJ p{a+1}, v400, fine, tool0 \WObj:=wobj_n+5;
ENDFOR
ENDFOR