BC
Bob Carlson
Sun, Oct 27, 2024 6:12 PM
Mostly, just don't use $fn except to create regular polygons. Use $fs and $fa; they are much less likely to lead you into silly settings.
You have $fn=16*360 = 5760. Assuming that the units are millimeters, the model is about 100mm in diameter, so its circumference is 314mm. That means that each side is 0.05mm. Those tiny sides, and the even tinier artifacts that they might cause, might well be a key part of your geometry problems. My bet is that you could use fewer than 100 sides and still be unable to see or feel the individual sides when you print it. And if you can see them, bump it up to 300 or 500, and you've still got 10x fewer sides than your version does.
Preview is (at least for me) horribly laggy when you try to move it, and it has what look like convexity artifacts.
Removing all of the settings for $fn and adding in a single global setting for $fa=1 and $fs=1, and it previews fast and fixes the convexity artifacts.
Switching to $fa and $fs produced a complete mess! However when I fixed the polyhedron, things looked much better. The minimum settings that produced no micro flaws that I could see was $fa = 1; $fs = 0.1;
The massive $fn apparently papered over the polyhedron problem temporarily.
Thanks, Bob
On Oct 26, 2024, at 16:21, Jordan Brown <openscad@jordan.maileater.net> wrote:
>
> Mostly, just don't use $fn except to create regular polygons. Use $fs and $fa; they are much less likely to lead you into silly settings.
>
> You have $fn=16*360 = 5760. Assuming that the units are millimeters, the model is about 100mm in diameter, so its circumference is 314mm. That means that each side is 0.05mm. Those tiny sides, and the even tinier artifacts that they might cause, might well be a key part of your geometry problems. My bet is that you could use fewer than 100 sides and still be unable to see or feel the individual sides when you print it. And if you can see them, bump it up to 300 or 500, and you've still got 10x fewer sides than your version does.
>
> Preview is (at least for me) horribly laggy when you try to move it, and it has what look like convexity artifacts.
>
> Removing all of the settings for $fn and adding in a single global setting for $fa=1 and $fs=1, and it previews fast and fixes the convexity artifacts.
Switching to $fa and $fs produced a complete mess! However when I fixed the polyhedron, things looked much better. The minimum settings that produced no micro flaws that I could see was $fa = 1; $fs = 0.1;
The massive $fn apparently papered over the polyhedron problem temporarily.
Thanks, Bob
JB
Jordan Brown
Sun, Oct 27, 2024 7:19 PM
On 10/27/2024 11:12 AM, Bob Carlson wrote:
The minimum settings that produced no micro flaws that I could see was
$fa = 1; $fs = 0.1;
What you can see on the screen is very different from what you can see
in plastic. Try some test prints.
On 10/27/2024 11:12 AM, Bob Carlson wrote:
> The minimum settings that produced no micro flaws that I could see was
> $fa = 1; $fs = 0.1;
What you can see on the screen is very different from what you can see
in plastic. Try some test prints.
BC
Bob Carlson
Mon, Oct 28, 2024 12:36 AM
Of course, I still like it to look nice and performance isn’t an issue.
The minimum settings that produced no micro flaws that I could see was $fa = 1; $fs = 0.1;
What you can see on the screen is very different from what you can see in plastic. Try some test prints.
Of course, I still like it to look nice and performance isn’t an issue.
- Bob
> On Oct 27, 2024, at 12:19, Jordan Brown <openscad@jordan.maileater.net> wrote:
>
> On 10/27/2024 11:12 AM, Bob Carlson wrote:
>> The minimum settings that produced no micro flaws that I could see was $fa = 1; $fs = 0.1;
>
> What you can see on the screen is very different from what you can see in plastic. Try some test prints.
>
JB
Jordan Brown
Mon, Oct 28, 2024 3:24 AM
On 10/27/2024 5:36 PM, Bob Carlson wrote:
What you can see on the screen is very different from what you can see in plastic. Try some test prints.
Of course, I still like it to look nice and performance isn’t an issue.
Indeed, with Manifold performance is less of an issue than it once was.
But remember that spheres have a complexity that is the square of the
number of sides, so it can get unreasonable pretty fast.
I took my own advice, and did some test prints. I'd done some in the
past, but not very systematically.
I made three cylinders, each with several vertical sections with
different numbers of sides. One disk is 100mm in diameter, one 50mm,
and one 25mm. The two smaller ones have 25, 50, 100, and 150 sides; the
larger one has 50, 100, 150, and 300 sides. (I've enclosed the program
below, for those who might want to duplicate the experiment.)
Sides
Angle
Side length
25mm
50mm
100mm
25
14.4°
3.1mm
6.3mm
50
7.2°
1.6mm
3.1mm
6.3mm
100
3.6°
0.8mm
1.6mm
3.1mm
150
2.4°
0.5mm
1mm
2.1mm
300
1.2°
1mm
I've color-coded them red for obvious artifacts, yellow for subtle
artifacts, and green for no visible or feel-able artifacts. Of course,
that's subjective, but it might give you an idea.
(For those who for whatever reason can't see the colors: for the 25mm
cylinder the 25 is red and the rest are green. For the 50mm cylinder the
25 is red, 50 is yellow, and larger are green. For the 100mm cylinder,
50 is red and the others are green.)
I should probably do additional samples for larger and smaller
cylinders, but this is still interesting.
I was interested to see that the 50-gon was OK at a smaller size, but
increasingly bad as the size increased. My intuition was that past some
size more sides doesn't help, because the angle between the sides is
what you'd perceive, but I don't seem to have found that size yet.
100mm isn't the largest circle I can print, and of course I can print
arcs that are arbitrarily large diameter, but this suggests that $fa=3
or so is good enough for most things, and that $fs doesn't need to be
less than about 1. $fa might need to be smaller for still-larger
circles, and $fs might need to be smaller for smaller circles.
Here's what the test cylinders look like:
Here's the test program:
include <BOSL2/std.scad>
// For the text
$fa = 2;
$fs = 1;
sides = [ 150, 100, 50, 25 ];
layerT = 6; // Thickness of each layer
d = 50; // Diameter
textT = 0.4; // Thickness of text on the side
topTextT = 0.6; // Thickness of text on the top
topTextSize = 6; // Size of text on the top
// Draw a label wrapped around the cylinder
module clabel(text) {
path = up(layerT/2, path3d(reverse(circle(d=d))));
path_text(path, text, size=layerT0.8, textmetrics=true, valign="center", h=textT2+2, offset=-1, center=true);
}
for (i=[0:len(sides)-1]) translate([0,0,ilayerT]) {
fn = sides[i];
zcyl(d=d, h=layerT, anchor=BOTTOM, $fn=fn);
rotate(0) clabel(str(fn));
rotate(120) clabel(str(round(360/fn10)/10, "°"));
rotate(-120) clabel(str(round(PId/fn10)/10, "mm"));
}
up(len(sides)*layerT) text3d(str(d, "mm"), atype="ycenter", anchor=BOTTOM, h=topTextT, size=topTextSize);
On 10/27/2024 5:36 PM, Bob Carlson wrote:
>> What you can see on the screen is very different from what you can see in plastic. Try some test prints.
> Of course, I still like it to look nice and performance isn’t an issue.
Indeed, with Manifold performance is less of an issue than it once was.
But remember that spheres have a complexity that is the square of the
number of sides, so it can get unreasonable pretty fast.
I took my own advice, and did some test prints. I'd done some in the
past, but not very systematically.
I made three cylinders, each with several vertical sections with
different numbers of sides. One disk is 100mm in diameter, one 50mm,
and one 25mm. The two smaller ones have 25, 50, 100, and 150 sides; the
larger one has 50, 100, 150, and 300 sides. (I've enclosed the program
below, for those who might want to duplicate the experiment.)
Sides
Angle
Side length
25mm
50mm
100mm
25
14.4°
3.1mm
6.3mm
50
7.2°
1.6mm
3.1mm
6.3mm
100
3.6°
0.8mm
1.6mm
3.1mm
150
2.4°
0.5mm
1mm
2.1mm
300
1.2°
1mm
I've color-coded them red for obvious artifacts, yellow for subtle
artifacts, and green for no visible or feel-able artifacts. Of course,
that's subjective, but it might give you an idea.
(For those who for whatever reason can't see the colors: for the 25mm
cylinder the 25 is red and the rest are green. For the 50mm cylinder the
25 is red, 50 is yellow, and larger are green. For the 100mm cylinder,
50 is red and the others are green.)
I should probably do additional samples for larger and smaller
cylinders, but this is still interesting.
I was interested to see that the 50-gon was OK at a smaller size, but
increasingly bad as the size increased. My intuition was that past some
size more sides doesn't help, because the angle between the sides is
what you'd perceive, but I don't seem to have found that size yet.
100mm isn't the largest circle I can print, and of course I can print
arcs that are arbitrarily large diameter, but this suggests that $fa=3
or so is good enough for most things, and that $fs doesn't need to be
less than about 1. $fa might need to be smaller for still-larger
circles, and $fs might need to be smaller for smaller circles.
Here's what the test cylinders look like:
Here's the test program:
include <BOSL2/std.scad>
// For the text
$fa = 2;
$fs = 1;
sides = [ 150, 100, 50, 25 ];
layerT = 6; // Thickness of each layer
d = 50; // Diameter
textT = 0.4; // Thickness of text on the side
topTextT = 0.6; // Thickness of text on the top
topTextSize = 6; // Size of text on the top
// Draw a label wrapped around the cylinder
module clabel(text) {
path = up(layerT/2, path3d(reverse(circle(d=d))));
path_text(path, text, size=layerT*0.8, textmetrics=true, valign="center", h=textT*2+2, offset=-1, center=true);
}
for (i=[0:len(sides)-1]) translate([0,0,i*layerT]) {
fn = sides[i];
zcyl(d=d, h=layerT, anchor=BOTTOM, $fn=fn);
rotate(0) clabel(str(fn));
rotate(120) clabel(str(round(360/fn*10)/10, "°"));
rotate(-120) clabel(str(round(PI*d/fn*10)/10, "mm"));
}
up(len(sides)*layerT) text3d(str(d, "mm"), atype="ycenter", anchor=BOTTOM, h=topTextT, size=topTextSize);
NH
nop head
Mon, Oct 28, 2024 8:00 AM
How well the filament interpolates the curve depends on its viscosity and
the extrusion width. For example ABS smooths curves better than PLA.
How noticeable the facets are depends on how shiny the filament is as you
tend to notice the discontinuities in specular highlights more than a
subtle change in angle when looking from the edge.
I set $fs to half my extrusion width as it isn't really possible to print
details shorter than that and $fa to 6 for most things. I reduce $fa if I
am milling or printing things that have some aesthetic merit rather than
just functional.
On Mon, 28 Oct 2024 at 03:25, Jordan Brown via Discuss <
discuss@lists.openscad.org> wrote:
On 10/27/2024 5:36 PM, Bob Carlson wrote:
What you can see on the screen is very different from what you can see in plastic. Try some test prints.
Of course, I still like it to look nice and performance isn’t an issue.
Indeed, with Manifold performance is less of an issue than it once was.
But remember that spheres have a complexity that is the square of the
number of sides, so it can get unreasonable pretty fast.
I took my own advice, and did some test prints. I'd done some in the
past, but not very systematically.
I made three cylinders, each with several vertical sections with different
numbers of sides. One disk is 100mm in diameter, one 50mm, and one 25mm.
The two smaller ones have 25, 50, 100, and 150 sides; the larger one has
50, 100, 150, and 300 sides. (I've enclosed the program below, for those
who might want to duplicate the experiment.)
Sides
Angle
Side length
25mm
50mm
100mm
25
14.4°
3.1mm
6.3mm
50
7.2°
1.6mm
3.1mm
6.3mm
100
3.6°
0.8mm
1.6mm
3.1mm
150
2.4°
0.5mm
1mm
2.1mm
300
1.2°
1mm
I've color-coded them red for obvious artifacts, yellow for subtle
artifacts, and green for no visible or feel-able artifacts. Of course,
that's subjective, but it might give you an idea.
(For those who for whatever reason can't see the colors: for the 25mm
cylinder the 25 is red and the rest are green. For the 50mm cylinder the 25
is red, 50 is yellow, and larger are green. For the 100mm cylinder, 50 is
red and the others are green.)
I should probably do additional samples for larger and smaller cylinders,
but this is still interesting.
I was interested to see that the 50-gon was OK at a smaller size, but
increasingly bad as the size increased. My intuition was that past some
size more sides doesn't help, because the angle between the sides is what
you'd perceive, but I don't seem to have found that size yet.
100mm isn't the largest circle I can print, and of course I can print arcs
that are arbitrarily large diameter, but this suggests that $fa=3 or so is
good enough for most things, and that $fs doesn't need to be less than
about 1. $fa might need to be smaller for still-larger circles, and $fs
might need to be smaller for smaller circles.
Here's what the test cylinders look like:
Here's the test program:
include <BOSL2/std.scad>
// For the text
$fa = 2;
$fs = 1;
sides = [ 150, 100, 50, 25 ];
layerT = 6; // Thickness of each layer
d = 50; // Diameter
textT = 0.4; // Thickness of text on the side
topTextT = 0.6; // Thickness of text on the top
topTextSize = 6; // Size of text on the top
// Draw a label wrapped around the cylinder
module clabel(text) {
path = up(layerT/2, path3d(reverse(circle(d=d))));
path_text(path, text, size=layerT0.8, textmetrics=true, valign="center", h=textT2+2, offset=-1, center=true);
}
for (i=[0:len(sides)-1]) translate([0,0,ilayerT]) {
fn = sides[i];
zcyl(d=d, h=layerT, anchor=BOTTOM, $fn=fn);
rotate(0) clabel(str(fn));
rotate(120) clabel(str(round(360/fn10)/10, "°"));
rotate(-120) clabel(str(round(PId/fn10)/10, "mm"));
}
up(len(sides)*layerT) text3d(str(d, "mm"), atype="ycenter", anchor=BOTTOM, h=topTextT, size=topTextSize);
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
How well the filament interpolates the curve depends on its viscosity and
the extrusion width. For example ABS smooths curves better than PLA.
How noticeable the facets are depends on how shiny the filament is as you
tend to notice the discontinuities in specular highlights more than a
subtle change in angle when looking from the edge.
I set $fs to half my extrusion width as it isn't really possible to print
details shorter than that and $fa to 6 for most things. I reduce $fa if I
am milling or printing things that have some aesthetic merit rather than
just functional.
On Mon, 28 Oct 2024 at 03:25, Jordan Brown via Discuss <
discuss@lists.openscad.org> wrote:
> On 10/27/2024 5:36 PM, Bob Carlson wrote:
>
> What you can see on the screen is very different from what you can see in plastic. Try some test prints.
>
> Of course, I still like it to look nice and performance isn’t an issue.
>
>
> Indeed, with Manifold performance is less of an issue than it once was.
> But remember that spheres have a complexity that is the square of the
> number of sides, so it can get unreasonable pretty fast.
>
>
> I took my own advice, and did some test prints. I'd done some in the
> past, but not very systematically.
>
> I made three cylinders, each with several vertical sections with different
> numbers of sides. One disk is 100mm in diameter, one 50mm, and one 25mm.
> The two smaller ones have 25, 50, 100, and 150 sides; the larger one has
> 50, 100, 150, and 300 sides. (I've enclosed the program below, for those
> who might want to duplicate the experiment.)
>
> Sides
> Angle
> Side length
> 25mm
> 50mm
> 100mm
> 25
> 14.4°
> 3.1mm
> 6.3mm
>
> 50
> 7.2°
> 1.6mm
> 3.1mm
> 6.3mm
> 100
> 3.6°
> 0.8mm
> 1.6mm
> 3.1mm
> 150
> 2.4°
> 0.5mm
> 1mm
> 2.1mm
> 300
> 1.2°
>
>
> 1mm
>
> I've color-coded them red for obvious artifacts, yellow for subtle
> artifacts, and green for no visible or feel-able artifacts. Of course,
> that's subjective, but it might give you an idea.
>
> (For those who for whatever reason can't see the colors: for the 25mm
> cylinder the 25 is red and the rest are green. For the 50mm cylinder the 25
> is red, 50 is yellow, and larger are green. For the 100mm cylinder, 50 is
> red and the others are green.)
>
> I should probably do additional samples for larger and smaller cylinders,
> but this is still interesting.
>
> I was interested to see that the 50-gon was OK at a smaller size, but
> increasingly bad as the size increased. My intuition was that past some
> size more sides doesn't help, because the angle between the sides is what
> you'd perceive, but I don't seem to have found that size yet.
>
> 100mm isn't the largest circle I can print, and of course I can print arcs
> that are arbitrarily large diameter, but this suggests that $fa=3 or so is
> good enough for most things, and that $fs doesn't need to be less than
> about 1. $fa might need to be smaller for still-larger circles, and $fs
> might need to be smaller for smaller circles.
>
> Here's what the test cylinders look like:
>
>
> Here's the test program:
>
> include <BOSL2/std.scad>
>
> // For the text
> $fa = 2;
> $fs = 1;
>
> sides = [ 150, 100, 50, 25 ];
> layerT = 6; // Thickness of each layer
> d = 50; // Diameter
> textT = 0.4; // Thickness of text on the side
> topTextT = 0.6; // Thickness of text on the top
> topTextSize = 6; // Size of text on the top
>
> // Draw a label wrapped around the cylinder
> module clabel(text) {
> path = up(layerT/2, path3d(reverse(circle(d=d))));
> path_text(path, text, size=layerT*0.8, textmetrics=true, valign="center", h=textT*2+2, offset=-1, center=true);
> }
>
> for (i=[0:len(sides)-1]) translate([0,0,i*layerT]) {
> fn = sides[i];
> zcyl(d=d, h=layerT, anchor=BOTTOM, $fn=fn);
> rotate(0) clabel(str(fn));
> rotate(120) clabel(str(round(360/fn*10)/10, "°"));
> rotate(-120) clabel(str(round(PI*d/fn*10)/10, "mm"));
> }
> up(len(sides)*layerT) text3d(str(d, "mm"), atype="ycenter", anchor=BOTTOM, h=topTextT, size=topTextSize);
>
>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
DP
Dan Perry
Mon, Oct 28, 2024 10:31 AM
PrusaSlicer has an Arc Fitting option that is default on in recent
versions. It's not clear to me if it actually smooths the arcs (and
influences your results) or if the G2/G3 commands are just shorthand for a
large number of G1 commands.
Dan
On Mon, Oct 28, 2024 at 3:24 AM Jordan Brown via Discuss <
discuss@lists.openscad.org> wrote:
On 10/27/2024 5:36 PM, Bob Carlson wrote:
What you can see on the screen is very different from what you can see in plastic. Try some test prints.
Of course, I still like it to look nice and performance isn’t an issue.
Indeed, with Manifold performance is less of an issue than it once was.
But remember that spheres have a complexity that is the square of the
number of sides, so it can get unreasonable pretty fast.
I took my own advice, and did some test prints. I'd done some in the
past, but not very systematically.
I made three cylinders, each with several vertical sections with different
numbers of sides. One disk is 100mm in diameter, one 50mm, and one 25mm.
The two smaller ones have 25, 50, 100, and 150 sides; the larger one has
50, 100, 150, and 300 sides. (I've enclosed the program below, for those
who might want to duplicate the experiment.)
Sides
Angle
Side length
25mm
50mm
100mm
25
14.4°
3.1mm
6.3mm
50
7.2°
1.6mm
3.1mm
6.3mm
100
3.6°
0.8mm
1.6mm
3.1mm
150
2.4°
0.5mm
1mm
2.1mm
300
1.2°
1mm
I've color-coded them red for obvious artifacts, yellow for subtle
artifacts, and green for no visible or feel-able artifacts. Of course,
that's subjective, but it might give you an idea.
(For those who for whatever reason can't see the colors: for the 25mm
cylinder the 25 is red and the rest are green. For the 50mm cylinder the 25
is red, 50 is yellow, and larger are green. For the 100mm cylinder, 50 is
red and the others are green.)
I should probably do additional samples for larger and smaller cylinders,
but this is still interesting.
I was interested to see that the 50-gon was OK at a smaller size, but
increasingly bad as the size increased. My intuition was that past some
size more sides doesn't help, because the angle between the sides is what
you'd perceive, but I don't seem to have found that size yet.
100mm isn't the largest circle I can print, and of course I can print arcs
that are arbitrarily large diameter, but this suggests that $fa=3 or so is
good enough for most things, and that $fs doesn't need to be less than
about 1. $fa might need to be smaller for still-larger circles, and $fs
might need to be smaller for smaller circles.
Here's what the test cylinders look like:
Here's the test program:
include <BOSL2/std.scad>
// For the text
$fa = 2;
$fs = 1;
sides = [ 150, 100, 50, 25 ];
layerT = 6; // Thickness of each layer
d = 50; // Diameter
textT = 0.4; // Thickness of text on the side
topTextT = 0.6; // Thickness of text on the top
topTextSize = 6; // Size of text on the top
// Draw a label wrapped around the cylinder
module clabel(text) {
path = up(layerT/2, path3d(reverse(circle(d=d))));
path_text(path, text, size=layerT0.8, textmetrics=true, valign="center", h=textT2+2, offset=-1, center=true);
}
for (i=[0:len(sides)-1]) translate([0,0,ilayerT]) {
fn = sides[i];
zcyl(d=d, h=layerT, anchor=BOTTOM, $fn=fn);
rotate(0) clabel(str(fn));
rotate(120) clabel(str(round(360/fn10)/10, "°"));
rotate(-120) clabel(str(round(PId/fn10)/10, "mm"));
}
up(len(sides)*layerT) text3d(str(d, "mm"), atype="ycenter", anchor=BOTTOM, h=topTextT, size=topTextSize);
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
PrusaSlicer has an Arc Fitting option that is default on in recent
versions. It's not clear to me if it actually smooths the arcs (and
influences your results) or if the G2/G3 commands are just shorthand for a
large number of G1 commands.
Dan
On Mon, Oct 28, 2024 at 3:24 AM Jordan Brown via Discuss <
discuss@lists.openscad.org> wrote:
> On 10/27/2024 5:36 PM, Bob Carlson wrote:
>
> What you can see on the screen is very different from what you can see in plastic. Try some test prints.
>
> Of course, I still like it to look nice and performance isn’t an issue.
>
>
> Indeed, with Manifold performance is less of an issue than it once was.
> But remember that spheres have a complexity that is the square of the
> number of sides, so it can get unreasonable pretty fast.
>
>
> I took my own advice, and did some test prints. I'd done some in the
> past, but not very systematically.
>
> I made three cylinders, each with several vertical sections with different
> numbers of sides. One disk is 100mm in diameter, one 50mm, and one 25mm.
> The two smaller ones have 25, 50, 100, and 150 sides; the larger one has
> 50, 100, 150, and 300 sides. (I've enclosed the program below, for those
> who might want to duplicate the experiment.)
>
> Sides
> Angle
> Side length
> 25mm
> 50mm
> 100mm
> 25
> 14.4°
> 3.1mm
> 6.3mm
>
> 50
> 7.2°
> 1.6mm
> 3.1mm
> 6.3mm
> 100
> 3.6°
> 0.8mm
> 1.6mm
> 3.1mm
> 150
> 2.4°
> 0.5mm
> 1mm
> 2.1mm
> 300
> 1.2°
>
>
> 1mm
>
> I've color-coded them red for obvious artifacts, yellow for subtle
> artifacts, and green for no visible or feel-able artifacts. Of course,
> that's subjective, but it might give you an idea.
>
> (For those who for whatever reason can't see the colors: for the 25mm
> cylinder the 25 is red and the rest are green. For the 50mm cylinder the 25
> is red, 50 is yellow, and larger are green. For the 100mm cylinder, 50 is
> red and the others are green.)
>
> I should probably do additional samples for larger and smaller cylinders,
> but this is still interesting.
>
> I was interested to see that the 50-gon was OK at a smaller size, but
> increasingly bad as the size increased. My intuition was that past some
> size more sides doesn't help, because the angle between the sides is what
> you'd perceive, but I don't seem to have found that size yet.
>
> 100mm isn't the largest circle I can print, and of course I can print arcs
> that are arbitrarily large diameter, but this suggests that $fa=3 or so is
> good enough for most things, and that $fs doesn't need to be less than
> about 1. $fa might need to be smaller for still-larger circles, and $fs
> might need to be smaller for smaller circles.
>
> Here's what the test cylinders look like:
>
>
> Here's the test program:
>
> include <BOSL2/std.scad>
>
> // For the text
> $fa = 2;
> $fs = 1;
>
> sides = [ 150, 100, 50, 25 ];
> layerT = 6; // Thickness of each layer
> d = 50; // Diameter
> textT = 0.4; // Thickness of text on the side
> topTextT = 0.6; // Thickness of text on the top
> topTextSize = 6; // Size of text on the top
>
> // Draw a label wrapped around the cylinder
> module clabel(text) {
> path = up(layerT/2, path3d(reverse(circle(d=d))));
> path_text(path, text, size=layerT*0.8, textmetrics=true, valign="center", h=textT*2+2, offset=-1, center=true);
> }
>
> for (i=[0:len(sides)-1]) translate([0,0,i*layerT]) {
> fn = sides[i];
> zcyl(d=d, h=layerT, anchor=BOTTOM, $fn=fn);
> rotate(0) clabel(str(fn));
> rotate(120) clabel(str(round(360/fn*10)/10, "°"));
> rotate(-120) clabel(str(round(PI*d/fn*10)/10, "mm"));
> }
> up(len(sides)*layerT) text3d(str(d, "mm"), atype="ycenter", anchor=BOTTOM, h=topTextT, size=topTextSize);
>
>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
JB
Jordan Brown
Mon, Oct 28, 2024 4:47 PM
On 10/28/2024 3:31 AM, Dan Perry via Discuss wrote:
PrusaSlicer has an Arc Fitting option that is default on in recent
versions. It's not clear to me if it actually smooths the arcs (and
influences your results) or if the G2/G3 commands are just shorthand
for a large number of G1 commands.
Hmm. I did look for that, but for me it generated G1s. I found the
option; it's disabled for me.
If it's generating a single G2/G3 for an arc, that's interpreted at the
printer and so can't be a shorthand for the original segments. (Where
would the information about the segments be?) The printer interprets it
as it chooses, probably close to its native resolution.
On 10/28/2024 3:31 AM, Dan Perry via Discuss wrote:
> PrusaSlicer has an Arc Fitting option that is default on in recent
> versions. It's not clear to me if it actually smooths the arcs (and
> influences your results) or if the G2/G3 commands are just shorthand
> for a large number of G1 commands.
Hmm. I did look for that, but for me it generated G1s. I found the
option; it's disabled for me.
If it's generating a single G2/G3 for an arc, that's interpreted at the
printer and so *can't* be a shorthand for the original segments. (Where
would the information about the segments be?) The printer interprets it
as it chooses, probably close to its native resolution.
NH
nop head
Mon, Oct 28, 2024 4:49 PM
Sounds like it would break polyholes which is what I use to get holes the
correct size.
On Mon, 28 Oct 2024 at 16:47, Jordan Brown via Discuss <
discuss@lists.openscad.org> wrote:
On 10/28/2024 3:31 AM, Dan Perry via Discuss wrote:
PrusaSlicer has an Arc Fitting option that is default on in recent
versions. It's not clear to me if it actually smooths the arcs (and
influences your results) or if the G2/G3 commands are just shorthand for a
large number of G1 commands.
Hmm. I did look for that, but for me it generated G1s. I found the
option; it's disabled for me.
If it's generating a single G2/G3 for an arc, that's interpreted at the
printer and so can't be a shorthand for the original segments. (Where
would the information about the segments be?) The printer interprets it as
it chooses, probably close to its native resolution.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Sounds like it would break polyholes which is what I use to get holes the
correct size.
On Mon, 28 Oct 2024 at 16:47, Jordan Brown via Discuss <
discuss@lists.openscad.org> wrote:
> On 10/28/2024 3:31 AM, Dan Perry via Discuss wrote:
>
> PrusaSlicer has an Arc Fitting option that is default on in recent
> versions. It's not clear to me if it actually smooths the arcs (and
> influences your results) or if the G2/G3 commands are just shorthand for a
> large number of G1 commands.
>
>
> Hmm. I did look for that, but for me it generated G1s. I found the
> option; it's disabled for me.
>
> If it's generating a single G2/G3 for an arc, that's interpreted at the
> printer and so *can't* be a shorthand for the original segments. (Where
> would the information about the segments be?) The printer interprets it as
> it chooses, probably close to its native resolution.
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
JB
Jordan Brown
Mon, Oct 28, 2024 5:22 PM
On 10/28/2024 1:00 AM, nop head via Discuss wrote:
How well the filament interpolates the curve depends on its viscosity
and the extrusion width. For example ABS smooths curves better than PLA.
How noticeable the facets are depends on how shiny the filament is as
you tend to notice the discontinuities in specular highlights more
than a subtle change in angle when looking from the edge.
I set $fs to half my extrusion width as it isn't really possible to
print details shorter than that and $fa to 6 for most things. I reduce
$fa if I am milling or printing things that have some aesthetic merit
rather than just functional.
So your usual setting has you topping out at a 60-gon.
[ I know you know the following, but for those who are new to the
$fs/$fa relationship... ]
With those settings and the usual 0.4mm EW, you'll use a 60-gon for
anything larger than about 4mm diameter. Below that (generally, at
360/$fa*$fs/π) ) you'll switch over to $fs being the limiting factor.
Smaller EW, smaller switchover.
I need to do some sample prints at small sizes to convince myself that a
$fs that small makes a difference.
Technically https://xkcd.com/1475/, the documentation on $fs is
slightly wrong. (Or the calculation is slightly wrong.) The $fs
calculation measures along the arc, not along the chord, so for a given
$fs your segments will be a tiny bit shorter.
It would be good if somebody were to analyze the Prusaslicer arc fitter
to figure out what parameters are circular enough to trigger it -
because at that point you magically get printer resolution.
On 10/28/2024 1:00 AM, nop head via Discuss wrote:
> How well the filament interpolates the curve depends on its viscosity
> and the extrusion width. For example ABS smooths curves better than PLA.
>
> How noticeable the facets are depends on how shiny the filament is as
> you tend to notice the discontinuities in specular highlights more
> than a subtle change in angle when looking from the edge.
Good points, thanks.
> I set $fs to half my extrusion width as it isn't really possible to
> print details shorter than that and $fa to 6 for most things. I reduce
> $fa if I am milling or printing things that have some aesthetic merit
> rather than just functional.
So your usual setting has you topping out at a 60-gon.
[ I know you know the following, but for those who are new to the
$fs/$fa relationship... ]
With those settings and the usual 0.4mm EW, you'll use a 60-gon for
anything larger than about 4mm diameter. Below that (generally, at
360/$fa*$fs/π) ) you'll switch over to $fs being the limiting factor.
Smaller EW, smaller switchover.
I need to do some sample prints at small sizes to convince myself that a
$fs that small makes a difference.
Technically <https://xkcd.com/1475/>, the documentation on $fs is
slightly wrong. (Or the calculation is slightly wrong.) The $fs
calculation measures along the arc, not along the chord, so for a given
$fs your segments will be a tiny bit shorter.
It would be good if somebody were to analyze the Prusaslicer arc fitter
to figure out what parameters are circular enough to trigger it -
because at that point you magically get printer resolution.
TP
Torsten Paul
Mon, Oct 28, 2024 5:57 PM
On 28.10.24 17:49, nop head via Discuss wrote:
Sounds like it would break polyholes which is what I use to get holes
the correct size.
Yeah, I have to look at this too. I printed a test piece for checking
fit of M2.5 nuts and it looked like the smallest hex shaped holes did
actually turn into circles. Not so good for trapped nuts either.
ciao,
Torsten.
On 28.10.24 17:49, nop head via Discuss wrote:
> Sounds like it would break polyholes which is what I use to get holes
> the correct size.
Yeah, I have to look at this too. I printed a test piece for checking
fit of M2.5 nuts and it looked like the smallest hex shaped holes did
actually turn into circles. Not so good for trapped nuts either.
ciao,
Torsten.