The "elephant foot" issue is improved on my Ultimaker 3 by setting "Initial Layer Horizontal Expansion". But it is not fully resolved. I have tested several expansion values from -0.2mm to -0.4mm. By inspecting the prints in microscope, the 1st layer is fixed but the 2nd layer is still wider than expected. So, I think it would solve the problem if I can also adjust the 2nd layer expansion.
I also find another issue. The printed hole is always smaller than expected. So, I print a cube 10x10x10mm to verify the issue. The measured dimension is 10.2x10.12x0.97mm (excluding the elephant area). Obviously the X-Y directions are wider than expected. The error 0.2mm is too large. So, I set "Horizontal Expansion" to -0.07mm. It works well. But for this, I have two questions.
(1) When setting both "Horizontal Expansion" and "Initial Layer Horizontal Expansion", does Cura calculate the final 1st layer based on the adjusted "Horizontal Expansion"? Or they are independent? If they are independent then I have to compensate it myself. For example, if I want "Initial Layer Horizontal Expansion = -0.25mm" then I have to set it to "-0.25mm - 0.07mm = -0.32mm". This would be very inconvenient.
(2) The error of X and Y axes are very different. I have printed the cube several times and measure the average dimension. The error of one side (X or Y) is more than 0.2mm while the other side (Y or X) is around 0.1mm. So, I think it would be better if I can adjust X and Y Horizontal Expansion independently.
Btw, I use auto-leveling and "Fine" print setup for the above experiments.
Hope the above two features (options) can be added to Cura. Then Ultimaker 3 would be perfect for my applications.