I’m trying to dial in the inside & outside diameter of a rather simple straight sided cylinder on my Creality Ender 5 Plus. It needs to be rather precise because it’s being glued to something on the inside diameter & something else on the outside diameter. Design is thru Fusion 360 as a simple cylinder ID 0.633" OD 0.852". At faster perimeter speeds, the problem is amplified.
The problem is in the first 0.080" is a smaller ID and OD by about 0.020". I’m running the following;
Filament PLA
Filament temp 200
Bed temp 60
Orientation: Vertical
Layer height: 0.2mm
First layer: 0.3mm
No infill. perimeters are set to 12
Skirt 3 loops at 8mm from object
Speed Perimeters 30
External Perimeters 50%
Machine is an Ender 5 Plus with a Microswiss direct drive
Picture attached showing the resulting dimensions (cross-section)
this is less than 1/64th out on the bottom OD but if you are consistently getting it this close I’d print it a little taller and sand it back once it’s inside whatever it is supposed to fit. Close to the bed, you have heat from the bed, and also the amount of squish from your Z offset affecting things. you could try printing on a raft, that will raise the part of the bed and might work.
I found this helpped accuracy. The more troublesome issue I had with one of my priners is the frame was flexing and I got variations from that. You could try slowing the print speed way down (25%) and see if that helps as well.
Two things are going on.
First, remember that any cylinder you design is actually going to be rendered as a polygon. It will be either a polygon whose apexes lie on the intended cylinder, or one whose faces are tangential to it. Usually, it’s the former. Somewhere in your CAD software there’ll be a parameter that says how many sides such polygons have (). If you need an exact fit (whatever that means for your particular case of fitting a polygon to a cylinder), you’ll have to do a little trigonometry to figure out what diameter to specify.
Second: There will always be a little filament sag; if I’m doing something this finicky, I’ll measure the printed part and adjust the model accordingly.
() I use openSCAD, which lets you specify the number of facets.
-And here’s some fine print: gcode does define primitives for directing a machine to move in an arc. I don’t think any slicers use it, and it is common to disable it in Marlin to save a little code space, especially on 8-bit control boards.
Originally, I was going to comment that your elephant foot compensation could be adjusted, but that would have made both the inner diameter larger and the outer diameter smaller, which is not the case with your problem.
Why not make the first layer also 0.2mm layer height as the rest of the layers? Curious whether you tried a calibration cube to see if you get the same results with your slicer settings. Have you tried slicing with a different slicer? I am wonder if your G-Code is driving the first layer diameter. In Prusaslicer, you can set the first layer extrusion width, but again, that would not have decreased your inner diameter.
For my PETG prints, I use both initial layer horizontal expansion, and hole horizontal compensation, which would presumably alter the I.D and O.D of this print.
0.08" seems pretty tall but possible if the initial bottom layers field is set to 10.
Thanks for all the suggestions. I’m running some tests now to determine if one of the suggestions fixes the issue.
After a few single changes, here’s what I’ve found;
The bed heat was turned off - that solved a big part of the problem. Part sticks, thanks to the double sided tape
Designed in a chamfer on the bottom to eliminate/reduce what appears to be elephant’s foot. The first chamfer of 0.005" was too small. I’m printing one with a chamfer of 0.010". They’re slowly creeping toward an acceptable dimension. The speed was also slowed down to 25mm/s
So I think everyone’s suggestions ended up being incorporated. Thanks all. Fingers crossed.
Don’t forget that these 3D printers are not precision machines, trying to hold a couple of thou. will be a challenge. When I print out something with a hole in it I usually run a reamer through it which you may not be able to do. I don’t know if it will work but if you adjust it to get the right OD then adjust the horizontal expansion to set the ID and then play one against the other until you get the dim’s. you want. Maybe a more experience member can say if this is a valid approach.