Array of Poor Corners

I’m printing ABS through a 0.2 mm nozzle using an enclosed Ender-5 S1 and Sonic Pad with input shaping, and I’m slicing with Utimaker.

I would like feedback on settings to improve the print quality of corners. The distance between the corners is designed to be 1 mm (but are a little messy), and the print is about 1.5 mm high.

As a new user, I am allowed only one upload, currently. I will attach the print.cfg file and the gcode in the future, if allowable.

I’ve been running extensive tests and have made significant improvements using Klipper. However, more improvements have become beyond my level of expertise over the last couple of weeks!

I am a little overwhelmed by all the settings on Klipper and Ultimaker.

I’ve been working with “Pressure Advance” and “Corner Velocity” settings, as shown in the printer.cfg file:

pressure_advance: 0.25
square_corner_velocity: 3.0

I have the Ultimaker settings, which are located at the end of the gcode file (using CuraSettingsInjector from GitHub). I will try to upload this if I can.

Please let me know if you have any ideas on what settings I can change to improve these corners.

Any advice would be greatly appreciated !!

Hello @charlesrkiss !

You have to decide, where you want to optimize: Klipper or slicer. You cannot use both.

What do you mean with working?
Have you done measurements?

You may attach the klippy.log file or at least the complete printer.cfg file.

Maybe I’m settling for mediocrity, but those corners don’t look that bad to me?

There could be some very slight tuning maybe, but it looks like the only possible issue is you have a slight elephants foot at the bottom.

If you’re not using a skirt you might lift your z offset up a tiny bit.

Other than that, Those corners look really good to me. We’re dealing with shoving melted plastic out of a small hole in a piece of metal. It’s never going to be precision CNC level tolerance.

Edit: Usually any good 3D print design rounds or chamfers the corners anyways.

1 Like

Hi Eddy, thanks for your feedback.

I’m including the printer.cfg file, and have concatenated the CuraSettingsInjector output at the end. The CuraSettingsInjector output is a list of values taken from the UltiMaker profile.

printer.cfg (27.0 KB)

I thought some of the settings on Cura are used, and some Klipper settings are used. Are you saying the I should ignore all Cura settings?

The klippy log looks like it only has some shutdown, sdcard, and connection errors encountered during various activities, and is 1300 lines long.

What I meant by working with pressure advance and corner velocity settings, is a method of creating a 4 x 4 array of test arrays, all with different settings. I used a 4x4 matrix with values of pressure advance ranging from 0.1 - 0.5 on the columns, and values of corner velocity from 2 - 8 on the rows. I’m still a new user, so I am not allowed to post more than one media file.

I think the fault is in my ambitious blender design, which has a pointed 45° tip at the very top, which may be melting down on the last pass of the extruder. I can eliminate this on the next set of iterations, it’s not very important.

I guess I’m cheating here a bit. This is how a test array looks like. I have 16 separate GCODE files, and edit the printer.cfg file and restart between each of the 16 prints.

The z-offset is a very useful idea. Thank you !!

The problem with that is the nature of 3d printing.

For a sharp 90 degree corner the following would have to happen:

  • Extrusion and speed slow down while approaching the corner perfectly in time as to not under-extrude or over-extrude.

  • Completely stop at the vertex at the corner with no oozing and the hotend heat not melting the line it just laid down.

  • Perfectly pick up extruding and have a solid connection to the perpendicular line laid down previously.

This is why, as I mentioned before, most 3d print designs chamfer (or more preferably fillets) the edges. A fillet allows the movement to be continuous as one line.

All that being said, now you see why I say the corners in your original picture look really good considering all those factors.

1 Like

Those three bullet points of yours are requirements, no doubt.

I am using a 0.2 mm diameter tip, and have been working to acquire an ideal 0.1 mm radius corner (0.1 mm chamfer, or fillet). Maybe if I include this into the Blender design the slicing will pick it up.

Let’s say I do a 4 x 4 x 4 matrix of values (similar to the 4 x 4 table I used below), what do you think I should use as the three parameters besides pressure advance, and corner velocity?

Or maybe I should use a completely different set of parameters, or use four, even — or more, 4 x 4 x 4 x 4 …?

What would you suggest are the most likely parameters to experiment with?

Again, thank you so much for you valuable input, I really appreciate it!

image.thumb.png.6e098d90174978b0dfff77914354b4d4

Your corner radius isn’t going to be any smaller than your extrusion width which is a lot higher than .1mm.

Your extrusion width can’t be any smaller than your nozzle diameter, cause really, how could it be? How could you “partially” extrude in a controlled way? If you shove things that are larger (1.75mm filament) through a .2mm diameter hole, the smallest diameter that can come out in a controlled fashion is .2mm.

In practice it’s usually more than this (.22, .24, .26) you can set your extrusion width.
And this is actually one of the fundamental things you design 3d prints around.

Your layer height determines… Well… the layer height… How “tall” your lines are.
Your extrusion width determines how wide your lines are, which I find is much more important.

For example, here’s a part I designed for my printer.
Might be hard to read from the pic unless you click on it, but those flat sections like the one I highlighted are .44mm (as shown).

My extrusion width is .44mm so they’re exactly one line “thick” and thus are as thin as I can possibly extrude (unless I set my extrusion width lower). If I made them .4mm my slicer won’t even render them because it’s smaller than my extrusion width.

In this case I wanted built in supports mainly to keep that end of the part from warping due to the lack of thermal mass in that section but also to support the area above it. Then they cleanly snap out when I’m done.

Key point though: You cannot extrude smaller than your extrusion width. Your slicer won’t even render it. You cannot extrude smaller than your nozzle diameter, it’s not realistically possible.

This page has a pretty good outline of the math that goes into 3d printing and the limits of it.

3D Printer Math

Edit: To add a little more detail. A higher extrusion width generally allows faster printing speed since it lays down more filament in one pass. But of course this is at the cost of a loss of detail. Same with layer height.

What I find in general, when modeling my own parts, is that extrusion width is a key factor in the overall size of my part. For example lets say I’m putting mounting holes through a body. If wall between the hole and the outside face of the body is less than my extrusion width (I usually run with .44mm) then it won’t render that in my slicer and now I have a hole in the side of my print where I didn’t mean to have one.

You generally want your perimeter walls to be a multiple of your extrusion width too or else your slicer tries to divide it out for you and you end up with gaps in the inside of your perimeter walls. You can try to use slicer settings to get around this but there is only so much it can do.

1 Like

Sorry about the “0.1 mm radius” confusion. I was using the 0.2 mm tip as a unit of the orifice diameter, but using the radius as the corner dimension.

I did have integer units of 0.2 mm in mind, while designing, But I was really going for it at the very top, where there is the 45° angle: I was hoping the top would be something like the image below (with some squishing), hoping for the best, to see what would happen. I don’t think the top two layers were able to handle the heat (among other problems).

I’ll take a closer look into the Blender design and the 3D Printer Math page you suggested, and start from scratch. You are providing a lot of useful information!

stack

1 Like

Always happy to help, The more someone else can learn from my trial and error the better.

Complete tangent (somewhat), And this isn’t solely a 3d printing subject area issue (although it can be pretty bad in that sense too). It’s extremely hard to find GOOD documentation that’s stated clearly and plainly with the WHY. (Maybe a lot of people writing documentation don’t actually understand the WHY and just parrot info? Who knows)

The older I get the more and more I find myself thinking there needs to be a paradigm shift in communication style, especially since we’re really pretty much still in the birth of the “information age”. Information is only useful if it can be understood and put into use.

There’s FAR too much gatekeeping, jargon, ambiguity, assumption of tacit knowledge. etc.

I MUCH prefer simple and clear information. Assume I’m an idiot, I don’t care, as long as you give me the WHY and make it clear. “Can’t fit square peg in round hole! Cause not same shape!”

1 Like

I’m making progress.

In Cura I reduced Top/Bottom and Bottom thickness from the ABS defaults 2 mm to 0.3 to 1.2 plus or minus 0.2, respectively.

The bottom layers are very good, despite not looking good. I will merely need to modify the Blender file to fix this. The top layer is looking much better after reducing the Top/Bottom Thickness on Ultimaker Cura from 2.0 to 0.2 mm, basically. I will probably turn it off completely to see what happens.

I modified the blender file with fillets (even at the bottom). I used the math page for recommendations on ‘h’ given ‘A,’ the cross-sectional area of the nozzle orifice and ran into some contradictions (probably because I was calculating something wrong). But I use a fillet of radius 0.072 on the horizontals and 0.125 on the verticals (outside corners), which is the radius of a 0.25 mm “spread,” as you cited (the rails are 0.25 mm across in the Blender file).

All huge improvements!!

That corner at 9 o’clock looks amazing.

I thought I read somewhere that each direction on each of the corners would be printed differently (left-to-right, up-to-down, in terms of acceleration, etc). This would mean another four additional variables … arghhhhhhh !!!

This is what the Blender file looks like, currently. I will change the bottom, and perhaps make adjustments to the top. The flat part at the top is only 0.10 mm across, the slicer seems to be reading this okay.

BTW, I also ordered two 0.1 mm nozzles but I have yet to get the filament, I think it comes in blue, but it can be painted.

Apparently, with the narrow nozzle diameter, the filament remains in the hot tip channel for too long and gets crispy. But I imagine, if printed very quickly, perhaps even the black ABS would be okay.

I didn’t even know they made .1mm nozzles, I never looked.

That’s some massive flow restriction through the nozzle.
You might have to tweak your extruder settings to work with that.

And the flat part on top might be only .1mm but is the base below it larger? If so that’s fine. It might just be eliminating the top layer on you though.

I read somewhere that slicers may code corners at different orientations differently, such as from various directions, and perhaps doing more, like either rounding the corner or starting and stopping and leaving from there.

The corner at 9 o’clock may be an optical illusion, but it does look very tight, like it’s the corner where the nozzle started and stopped (not rounding a corner). This is just a guess — but it must happen somewhere.

Is it possible for a slicer or software to treat all the corners the same, eg., starting and stopping there (on every corner)?

BTW, here is a video I am using for the 0.1 mm nozzle usage/experimentation:

That’s hard to say because every Slicer is programmed differently.

Here’s a better example of what I mean though.
Threw together a quick 3d model that I knew wouldn’t work right.

Sharp 90 degree corners and chamfered at the top to come to a .2mm point.

Dropping it in my slicer looks fine

Slicing goes horribly wrong because of my nozzle side and extrusion width. Sliced the top clean off (pun intended)

Looking at the corners, it just treated them like intersecting straight lines with various degrees of accuracy.


Does anyone know if there is a default Klipper 0.5 mm radius on corners?

This would not be bad under normal circumstances. It’s the best I have been able to do, thus far (under differing circumstances). See image below, I used a blue LED to illuminate the corner.

If I could reduce this radius down to 0.25 mm, it would be sufficient maybe.

The right angle arc of the circle looks too precise (and accurate — its orientation and position) to be a machine anomaly, including the layers below, though the input shaping is definitely off a bit. See images above.

I am aware of resonating, anything can happen, mysteries. But it just doesn’t look like an input shaping issue.

I will try to disable the Klipper settings and go with the UltiMaker jerk/acceleration settings soon. Does anyone know how to disable whatever Klipper settings might interfere with the UltiMaker acceleration/jerk settings?

I will be Googling this. Argh.

I used a ruler to demonstrate the corner. The smaller hash marks on the ruler are 0.5 mm. The yellow dot I added graphically to highlight the corner.

I’m not sure about there being any limit to a size by Klipper, I’d have to look or Kevin can maybe chime in if he reads this thread.

There is a minimum possible resolution due to the mechanics of your 3d printer though depending on your setup.

Circumference = # of teeth x Belt pitch (2mm for common GT2 belts)

Linear Distance Per Step = Circumference / Steps per Revolution

20 tooth Pulley x 2mm belt pitch = ~40mm Circumference
1.8 degree Stepper = 360 degrees / 1.8 = 200 steps per revolution

40/200 = .2mm linear distance per full step

Linear distance per Microstep = .2mm / # of microsteps

For 16 microsteps:

.2mm / 16 = .0125 mm linear resolution

16 tooth pulley would be .01mm linear resolution @ 16 microstepping.
But you’d also lose printing speed, it’s always a trade off.

Those are under ideal circumstances too, but they give you an idea of the hard lower limit on resolution.

I’ve got to ask out of pure curiosity though. What are you making that requires such a fine resolution of detail?

Again, You have to keep in mind we’re forcing molten plastic out of a tiny hole. By it’s very nature it’s not an extremely precise type of manufacturing.

You have to keep in mind things like shrinking, warping and other thermal effects too. Plus the stresses and realignment of the polymer chains of the deposited plastic. ESPECIALLY on corners cause that’s where stress concentrations are.

(Here’s an interesting intro on how deep it goes with that kind of thing An Introduction to the Polymer Process and Drawn Fiber)

I’m not trying to discourage you, 3d printing has come this far by people pushing the boundaries. But you have to keep in mind realistically achievable goals too.

It’s all too common to go “chasing zeros” and spending 90% of your time and money on a 5-10% gain.

No one likes to hear that of course, but it’s a VERY common thing and it’s a very natural inclination.

Thank you for your valuable input FuzzyGiggler!

And I really appreciate the math on resolution! It’s going to take me a few days to go over it and other issues because I may switch over to Polymaker PolyMax PLA, which is more resistant to higher temperatures, and can be extruded through a 0.1 mm nozzle, which arrived last week.

I’ll keep the 0.2 mm nozzle for some initial PLA printing runs as I familiarize myself with the new filament.

Before I get into the purpose of these prints, I would like to emphasize that print speed is not a design parameter. Stress and deformations are factors however.

Though the bottom layers look a bit strained, they are deforming into useful directions — towards the centers of the squares. This is probably due to some filleting that I plan to keep. I will explain later why it’s okay.

The initial adhesion of the print was initially too much, and I was getting a large elephant’s foot, which was also fine, but these new bottom layers are more useful.

The top layer looks very good, yes. But I would like to reduce the radius of the corners at least by half. I imagine this should be possible with a 0.2 mm nozzle. But I am now more curious about the 0.1 mm nozzle, and will begin trying it out this week.

Okay, but why? The reason is a bit esoteric, and I’m really sorry if you are going to read this!

The squares are a stencil, so to speak, a container used for various methods of painting the grid using hot wax (60 - 65° C). The method can be extended to other shapes and contours.

I’ve tried a few methods using both inside (see image) and outside corners. You can see a white 3D-printed grid below the colored surface. If it was black, it would be perfect — a deep black invisible contour of “negative space,” but there are other issues with exposed plastic (when it deteriorates, it becomes unsightly).

In the case here, I am using the outside corner, and there would be no exposed plastic stencil, it would be buried, essentially.

I would like the corners to be as sharp as possible, because a rounded corner is noticeable in real life at 0.5 mm radius.

I would happily explain more — yes, there’s more — but I feel like you’ve already been through enough. Thank you!

There are a couple of videos here, but I haven’t uploaded any of the newer methods that I am working on:

I really appreciate your feedback! These colored squares are 20 mm across.