Jump to content
Madau3D

Feature Request - Variable Line Width

Recommended Posts

Posted · Feature Request - Variable Line Width

I sent this email to Cura support but I'm also posting it here, hoping this generates some interest and gains consideration for adopting this feature.

 

Quote
I've been using cura for about a year now and I've been annoyed by a slicing / tool-path situation.  When printing thin walls that don't divide neatly by the selected nozzle diameter or line width, the slicer generates g-code where the nozzle makes a tiny zig-zag movement to fill that space.  This significantly increases print time and is very inefficient use of machine run time.  If it's really bad, I'll either modify my design to get a wall thickness that the machine can print in even lines, or fudge the line width in cura (or both) until the print time comes down.  This can reduce run time by hours depending on the model.
 
What I suggest is create a variable line width feature.  When enabled, the user could specify a min/max percentage of nozzle diameter, and the slicer could then decide what line width would best fill an area.  This would make setting perimeter thickness more intuitive as well.  If I am printing with a 0.6mm nozzle, but I want a 2mm wall thickness, currently the slicer has to chose to make the wall thinner (3 perimeters) or thicker (4 perimeters) but the user would not get a 2mm wall in either case.  With variable line thickness the slicer could decide to print a 0.67-68mm line width (I realize the wall thickness isn't an exact multiple of the line thickness as there is some overlap between the lines in a layer) and achieve the specified wall thickness.
 
This could be taken a step further, and imagine in the case of printing a narrow, acute angle feature.  The slicer could taper the line width as the the profile narrows to achieve a cleaner part.  There also could be settings for the line width range of inner walls, outer walls, infill and supports- top and bottom skin layers, etc...  Thinner line widths for supports and infill could be of great benefit for reducing filament consumption and possibly making supports easier to remove.
 
I've never tried printing a line width narrower than my nozzle diameter, but I regularly print lines at 125% of nozzle diameter with great results.  With this feature, one could specify, as a hypothetical example, a line width in the range of 95% to 125% of nozzle diameter.

 

Share this post


Link to post
Share on other sites
Posted · Feature Request - Variable Line Width

So I'm pretty sure cura has this feature but I don't understand it.  But to enable the feature that you are asking about:

 

Quote

Set Minimum Wall Flow to something like 50, combing to no skin and max comb distance without retract to 10. 

 

Actually you probably only have to do the first thing: minimum wall flow to 50.

 

Again - I totally do not understand this feature so I could be wrong but 2 people seem to agree this fixes thin wall issues.

Share this post


Link to post
Share on other sites
Posted · Feature Request - Variable Line Width

Hello @Madau3D, my version of Cura provides a different implementation of the thin wall printing and wall gap filling and it can make a better job of tapering thin walls and gaps. You can install it alongside the normal Ultimaker Cura. If you wish to try it (Linux and Windows only, I'm afraid), please take a look at https://www.dropbox.com/sh/s43vqzmi4d2bqe2/AAADdYdSu9iwcKa0Knqgurm4a?dl=0

 

Screenshot_2019-06-23_07-31-12.thumb.png.b974932b546acf608aec18e16766118b.png

 

This part has a tapered thin wall and tapered filled gaps...

 

Screenshot_2019-06-23_07-30-54.thumb.png.f875b39323f9db195c6489ca9c12bf3f.png

Share this post


Link to post
Share on other sites
Posted (edited) · Feature Request - Variable Line Width

Which one do I download?  I picked the exe which appeared to have the most current date.

Edited by Madau3D

Share this post


Link to post
Share on other sites
Posted · Feature Request - Variable Line Width
On 6/22/2019 at 11:32 PM, burtoogle said:

Hello @Madau3D, my version of Cura provides a different implementation of the thin wall printing and wall gap filling and it can make a better job of tapering thin walls and gaps. You can install it alongside the normal Ultimaker Cura. If you wish to try it (Linux and Windows only, I'm afraid), please take a look at https://www.dropbox.com/sh/s43vqzmi4d2bqe2/AAADdYdSu9iwcKa0Knqgurm4a?dl=0

 

Screenshot_2019-06-23_07-31-12.thumb.png.b974932b546acf608aec18e16766118b.png

 

This part has a tapered thin wall and tapered filled gaps...

 

Screenshot_2019-06-23_07-30-54.thumb.png.f875b39323f9db195c6489ca9c12bf3f.png

Holy crap that is game changing right there.  Are they any options in the menus to control the behavior?  At fist glance it doesn't look any different than regular Cura.  Options to specify different line widths for specific line types would still be useful- i.e. print infil and supports thinner than top and bottom surfaces, or walls, etc..

 

I sliced my fan duct design which has a lot of thin tapering features and the slice is so much cleaner.  I'll have to mess around with it some more and try printing a couple of parts.

 

I've attached some screenshots with the specific areas of interest circled.  Here is the thing if anyone wants to check it out for themselves. 

https://www.thingiverse.com/thing:3594484

 

2019-06-24 11_26_21-Ultimaker Cura.png

2019-06-24 11_25_20-Ultimaker Cura.png

Share this post


Link to post
Share on other sites
Posted · Feature Request - Variable Line Width
2 hours ago, Madau3D said:

Are they any options in the menus to control the behavior?  At fist glance it doesn't look any different than regular Cura. 

 

There are no options to control the behaviour apart from the min area of gaps to be filled (gaps smaller than this will be left unfilled).

 

Screenshot_2019-06-24_21-46-25.png.1cda4c1cdca68828ba757c259fb3abae.png

 

2 hours ago, Madau3D said:

Options to specify different line widths for specific line types would still be useful- i.e. print infil and supports thinner than top and bottom surfaces, or walls, etc.. 

 

Of course, you still have the normal settings for specifying the line widths for various features:

Screenshot_2019-06-24_21-49-27.png.1c8a3b555a1ec8af0dcadf4d2c678c39.png

 

PS - looking at your image, I should think that 10% gyroid infill with the connect lines (zig-zaggify) option enabled would work well.

 

 

Share this post


Link to post
Share on other sites
Posted (edited) · Feature Request - Variable Line Width
7 minutes ago, burtoogle said:

 

There are no options to control the behaviour apart from the min area of gaps to be filled (gaps smaller than this will be left unfilled).

 

Screenshot_2019-06-24_21-46-25.png.1cda4c1cdca68828ba757c259fb3abae.png

 

 

Of course, you still have the normal settings for specifying the line widths for various features:

Screenshot_2019-06-24_21-49-27.png.1c8a3b555a1ec8af0dcadf4d2c678c39.png

 

PS - looking at your image, I should think that 10% gyroid infill with the connect lines (zig-zaggify) option enabled would work well.

 

 

I feel stupid - I never looked into the hidden commands for the different line width for different walls...

 

thanks...

 

p.s.  I usually have connect infill lines enabled, regardless of infill pattern, because it reduces retractions a lot.

Edited by Madau3D

Share this post


Link to post
Share on other sites
Posted · Feature Request - Variable Line Width
8 minutes ago, Madau3D said:

p.s.  I usually have connect infill lines enabled, regardless of infill pattern, because it reduces retractions a lot.

 

Me too! It also has an added benefit when you have a skin that finishes on top of infill as the skin edge can butt up against the infill connections like you see here...

 

Screenshot_2019-06-24_22-11-57.thumb.png.74772404802329cf3f5fcaa7d12d6ec1.png

Share this post


Link to post
Share on other sites
Posted (edited) · Feature Request - Variable Line Width

Bravo Burtoogle.
Keep up the good work. Will install on my Linux mint laptop tomorrow.

 

Are you going to be the person to implement non-planar slicing in Cura?

 

 

 

Edited by uloxer

Share this post


Link to post
Share on other sites
Posted · Feature Request - Variable Line Width
1 hour ago, uloxer said:

Bravo Burtoogle.
Keep up the good work. Will install on my Linux mint laptop tomorrow.

 

Are you going to be the person to implement non-planar slicing in Cura?

 

 

 

 

Thanks.

 

Sorry, I won't be implementing the non-planar slicing feature because I think it would be a lot of effort for rather dubious benefit. In my mind it has novelty value but little else. If you want to print non-planar, you need a printer with more degrees of freedom so the nozzle can always been normal to the surface being printed.

Share this post


Link to post
Share on other sites
Posted · Feature Request - Variable Line Width

FYI - burtoogle doesn't work for Ultimaker. 

 

non-planar printing only works on slopes up to around 30 degrees.  The demos all show parts that don't exceed this on their top surface.  So it's very limited.  Basically it will the top bit of a sphere and that's it. I would expect it improves the top of 1 design in 100 but it's hard to say.

Share this post


Link to post
Share on other sites
Posted · Feature Request - Variable Line Width

Hi Burtoogle,

 

How does your variable line width cope with Linear Advance?

 

Supposedly Cura needs the following commands added to the start gcode before it will work:

M900 K{material_linear_advance_factor}

M900 W{line_width} H{layer_height} D{material_diameter}

 

As line width is set at the start , does that mean it's best to  just avoid using linear advance entirely?

 

Thanks

 

Share this post


Link to post
Share on other sites
Posted · Feature Request - Variable Line Width

Hello @uloxer. I'm afraid I can't answer your question as the printers I use don't have Linear Advance. They do have what I think is a similar feature (it's called pressure advance) but I don't use that either!

 

I think that the only way to find out is by experiment. Good luck!

Share this post


Link to post
Share on other sites
Posted · Feature Request - Variable Line Width

I am glad that I was pointed in the direction of this post, it has helped out a lot with a current project. I am wondering if the great developments made by @burtoogle in this branch of Cura will be implemented in a future version of the main trunk of the software by the Ultimaker team?

Share this post


Link to post
Share on other sites
Posted · Feature Request - Variable Line Width
8 hours ago, 64Pacific said:

I am glad that I was pointed in the direction of this post, it has helped out a lot with a current project. I am wondering if the great developments made by @burtoogle in this branch of Cura will be implemented in a future version of the main trunk of the software by the Ultimaker team?

 

I'm glad to have helped. My implementation appears to work well a lot of the time but I still regard it as "experimental" and I haven't yet submitted it to UM for consideration. I don't know what Ultimaker's plans are with regard to improving their thin wall and gap filling implementation. Maybe they would look at what I have done or perhaps they would do something else completely new.

Share this post


Link to post
Share on other sites
Posted (edited) · Feature Request - Variable Line Width
On 9/18/2019 at 2:25 AM, uloxer said:

Hi Burtoogle,

 

How does your variable line width cope with Linear Advance?

 

Supposedly Cura needs the following commands added to the start gcode before it will work:

M900 K{material_linear_advance_factor}

M900 W{line_width} H{layer_height} D{material_diameter}

 

As line width is set at the start , does that mean it's best to  just avoid using linear advance entirely?

 

Thanks

 

 

Where to you find those macros {line_width}, {layer_height}, etc... Is there a list somewhere?

Edited by thrown

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!