Tuning $fn, $fa, $fs for 3D print renders

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Tuning $fn, $fa, $fs for 3D print renders

R Flynn
I’m sure this question has been asked endlessly, but I have not be able to find an answer through searching & reading, so …

- There is presumably no point in rendering a model more finely than the 3D printer layer resolution, &c that it destined to be printed on

- Taking for example a cylinder, is the “ideal” setting for $fs and a layer resolution of 0.2mm the following?
    $fs = 2 * r * pi / 0.2
so if r = 20, then $fs = 628.315…?

- Seems like $fs could get quite large for large circles, etc. and $fn and $fa are more of a mystery to me.

Any pointers gratefully received & cheers in advance
--

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Tuning $fn, $fa, $fs for 3D print renders

Whosawhatsis
How layer resolution affects the "ideal" setting would depend on the orientation of the circular cross-section. However, I can say with confidence that a value over 600 will never be optimal.

For what it's worth, I usually put the following in most of my designs:

$fs = .2;
$fa = 2;

The first line sets a default segment length of .2mm, which is more than small enough that you should never see them in a print, but not by an excessive margin. I believe the default for $fs is 1, which I found always left visible segments. I initially stated using .5, but as my printing quality increased, I found that I could see those segments as well, so I made it smaller.

The second line specifies a minimum of 2 degrees per segment, essentially limiting circles to no more than 180 segments. Together, these mean that circles with a radius above about 6mm will have segments every two degrees, and smaller ones will have fewer segments (because smaller segments wouldn't show up in the print). I find these settings strike a good balance between a model that looks reasonably smooth and one that doesn't take an eternity to render. Of course, there are some areas where I override both of these settings with $fn, but I usually reserve that for cases where what I really want is a polygon like a hexagon or octagon, rather than approximating a smooth circle.
On May 10, 2021, 16:55 -0700, R Flynn <[hidden email]>, wrote:
I’m sure this question has been asked endlessly, but I have not be able to find an answer through searching & reading, so …

- There is presumably no point in rendering a model more finely than the 3D printer layer resolution, &c that it destined to be printed on

- Taking for example a cylinder, is the “ideal” setting for $fs and a layer resolution of 0.2mm the following?
    $fs = 2 * r * pi / 0.2
so if r = 20, then $fs = 628.315…?

- Seems like $fs could get quite large for large circles, etc. and $fn and $fa are more of a mystery to me.

Any pointers gratefully received & cheers in advance
--
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Tuning $fn, $fa, $fs for 3D print renders

flynnr2
FWIW, I have no maths to back these up, but I’ve been using
$fa = 1.0;
$fs = 0.1; // filament size / 2

Given the calc in the docs, $fa will tend to dominate in any event I suppose?

Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Tuning $fn, $fa, $fs for 3D print renders

nophead
Yes I set $fs to half my extrusion width, which is a parameter in my library as it affects other things like minimum wall thickness. I mainly print ABS which extrudes like a viscous paste, so smoothes out curves which bend sharper than the width.

I normally set $fa to 6 to get 60 sides but sometimes reduce it to 1 if I am printing something aesthetic in shiny plastic or if I am milling large radii. A better default is perhaps 5 to get 72 facets as that is divisible by 4, so you get points exactly on the axes which is good for exact dimensions when rounding corners.

I sometimes make $fa conditional on $preview to get a fast preview but a detailed STL.

On Tue, 11 May 2021 at 02:29, flynnr2 <[hidden email]> wrote:
FWIW, I have no maths to back these up, but I’ve been using
$fa = 1.0;
$fs = 0.1; // filament size / 2

Given the calc in the docs, $fa will tend to dominate in any event I suppose?

Sent from the OpenSCAD mailing list archive at Nabble.com.
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Tuning $fn, $fa, $fs for 3D print renders

R Flynn
Cheers

I am trying to print this at about 40mm across and 6mm at the thickest point - trying to minimize the postprocessing (sanding, etc).  This will be used to make a mold from which metal casts (tin, pewter) will be made.  Open to any suggestions anyone might have.

image.png

First attempt (ABS, 0.2mm, 100% infill) came out like this, I think it is mostly the outcome of the printing process vs. parameterizing the render
image.png


On Tue, 11 May 2021 at 03:36, nop head <[hidden email]> wrote:
Yes I set $fs to half my extrusion width, which is a parameter in my library as it affects other things like minimum wall thickness. I mainly print ABS which extrudes like a viscous paste, so smoothes out curves which bend sharper than the width.

I normally set $fa to 6 to get 60 sides but sometimes reduce it to 1 if I am printing something aesthetic in shiny plastic or if I am milling large radii. A better default is perhaps 5 to get 72 facets as that is divisible by 4, so you get points exactly on the axes which is good for exact dimensions when rounding corners.

I sometimes make $fa conditional on $preview to get a fast preview but a detailed STL.

On Tue, 11 May 2021 at 02:29, flynnr2 <[hidden email]> wrote:
FWIW, I have no maths to back these up, but I’ve been using
$fa = 1.0;
$fs = 0.1; // filament size / 2

Given the calc in the docs, $fa will tend to dominate in any event I suppose?

Sent from the OpenSCAD mailing list archive at Nabble.com.
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]


--

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Tuning $fn, $fa, $fs for 3D print renders

Gadgetman!
That is because of the print process, yes. 
you maybe able to get a better print by dropping to 0.1mm and possibly angling the part at 45degrees instead of laying it flat. If you can get to sub 0.1 that would help.   

Or you could ask someone with a Resin printer since most will do 0.05mm layers, and som even down to 0.02mm.  

Trygve

Den 11. mai 2021 kl. 14.58.47 +02.00 skrev R Flynn <[hidden email]>:
Cheers

I am trying to print this at about 40mm across and 6mm at the thickest point - trying to minimize the postprocessing (sanding, etc).  This will be used to make a mold from which metal casts (tin, pewter) will be made.  Open to any suggestions anyone might have.

image.png

First attempt (ABS, 0.2mm, 100% infill) came out like this, I think it is mostly the outcome of the printing process vs. parameterizing the render
image.png


On Tue, 11 May 2021 at 03:36, nop head <[hidden email]> wrote:
Yes I set $fs to half my extrusion width, which is a parameter in my library as it affects other things like minimum wall thickness. I mainly print ABS which extrudes like a viscous paste, so smoothes out curves which bend sharper than the width.

I normally set $fa to 6 to get 60 sides but sometimes reduce it to 1 if I am printing something aesthetic in shiny plastic or if I am milling large radii. A better default is perhaps 5 to get 72 facets as that is divisible by 4, so you get points exactly on the axes which is good for exact dimensions when rounding corners.

I sometimes make $fa conditional on $preview to get a fast preview but a detailed STL.

On Tue, 11 May 2021 at 02:29, flynnr2 <[hidden email]> wrote:
FWIW, I have no maths to back these up, but I’ve been using
$fa = 1.0;
$fs = 0.1; // filament size / 2

Given the calc in the docs, $fa will tend to dominate in any event I suppose?

Sent from the OpenSCAD mailing list archive at Nabble.com.
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]


--
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]


_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Tuning $fn, $fa, $fs for 3D print renders

R Flynn
Thanks - SLA vs. ABS was another avenue I was planning on looking into.

Hadn't thought of angling it ... 

On Tue, 11 May 2021 at 09:27, <[hidden email]> wrote:
That is because of the print process, yes. 
you maybe able to get a better print by dropping to 0.1mm and possibly angling the part at 45degrees instead of laying it flat. If you can get to sub 0.1 that would help.   

Or you could ask someone with a Resin printer since most will do 0.05mm layers, and som even down to 0.02mm.  

Trygve

Den 11. mai 2021 kl. 14.58.47 +02.00 skrev R Flynn <[hidden email]>:
Cheers

I am trying to print this at about 40mm across and 6mm at the thickest point - trying to minimize the postprocessing (sanding, etc).  This will be used to make a mold from which metal casts (tin, pewter) will be made.  Open to any suggestions anyone might have.

image.png

First attempt (ABS, 0.2mm, 100% infill) came out like this, I think it is mostly the outcome of the printing process vs. parameterizing the render
image.png


On Tue, 11 May 2021 at 03:36, nop head <[hidden email]> wrote:
Yes I set $fs to half my extrusion width, which is a parameter in my library as it affects other things like minimum wall thickness. I mainly print ABS which extrudes like a viscous paste, so smoothes out curves which bend sharper than the width.

I normally set $fa to 6 to get 60 sides but sometimes reduce it to 1 if I am printing something aesthetic in shiny plastic or if I am milling large radii. A better default is perhaps 5 to get 72 facets as that is divisible by 4, so you get points exactly on the axes which is good for exact dimensions when rounding corners.

I sometimes make $fa conditional on $preview to get a fast preview but a detailed STL.

On Tue, 11 May 2021 at 02:29, flynnr2 <[hidden email]> wrote:
FWIW, I have no maths to back these up, but I’ve been using
$fa = 1.0;
$fs = 0.1; // filament size / 2

Given the calc in the docs, $fa will tend to dominate in any event I suppose?

Sent from the OpenSCAD mailing list archive at Nabble.com.
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]


--
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]


--

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Tuning $fn, $fa, $fs for 3D print renders

Msquare
Search for Non-planer 3D FDM Printing (Slic3r mod) or https://youtu.be/km1lvuva5mI

Michael, fra mobilen

tir. 11. maj 2021 15.49 skrev R Flynn <[hidden email]>:
Thanks - SLA vs. ABS was another avenue I was planning on looking into.

Hadn't thought of angling it ... 

On Tue, 11 May 2021 at 09:27, <[hidden email]> wrote:
That is because of the print process, yes. 
you maybe able to get a better print by dropping to 0.1mm and possibly angling the part at 45degrees instead of laying it flat. If you can get to sub 0.1 that would help.   

Or you could ask someone with a Resin printer since most will do 0.05mm layers, and som even down to 0.02mm.  

Trygve

Den 11. mai 2021 kl. 14.58.47 +02.00 skrev R Flynn <[hidden email]>:
Cheers

I am trying to print this at about 40mm across and 6mm at the thickest point - trying to minimize the postprocessing (sanding, etc).  This will be used to make a mold from which metal casts (tin, pewter) will be made.  Open to any suggestions anyone might have.



First attempt (ABS, 0.2mm, 100% infill) came out like this, I think it is mostly the outcome of the printing process vs. parameterizing the render



On Tue, 11 May 2021 at 03:36, nop head <[hidden email]> wrote:
Yes I set $fs to half my extrusion width, which is a parameter in my library as it affects other things like minimum wall thickness. I mainly print ABS which extrudes like a viscous paste, so smoothes out curves which bend sharper than the width.

I normally set $fa to 6 to get 60 sides but sometimes reduce it to 1 if I am printing something aesthetic in shiny plastic or if I am milling large radii. A better default is perhaps 5 to get 72 facets as that is divisible by 4, so you get points exactly on the axes which is good for exact dimensions when rounding corners.

I sometimes make $fa conditional on $preview to get a fast preview but a detailed STL.

On Tue, 11 May 2021 at 02:29, flynnr2 <[hidden email]> wrote:
FWIW, I have no maths to back these up, but I’ve been using
$fa = 1.0;
$fs = 0.1; // filament size / 2

Given the calc in the docs, $fa will tend to dominate in any event I suppose?

Sent from the OpenSCAD mailing list archive at Nabble.com.
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]


--
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]


--
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
+--+
| M |
+--+