discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Why does polygon() show a preview in three dimensions in this code?

KC
Kevin Cole
Sun, Feb 15, 2026 9:39 PM

// This renders as a 2D surface, but previews as 3D???
//
arc = 360 / 7;
rgbs = ["#FF0000",    //  0 degrees "red"
"#FFD900",    //  51 degrees "yellow-ish"
"#4CFF00",    // 103 degrees "green-ish"
"#00FF91",    // 154 degrees "blue-ish green"
"#0091FF",    // 206 degrees "green-ish blue"
"#4800FF",    // 257 degrees "blue-ish purple"
"#FF00DD"];    // 308 degrees "red-ish pink"

module wedge(angle) {
points = [
[0,                0              ],  // Center point
[cos(angle),      sin(angle)      ],  // Outer point 1
[cos(angle + arc), sin(angle + arc)]  // Outer point 2
];
polygon(points);
}

for (i = [0 : 7 - 1]) {
angle = arc * i;
color(rgbs[i])
wedge(angle);
}

// This renders as a 2D surface, but previews as 3D??? // arc = 360 / 7; rgbs = ["#FF0000", // 0 degrees "red" "#FFD900", // 51 degrees "yellow-ish" "#4CFF00", // 103 degrees "green-ish" "#00FF91", // 154 degrees "blue-ish green" "#0091FF", // 206 degrees "green-ish blue" "#4800FF", // 257 degrees "blue-ish purple" "#FF00DD"]; // 308 degrees "red-ish pink" module wedge(angle) { points = [ [0, 0 ], // Center point [cos(angle), sin(angle) ], // Outer point 1 [cos(angle + arc), sin(angle + arc)] // Outer point 2 ]; polygon(points); } for (i = [0 : 7 - 1]) { angle = arc * i; color(rgbs[i]) wedge(angle); }
CC
Cory Cross
Sun, Feb 15, 2026 10:26 PM

2d is given 1 unit thickness in preview

On February 15, 2026 1:39:06 PM PST, Kevin Cole via Discuss discuss@lists.openscad.org wrote:

// This renders as a 2D surface, but previews as 3D???
//
arc = 360 / 7;
rgbs = ["#FF0000",    //  0 degrees "red"
"#FFD900",    //  51 degrees "yellow-ish"
"#4CFF00",    // 103 degrees "green-ish"
"#00FF91",    // 154 degrees "blue-ish green"
"#0091FF",    // 206 degrees "green-ish blue"
"#4800FF",    // 257 degrees "blue-ish purple"
"#FF00DD"];    // 308 degrees "red-ish pink"

module wedge(angle) {
points = [
[0,                0              ],  // Center point
[cos(angle),      sin(angle)      ],  // Outer point 1
[cos(angle + arc), sin(angle + arc)]  // Outer point 2
];
polygon(points);
}

for (i = [0 : 7 - 1]) {
angle = arc * i;
color(rgbs[i])
wedge(angle);
}


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

2d is given 1 unit thickness in preview On February 15, 2026 1:39:06 PM PST, Kevin Cole via Discuss <discuss@lists.openscad.org> wrote: >// This renders as a 2D surface, but previews as 3D??? >// >arc = 360 / 7; >rgbs = ["#FF0000", // 0 degrees "red" > "#FFD900", // 51 degrees "yellow-ish" > "#4CFF00", // 103 degrees "green-ish" > "#00FF91", // 154 degrees "blue-ish green" > "#0091FF", // 206 degrees "green-ish blue" > "#4800FF", // 257 degrees "blue-ish purple" > "#FF00DD"]; // 308 degrees "red-ish pink" > >module wedge(angle) { > points = [ > [0, 0 ], // Center point > [cos(angle), sin(angle) ], // Outer point 1 > [cos(angle + arc), sin(angle + arc)] // Outer point 2 > ]; > polygon(points); >} > >for (i = [0 : 7 - 1]) { > angle = arc * i; > color(rgbs[i]) > wedge(angle); >} >_______________________________________________ >OpenSCAD mailing list >To unsubscribe send an email to discuss-leave@lists.openscad.org