Encountering a scaling issue when adding supports using support enforcers in 2.5.0-alpha3
Issue discovered when printing a complex part with an overhang. Reproduced issue with a small test object with an overhang but issue only occurs if the overhang is not the highest (Z axis) part of the object. The only thing visibly suspicious in PrusaSlicer is that the object size becomes completely incorrect. The actual object is 20mm in X, 10mm in Y, and 20mm in Z as shown below.
After adding the support enforcer, it is displayed that the object is 20mm in X and Y and 10mm in Z as shown below.
The resulting print is 10% larger than the actual object (in this case 22mm in Z).
I tried to upload the STL and 3MF files to aid in issue reproduction but they are blocked for security reasons I guess.
RE: Encountering a scaling issue when adding supports using support enforcers in 2.5.0-alpha3
You have to zip the files for the forum to allow them. It’s the same on GitHub where you post bug reports.
RE: Encountering a scaling issue when adding supports using support enforcers in 2.5.0-alpha3
FWIW current development is 2.5.0 rc2
RE: Encountering a scaling issue when adding supports using support enforcers in 2.5.0-alpha3
Got it. Here's the zip.ZTest
RE: Encountering a scaling issue when adding supports using support enforcers in 2.5.0-alpha3
Understood. I checked the bug fixes and none addressed this issue.
RE: Encountering a scaling issue when adding supports using support enforcers in 2.5.0-alpha3
Using 2.5.0 rc2 to slice.
To print I changed the printer and filament profiles to normal ones for my printer and filament. (A customised Mk3 with a geared extruder and some basic recycled PLA).
Expected printed object height is 20.1 given your choice of layer heights and first layer height as that's the closest the slicer can get without using variable layer heights. When printed I get 20.45. That's more than I would expect but no where near as bad as you with 22mm.
Looking at your settings I noticed you had the solid infill threshold set to 70. This means instead of normal infill its going to use solid infill when the areas is low, which it is doing for most of this object. This could be a cause of over extrusion, especially if your extruder/filament isn't tuned and over extrudes slightly. It will build up. I set that to zero to allow it to use the normal configured infill and reprinted it. That resulted in a height of 20.35 so a bit of improvement. But its still higher than it should be.
I then changed the perimeter generator back to Classic, instead of the new Arachne just to see if it made any difference and reprinted. This time the height was 20.35. So no difference there. Not the new perimeter generator then.
I changed the 2 layer heights to 0.2 so it now slices at 20.0mm. Printing with classic still but with just the layer heights changed it now prints at 20.19. So still essentially a whole layer height too much (0.2).
I then just changed to a normal 0.2 Prusa profile and printed. This was using Arachne again as its 2.5.0 Printed height was 20.2. Again a 1 layer z height too much.
Mmmm so what is going on. I then removed your support enforcer block and just painted the same area with a support enforcer. I wasn't expecting that to make any difference but in the interests of science 🙂 20.22. So as expected no difference.
Not sure what's going on. The actual column in x and y measured 10.00 and 10.01 so the x/y is about as close as I can expect. 2.4.2 is also giving me the same heights though.
btw if you want better bridges, Untick the thick bridges option for a start.
RE: Encountering a scaling issue when adding supports using support enforcers in 2.5.0-alpha3
The only changes I made to my printing setup between properly scaled prints and prints with 110% Z scale were:
- changed my nozzle size from 0.4 to 0.6
- changed my layer height from 0.3 first layer/0.2 other layers to 0.3 for all layers due to larger nozzle size.
- installed OctoEverywhere plugin to my Octoprint instance to all remote monitoring
- oriented my complex object such that I needed to use support enforcers on some overhangs (instead of support on build plate only)
I have confirmed that the gcode files produced by PrusaSlicer are using the proper layer height (0.3mm) and print up to a top layer height of 20.1mm but when I print them I get objects 22mm tall. To rule out Octoprint and OctoEverywhere as a cause, I printed via Pronterface directly wired to the serial port on my EinsyRambo board with the same 22mm tall result.
To rule out other means of something messing with my scaling, I confirmed that my firmware still reports the correct steps/mm for all axes and they are fine.
I also sliced the STL using support on build plate only and I still get 22mm tall prints, so I don't only get it with support enforcers.
Hope this helps isolate the cause.
Frank
RE: Encountering a scaling issue when adding supports using support enforcers in 2.5.0-alpha3
Thanks for your help Neophyl. I posted updated info. I am seeing many extra, properly printed layers with no obvious overextrusion (despite not having tuned my printer for the 0.6mm nozzle yet. My real print is a Hobie style kayak pedal drive insert that stands 100mm tall normally but due to this issue, it prints at 110mm tall so no way improper layer thickness would cause this. The nozzle would be gouging through previous layers. The print looks fantastic other than being way too tall. Here it is after support was removed.
Frank
RE: Encountering a scaling issue when adding supports using support enforcers in 2.5.0-alpha3
Does it do the same with other slicers such as Cura ? 10% is a massive amount to be off, mines about 1%. The only thing I can think of for that much difference is for the stepper motor steps to be improperly set in the printers firmware for the z axis.
Do you have any height gauges or similar known height blocks ? If you do you could manually adjust the height using the printers controls until the nozzle just touches the top of say a 15mm block, and then command the z axis to move down 5mm via the printer controls and see if it just touches a 10mm block for example. That way you would know for certain that when its commanded to change 5mm it does change 5mm. If it moves 5.5mm then you know that its the printer setup.
RE: Encountering a scaling issue when adding supports using support enforcers in 2.5.0-alpha3
One more important thing. I confirmed that I get the same results using the following versions of slicer:
2.4.2
2.5.0 alpha3
2.5.0-rc2
All of these versions seem to share the same configuration files so if I botched something when changing the nozzle size in the configuration, it would affect all three versions tested. I still can't figure out how that would be possible given that the gcode files I'm printing are stopping printing at the right Z level.
RE: Encountering a scaling issue when adding supports using support enforcers in 2.5.0-alpha3
Neophyl, I verified that the firmware still reports the correct (and previously verified with calipers) steps per mm settings. As you said, in the interest of science, I measured with calipers the distance from the bed to the extruder stepper motor bottom as 61.78 mm. I then commanded a move of 10mm down toward the bed and measured 51.71mm so steps are fine. You're thinking along the same lines that I am so far. Any other way to explain a 10% Z error in the configuration?
RE:
@frank-keene
I downloaded your 3mf, sliced it without changing anything and looked at g-code
The last Z-move, for printing, is at line 5165, "G1 Z20.1 F6000"
So, in code the nozzle height should be at 20.1, just as @neophyl predicted, and in reality it is at 22!
THAT, is weird 😲 🤔
Try adding a "standard" cube with the same height along with the supported one
My software and printer is ↓
I will be back in about 20 minutes
edit: I see you already looked at the code the way I did, and printed more parts with the same result.....
Prusa i3 MK3S+ FW 3.11.0 (kit dec -20), PrusaSlicer 2.6.1+win64, Fusion 360, Windows 10
RE: Encountering a scaling issue when adding supports using support enforcers in 2.5.0-alpha3
Hi Neophyl,
I sliced the STL with Cura 4.12.1 (Version I had for a long time but don't really use) and it gets even stranger. The gcode prints the last layer at 23.1mm for some reason and the print measures 23.4mm. The STL is output from Fusion360 (Version 2.0.13881) so there shouldn't be anything too weird there. Going to print a standard test cube as Ringarn67 suggested to see what I get.
I will keep you all posted...
Frank
RE: Encountering a scaling issue when adding supports using support enforcers in 2.5.0-alpha3
Ok, printed a 20mm X 20mm X 12mm calibration cube that I sliced with PrusaSlicer 2.5.0-rc2 and it measures 19.74mm X 19.84mm X 13.33mm so again 10% too tall. There are no supports so I don't know what is going on.
RE: Encountering a scaling issue when adding supports using support enforcers in 2.5.0-alpha3
Ok, so I decided to try going back to the 0.4mm nozzle. The ZTest.stl printed with a height of 20.84mm sliced with PrusaSlicer 2.5.0-rc2 which is off by quite a bit but nowhere near the 10% we've been seeing. I compared my "Printer" settings used for 0.4 and 0.6mm nozzles and the nozzle size and the max layer height were the only parameters that were different. When I setup the 0.6mm Printer config I changed the nozzle size and changed max layer height from 0.2 (for 0.4mm nozzle) to 0 (use default for 0.6mm nozzle). I'm stumped.