Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auto Pillar Size and Spacing #5141

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Conversation

HCroc
Copy link

@HCroc HCroc commented Jun 24, 2022

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

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 slic3r#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 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. 

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;".
Variable Pillar Sizes for SupportMaterial.pm
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 slic3r#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 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. 

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;".
Variable Pillar Sizes for SupportMaterial.pm
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 slic3r#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 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. 

Notes: I had to change the Margin Step to MARGIN/1 to get the pillars built in squares at the edge. Tested in application and worked but I have not printed it yet. 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 15mm so I don't know what that error is but believe it is due to "my $x_max_pillar = $x_max_squared/1000;".
@HCroc HCroc closed this Jun 24, 2022
@HCroc HCroc deleted the HCroc-patch-1 branch June 24, 2022 13:43
@HCroc HCroc changed the title Variable Pillar Size/Spacing in SupportMaterial.pm Auto Pillar Size and Spacing Jun 24, 2022
@HCroc HCroc restored the HCroc-patch-1 branch June 24, 2022 14:09
@HCroc HCroc reopened this Jun 24, 2022
@AppVeyorBot
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants