I'm looping through multiple objects, but the loop stops before going to the next object.
Created a loop with condition. If condition is met, it calls a ReduceEdge() function. Problem is it will only iterate once and not go to the next object and repeat the procedure.
- global proc ReduceEdge()
- {
- polySelectEdgesEveryN "edgeRing" 2;
- polySelectEdgesEveryN "edgeLoop" 1;
- polyDelEdge -cv on;
- }
-
- string $newSel[] = `ls -sl`;
-
- for($i = 0; $i < size($newSel); $i++)
- {
- select $newSel[$i];
- int $polyEval[] = `polyEvaluate -e $newSel[$i]`;
- int $temp = $polyEval[0];
-
- for($k = 0; $k < $temp; $k++)
- {
- string $polyInfo[] = `polyInfo -fn ($newSel[$i] + ".f[" + $k + "]")`;
- $polyInfo = stringToStringArray($polyInfo[$i]," ");
-
- float $vPosX = $polyInfo[2];
- float $vPosY = $polyInfo[3];
- float $vPosZ = $polyInfo[4];
-
- if($vPosX == 0 && $vPosY == 0 && $vPosZ == 1.0)
- {
- select ($newSel[$i] + ".e[" + $k + "]");
- ReduceEdge();
- }
- }
- }
Expected results: If I select 4 cylinders, all their edges will reduce by half the current amount.
Actual results:
When 4 cylinders are selected, only one reduces down to half the edges. The rest stay the same.
Replies