in a grid size 0 scenario, use padding only and allow a counterbore on that screw hole

This commit is contained in:
Marian Rudzynski 2024-11-30 22:23:17 -08:00
parent 7c217f8691
commit c2d7b4f515

View file

@ -224,7 +224,7 @@ module gridfinityBaseplate(grid_size_bases, length, min_size_mm, sp, hole_option
if (screw_together) {
translate([0, 0, additional_height/2])
cutter_screw_together(grid_size.x, grid_size.y, length);
cutter_screw_together(grid_size, padding_mm, length);
}
}
}
@ -392,18 +392,24 @@ module profile_skeleton(size=l_grid) {
}
}
module cutter_screw_together(gx, gy, size = l_grid) {
module cutter_screw_together(grid_size, padding_mm, size = l_grid) {
gx = grid_size.x > 0 ? grid_size.x : 0;
gy = grid_size.y > 0 ? grid_size.y : 0;
gh = grid_size.x == 0 ? padding_mm.x : (grid_size.y == 0 ? padding_mm.y : size);
screw(gx, gy);
rotate([0,0,90])
screw(gy, gx);
screw(gx, gy, gh + 1);
module screw(a, b) {
copy_mirror([1,0,0])
translate([a*size/2, 0, 0])
pattern_linear(1, b, 1, size)
pattern_linear(1, n_screws, 1, d_screw_head + screw_spacing)
rotate([0,90,0])
cylinder(h=size/2, d=d_screw, center = true);
module screw(a, b, h = size) {
translate([a*h/2, 0, 0])
pattern_linear(1, b, 1, size)
pattern_linear(1, n_screws, 1, d_screw_head + screw_spacing)
rotate([0,90,0])
cylinder(h=h, d=d_screw, center=true);
translate([a*h/2, 0, 0])
pattern_linear(1, b, 1, size)
pattern_linear(1, n_screws, 1, d_screw_head + screw_spacing)
rotate([0,90,0])
cylinder(h=h, d=(style_hole == 2) ? d_screw*1.8 : d_screw, center=false);
}
}