diff --git a/gridfinity-rebuilt-baseplate.scad b/gridfinity-rebuilt-baseplate.scad index 4cbb665..faa1491 100644 --- a/gridfinity-rebuilt-baseplate.scad +++ b/gridfinity-rebuilt-baseplate.scad @@ -16,9 +16,9 @@ $fs = 0.25; /* [General Settings] */ // number of bases along x-axis -gridx = 4; +gridx = 5; // number of bases along y-axis -gridy = 4; +gridy = 5; // base unit length = 42; @@ -91,6 +91,7 @@ module gridfinityBaseplate(gridx, gridy, length, dix, diy, sp, sm, sh, fitx, fit rounded_rectangle(dx*2, dy*2, h_base*2, r_base); pattern_linear(gx, gy, length) { + render() { if (sm) block_base_hole(1); if (sp == 1) @@ -107,6 +108,7 @@ module gridfinityBaseplate(gridx, gridy, length, dix, diy, sp, sm, sh, fitx, fit if (sh == 1) cutter_countersink(); else if (sh == 2) cutter_counterbore(); } + } } if (sp == 3 || sp ==4) cutter_screw_together(gx, gy, off); } diff --git a/gridfinity-rebuilt-bins.scad b/gridfinity-rebuilt-bins.scad index 8e4d2ad..2f2d2e2 100644 --- a/gridfinity-rebuilt-bins.scad +++ b/gridfinity-rebuilt-bins.scad @@ -29,9 +29,9 @@ $fs = 0.25; /* [General Settings] */ // number of bases along x-axis -gridx = 1; +gridx = 5; // number of bases along y-axis -gridy = 1; +gridy = 5; // bin height. See bin height information and "gridz_define" below. gridz = 6; // base unit diff --git a/gridfinity-rebuilt-utility.scad b/gridfinity-rebuilt-utility.scad index 13b5ff9..d9deec6 100644 --- a/gridfinity-rebuilt-utility.scad +++ b/gridfinity-rebuilt-utility.scad @@ -97,24 +97,27 @@ module gridfinityBase(gx, gy, l, dx, dy, style_hole, off=0, final_cut=true) { translate([0,0,-1]) rounded_rectangle(xx+0.005, yy+0.005, h_base+h_bot/2*10, r_fo1/2+0.001); - render() - difference() { - pattern_linear(gx/dbnx, gy/dbny, dbnx*l, dbny*l) - block_base_solid(dbnx, dbny, l, off); - - if (style_hole > 0) - if (style_hole % p_corn < 0.001) - pattern_linear(2, 2, (gx-1)*length+d_hole, (gy-1)*length+d_hole) - block_base_hole(style_hole / p_corn, off); - else - pattern_linear(gx, gy, l) - pattern_circular(abs(d_hole)<0.001?1:4) - translate([d_hole/2, d_hole/2, 0]) - block_base_hole(style_hole, off); - } + pattern_linear(gx/dbnx, gy/dbny, dbnx*l, dbny*l) + block_base(gx, gy, l, dbnx, dbny, style_hole, off); } } +module block_base(gx, gy, l, dbnx, dbny, style_hole, off) { + render() + difference() { + block_base_solid(dbnx, dbny, l, off); + + if (style_hole > 0) + if (style_hole % p_corn < 0.001) + pattern_linear(2, 2, (gx-1)*length+d_hole, (gy-1)*length+d_hole) + block_base_hole(style_hole / p_corn, off); + else + pattern_circular(abs(d_hole)<0.001?1:4) + translate([d_hole/2, d_hole/2, 0]) + block_base_hole(style_hole, off); + } +} + module block_base_solid(dbnx, dbny, l, o) { xx = dbnx*l-0.05; yy = dbny*l-0.05;