Dear all,
I am trying to join two prisms, a squared one and one with an octagon as base with join_prism to have a fillet at the connecting edges. I don't get it to work in the way I'd like to. I am not sure if I'm doing something wrong or if I don't fully understand the limitations of join_prism.
Please consider the following (extremely simplified!!!) example:
include <BOSL2/std.scad>
// spin != 0 fails
pathOct = octagon(d = 20, spin = 0);
// size > 8 fails
pathSq = square(size = 8, spin = 45, center = true);
join_prism(
polygon = pathSq,
length = 10,
base = pathOct,
fillet = 2,
);
yrot(90)
offset_sweep(
path = pathOct,
height = 40,
anchor = CENTER,
);
This produces a good looking fillet (first picture). Nonetheless, actually I'd like to increase the size of the square to 12 and turn the octagon around x by 22.5 degrees (flat top and bottom). If I do so, it produces weird fillets that don't cover the connecting edges correctly (second picture).
What Am I doing / understanding wrong?
Best,
Thomas
Correct fillet:
Wrong fillet:
I think the fillets look right. It just seems sharper, because edges
coincide in the "wrong" picture. Try doing an "animation", with the octagon
turning slowly, and/or with the square piece growing, to see how the
fillets grow/change.
On Mon, 28 Sept 2026 at 16:23, Thomas Richter via Discuss <
discuss@lists.openscad.org> wrote:
Dear all,
I am trying to join two prisms, a squared one and one with an octagon as
base with join_prism to have a fillet at the connecting edges. I don't get
it to work in the way I'd like to. I am not sure if I'm doing something
wrong or if I don't fully understand the limitations of join_prism.
Please consider the following (extremely simplified!!!) example:
include <BOSL2/std.scad>
// spin != 0 fails
pathOct = octagon(d = 20, spin = 0);
// size > 8 fails
pathSq = square(size = 8, spin = 45, center = true);
join_prism(
polygon = pathSq,
length = 10,
base = pathOct,
fillet = 2,
);
yrot(90)
offset_sweep(
path = pathOct,
height = 40,
anchor = CENTER,
);
This produces a good looking fillet (first picture). Nonetheless, actually
I'd like to increase the size of the square to 12 and turn the octagon
around x by 22.5 degrees (flat top and bottom). If I do so, it produces
weird fillets that don't cover the connecting edges correctly (second
picture).
What Am I doing / understanding wrong?
Best,
Thomas
Correct fillet:
Wrong fillet:
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Your squares has only four points. Not enough for a good match. You need to
resample the square to have more points.
On Mon, Sep 28, 2026 at 10:23 Thomas Richter via Discuss <
discuss@lists.openscad.org> wrote:
Dear all,
I am trying to join two prisms, a squared one and one with an octagon as
base with join_prism to have a fillet at the connecting edges. I don't get
it to work in the way I'd like to. I am not sure if I'm doing something
wrong or if I don't fully understand the limitations of join_prism.
Please consider the following (extremely simplified!!!) example:
include <BOSL2/std.scad>
// spin != 0 fails
pathOct = octagon(d = 20, spin = 0);
// size > 8 fails
pathSq = square(size = 8, spin = 45, center = true);
join_prism(
polygon = pathSq,
length = 10,
base = pathOct,
fillet = 2,
);
yrot(90)
offset_sweep(
path = pathOct,
height = 40,
anchor = CENTER,
);
This produces a good looking fillet (first picture). Nonetheless, actually
I'd like to increase the size of the square to 12 and turn the octagon
around x by 22.5 degrees (flat top and bottom). If I do so, it produces
weird fillets that don't cover the connecting edges correctly (second
picture).
What Am I doing / understanding wrong?
Best,
Thomas
Correct fillet:
Wrong fillet:
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org