Ultimaker / CuraEngine

Powerful, fast and robust engine for converting 3D models into g-code instructions for 3D printers. It is part of the larger open source project Cura.
https://ultimaker.com/en/products/cura-software
GNU Affero General Public License v3.0
1.68k stars 882 forks source link

Tree support tip generation leaves corners unsupported #2037

Open richfelker opened 7 months ago

richfelker commented 7 months ago

I've been experimenting with the improved tree supports with a very simple test case, a 28 mm cube floating 20 mm above the build plate, and have found that, regardless of top rate and tip diameter, the corners of the square are left inconsistently supported or entirelyy unsupported. This seems to be a consequence of generateSupportInfillLines in generateTips generating an infill pattern that does not reach the full extents of the region, especially not into corners. Modifying it to call generateSupportInfillLines with include_walls true helps but does not fully solve the problem, because iterating along the path to get locations for tips does not necessarily hit the vertices; it can step past one. It also makes the tip structure kinda weird.

I think the real fix is probably doing some kind of second pass that iterates over the outline and ensures there is a tip at each sharp corner.

saumyaj3 commented 6 months ago

Hey @richfelker
Have you tried "Enable Support Interface"? this setting is specially designed to tackle such issue with not correctly supported overhangs and sharp corners. Also! please try out the new Cura 5.7.0. A bunch of issues with tree supports are solved with it. If you still have the issue you're facing at the moment, could it be possible to share the project file with us?