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) { if (screw_together) {
translate([0, 0, additional_height/2]) 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); screw(gx, gy, gh + 1);
rotate([0,0,90])
screw(gy, gx);
module screw(a, b) { module screw(a, b, h = size) {
copy_mirror([1,0,0]) translate([a*h/2, 0, 0])
translate([a*size/2, 0, 0])
pattern_linear(1, b, 1, size) pattern_linear(1, b, 1, size)
pattern_linear(1, n_screws, 1, d_screw_head + screw_spacing) pattern_linear(1, n_screws, 1, d_screw_head + screw_spacing)
rotate([0,90,0]) rotate([0,90,0])
cylinder(h=size/2, d=d_screw, center = true); 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);
} }
} }