Notifications
Clear all

Elephants Foot Compensation  

  RSS
retroglyph
(@retroglyph)
New Member
Elephants Foot Compensation

Hi,

This is my first post. If this isn't the place, then feel free to relocate it.

Occasionally, I have certain models, with some filament, where I get rather bad Elephants Foot. Even when I use the Elephants Foot compensation setting, sometimes the Elephants Foot extends several layers up into the print.

With the goal of removing it, I wrote a little SCAD ( https://www.thingiverse.com/thing:4800868 ). This allows a user to select a model, select the number of affected layers, first layer height, layer height and amount of compensation needed. It will then use openSCADs projection and offset tools to "slice", offset and re-extrude the first N number of layers. Basically, it creates a custom chamfer to parametrically compensate for Elephants Foot. It works OK, in many situations. However, the biggest issue with using SCAD offset for this is that there is always potential for overly removing areas of thin details. How else to say... one could easily offset to the point where thin lines no longer exist.

It seems that PrusaSlicer might use an algorithm that can preserve a minimum line width.

So, with the goal of trying to leverage PrusaSlicer, I am looking at ElephantsFootCompensation.cpp This is my first perusal. In simple terms, I'm trying to work out how the slicer gets the path from ElephantsFootCompensation.cpp

My goal is this: What I think would be awesome would be if "Elephants Foot Compensation" was not just a first layer compensation, but an N layer compensation. So, you could print a cube without compensation, then measure. If there is Elephants Foot, you'd enter not only the amount to offset, but the number of layers (or alternatively, the affected amount in mm)

If I can work out how the slicer gets the path from ElephantsFootCompensation.cpp and if I can figure out how ElephantsFootCompensation.cpp gets the amount to offset, then I can try to implement.

Does anyone else think this is of value?

Thanks

Steve

 

 

This topic was modified 3 years ago by retroglyph
Posted : 25/03/2021 2:58 pm
3Delight
(@3delight)
Moderator Moderator
RE: Elephants Foot Compensation

The developers do not come on this forum often if at all.  You might have better success posting this in the issues section of the PrusaSlicer GitHub at:

https://github.com/prusa3d/PrusaSlicer/issues

Make it a Feature Request.

Posted : 25/03/2021 3:06 pm
bobstro
(@bobstro)
Illustrious Member
RE: Elephants Foot Compensation
Posted by: @retroglyph

[...] Does anyone else think this is of value?

There's nothing inherently wrong with the idea, but elephant's foot compensation is really a crutch for a bad 1st layer height adjustment. On other printers, it makes sense. You can't easily get a good first layer adjustment when your only tools are dopey knobs in the corners of the bed. On a Prusa printer, however, you really shouldn't be getting a significant elephant's foot in the first place. If you have to mash layers down enough to cause the print to distort outside of what the slicer is telling it to print, you should work on cleaning the PEI print surface for good adhesion and Live-Z calibration for consistent adhesion and faithfulness of the print to the slicer settings.

Unfortunately, the Prusa textured sheet has made this relevant again as it seems to have poor PLA adhesion for many users. I personally ditched my Prusa textured sheet because of this. Others have excellent results with it. It's this lack of consistency that is really disappointing. I think it has set back progress Prusa made with the Mk3 and the original smooth PEI surface in terms of consistency between printers. Stick to the smooth PEI print surface and any two users with a Mk3 can expect near identical results with proper cleaning and adjustment. Add in the Prusa take on textured sheets and it's a crap shoot. I recommend anybody new to 3D printing start with and master the smooth PEI surface, then move to some other brand of textured sheet when you want an aesthetic 1st layer texture. YMMV and all that.

 

My notes and disclaimers on 3D printing

and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan

Posted : 25/03/2021 3:25 pm
fuchsr
(@fuchsr)
Famed Member
RE: Elephants Foot Compensation

This seems like a convoluted kludge for a more fundamental issue, which is why you’re seeing excessive EF in the first place. I’d start there rather than putting bandaids on. 

Posted : 25/03/2021 9:25 pm
retroglyph
(@retroglyph)
New Member
Topic starter answered:
RE: Elephants Foot Compensation

Hey guys, I appreciate the responses.

I read it over and over that elephants foot is a result of bad first layer height. And I absolutely agree that bad first layer height can be a cause. However, there is another factor that I can't wrap my head around. So maybe you can help me understand this...

I can print a 20 x 20 x 20mm calibration cube at 0.2 layer height for all layers, with a number of different PLA filaments and the results from my printer produce a cube that varies slightly, but within 19.97 to 20.03 in all dimensions. So not perfect, but fairly well calibrated. If I do a single layer test of the same, the first layer measures very close to 0.2. And with most filament, I get no elephants foot. So I don't feel like I have a bad first layer height in terms of dimensional accuracy.

With some filaments however, that same cube will get elephants foot. If I change the z offset or the first layer height, I can remove the elephants foot. However, then I have dimensional accuracy issues. It'll still be accurate in the X and Y. But the Z height will be off.

So, I am having a hard time understanding how to change the first layer height without affecting the overall vertical dimension.

Part of why I worked on this (which is admittedly a) kludge is so that I could produce 2 prints in 2 different filaments and achieve the same vertical accuracy. Perhaps there is a better way to achieve a similar result...

I will say that heat appears to be part of the equation. For example, when I use a certain brand of carbon fiber infused PLA, I need more heat to prevent clogs and allow the layers to adhere to each other better. I've got no bed adhesion issues, but layer to layer strength is poor at lower temps. So, as I dial up the heat, I get a stronger print, but more elephants foot. Oddly, the Z dimension remains consistent - I would have thought that if the filament is being displaced outward  (the elephant's foot) then it would have to affect (reduce) the Z height. Yet I am still getting dimensional accuracy in the vertical.

Given all that, it seemed best just to modify the model. So for those filaments that cause me trouble, I run it through the script. The subsequent print measures accurately.

But like I said, perhaps there is a better way...

 

 

 

 

 

 

 

 

Posted : 26/03/2021 5:19 pm
bobstro
(@bobstro)
Illustrious Member
RE: Elephants Foot Compensation
Posted by: @retroglyph

[...] Part of why I worked on this (which is admittedly a) kludge is so that I could produce 2 prints in 2 different filaments and achieve the same vertical accuracy. Perhaps there is a better way to achieve a similar result...

I went down the same path myself. It finally clicked that I needed to focus on what's different: The filament. Each filament can vary in terms of diameter, consistency, and flow characteristics. I encountered this when fighting to stringing, but the same will apply to dimensional accuracy. Your slicer only knows what you tell it. If you tell it your filament is 1.75mm in diameter, it will generate gcode that extrudes filament to make an accurate print based on that setting. If your filament is actually 1.72mm in diameter, the gcode will not be accurate. Similarly, your extrusion multiplier should be calibrated for each filament brand and type. If you don't do this, your slicer settings won't match your physical printer and filament, and you can get a slight amount of over- or under extrusion. This can show up as variations in dimensional accuracy, fine stringing, or under-extrusion on flat surfaces.

The good new is that once you do this, a host of annoying little problems will tend to go away. Don't go trying to compensate for bad settings by adjusting other settings. Fix the ones that matter (filament diameter and extrusion multiplier) first, test, and only then, tweak other settings as and only if needed.

Prusa has a good article on one method of calibrating your extrusion multiplier.  I've got some notes here that you might find useful.

 

 

My notes and disclaimers on 3D printing

and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan

Posted : 26/03/2021 9:31 pm
retroglyph
(@retroglyph)
New Member
Topic starter answered:
RE: Elephants Foot Compensation

Bob,

wow. Your "notes" are exceptional. I will admit that I failed to convey that I do use a unique extrusion multiplier for each filament. However, after perusing your notes, I am wondering if I have used the best technique. I'm in the middle of printing things. When I am done, I'll reread your notes and try some extrusion calibration cubes.

But dang, thanks for all the good thoughts. "The Illusion of Speed" was of particular interest... well written stuff!

Thanks again

Steve

Posted : 27/03/2021 7:01 pm
bobstro
(@bobstro)
Illustrious Member
RE: Elephants Foot Compensation

Glad it's useful. I am just trying to get all the good info I pick up down "on paper" before I forget it all.

Let me know if you spot any errors. 

My notes and disclaimers on 3D printing

and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan

Posted : 27/03/2021 8:17 pm
Share: