slic3r / Slic3r

Open Source toolpath generator for 3D printers
https://slic3r.org/
GNU Affero General Public License v3.0
3.28k stars 1.29k forks source link

Auto Pillar Size and Spacing #5141

Open HCroc opened 2 years ago

HCroc commented 2 years ago

From what I understand from the pillar supports in this supportmaterial.pm, is that they produce the same width pillars for different sized objects. In response to issue #3485, rather then making 'pillar size and spacing' a changeable variable in the UI it could be interesting to have these variables changed automatically depending on the size of the object. The altercations I have made to this code allows for a pillar size and spaces which change depending on the width of the object.

It does this by using the square root of the x width and then using that number to create a suitable pillar width and space for the pillars. I am new to perl and not a mathematician so this may not be the best way for going about doing this variable pillar widths. Either way, I hope this might come in handy in some way.

Current Pillar Structure:

Current Pillar Structure

Auto Resized Pillar Structure (Different pillar size for the smaller and bigger cubes):

My Variable Support Pillar Generation

Notes: I had to change the Margin Step to MARGIN/1 to get the pillars built in squares at the edge. This also did not work on a cube smaller then 15mm as it removed the outer walls, but did work on another test model smaller then 20mm so I don't know what that error is but believe it is due to "my $x_max_pillar = $x_max_squared/1000;". I'm also new to github so let me know if I have posted this in the wrong place.

Current:

Original Supports

Auto Resized:

Vaired Supports 2 Varied Supports
AppVeyorBot commented 2 years ago

:x: Build Slic3r 1.3.0-master-2512 failed (commit https://github.com/slic3r/Slic3r/commit/01a080fd3d by @HCroc)