Welcome! Log In Create A New Profile

Advanced

nested for loop--Help needed

Posted by appjaws1 
nested for loop--Help needed
August 20, 2024 12:02PM
Hi,
for (i = [64 : 6 : 98]) , x = [3 : 0.16 : 4]) {
#translate([0, -14.5 , i]) rotate([0, 90, 0]) cylinder(h = 6,d = x);
echo ( i, x);
}

produced:-
ECHO: 64, 3
ECHO: 64, 3.16
ECHO: 64, 3.32
ECHO: 64, 3.48
ECHO: 64, 3.64
ECHO: 64, 3.8
ECHO: 64, 3.96
ECHO: 70, 3
ECHO: 70, 3.16
ECHO: 70, 3.32
ECHO: 70, 3.48
ECHO: 70, 3.64
ECHO: 70, 3.8
ECHO: 70, 3.96
ECHO: 76, 3
ECHO: 76, 3.16
ECHO: 76, 3.32
ECHO: 76, 3.48
ECHO: 76, 3.64
ECHO: 76, 3.8
ECHO: 76, 3.96
ECHO: 82, 3
ECHO: 82, 3.16
ECHO: 82, 3.32
ECHO: 82, 3.48
ECHO: 82, 3.64
ECHO: 82, 3.8
ECHO: 82, 3.96
ECHO: 88, 3
ECHO: 88, 3.16
ECHO: 88, 3.32
ECHO: 88, 3.48
ECHO: 88, 3.64
ECHO: 88, 3.8
ECHO: 88, 3.96
ECHO: 94, 3
ECHO: 94, 3.16
ECHO: 94, 3.32
ECHO: 94, 3.48
ECHO: 94, 3.64
ECHO: 94, 3.8
ECHO: 94, 3.96

I only want the x variable to increase once for each increase in i.
I expected 64, 3
70, 3.16
76, 3.32
82, 3.48
88, 3.64
94, 3.8

I just can't see what I am doing wrong.

Any help please


appjaws - Core XYUV Duet Ethernet Duex5
firmware 3.1.1 Web Interface 3.1.1
Ormerod 1-converted to laser engraver, Duet wifi
OpenSCAD version 2020.07
slic3r-1.3.0, Simplify3D 4.1.2, Cura-4.4.1
Re: nested for loop--Help needed
August 20, 2024 02:52PM
for (i = [64 : 6 : 98] , x = [3 : 0.16 : 4]) is the same as

for (i = [64 : 6 : 98])
for (x = [3 : 0.16 : 4])
do stuff
Ie a loop in a loop
you want

for (l = [0 : 1 : 5]) {
    i= 64+l*6;
    x= 3+l*0.16;
translate([0, -14.5 , i]) rotate([0, 90, 0]) cylinder(h = 6,d = x);
echo ( i, x);
};

Edited 1 time(s). Last edit at 08/21/2024 07:52AM by Dust.
Re: nested for loop--Help needed
August 21, 2024 09:57AM
Thank you so much Dust,
That works well.


appjaws - Core XYUV Duet Ethernet Duex5
firmware 3.1.1 Web Interface 3.1.1
Ormerod 1-converted to laser engraver, Duet wifi
OpenSCAD version 2020.07
slic3r-1.3.0, Simplify3D 4.1.2, Cura-4.4.1
Sorry, only registered users may post in this forum.

Click here to login