diff --git a/.gitignore b/.gitignore index ea4d15d..df767b3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ ignore/ gridfinity-rebuilt.json -stl/ \ No newline at end of file +stl/ diff --git a/README.md b/README.md index 48549bf..caef9d0 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Parameter | Range | Description `gridx` | {n>0\|n∈Z} | number of bases along the x-axis `gridy` | {n>0\|n∈Z} | number of bases along the y-axis `length` | {n>0\|n∈R} | size of the square bases in millimeters, default 42 -`gridz` | {n>0\|n∈R} | height value (can be interpreted in various ways) +`gridz` | {n>=0\|n∈R} | height value (can be interpreted in various ways) `gridz_define` | {0,1,2} | • (0) Unit height: `gridz` is the height in units (7mm increments). The stock bins have a unit height value of 2, 3, or 6. The overall height of the bin is `7*u + 3.8` millimeters, where the 3.8 is the height of the top lip.
• (1) Internal height: `gridz` is the height from the bottom of a compartment to the top of the tab in millimeters. This is effectively the maximum height of an object that can fit inside the bin.
• (2) External height: `gridz` is the overall height of the bin, from the base to the upper lip fillet. This is effectively how deep a drawer must be to fit the bin. `enable_holes` | boolean | toggle holes for magnets and M3 screws on the base of the bin `enable_hole_slit` | boolean | toggle the printable countersunk hole cut diff --git a/gridfinity-rebuilt-base.scad b/gridfinity-rebuilt-base.scad index 47595bc..69843bc 100644 --- a/gridfinity-rebuilt-base.scad +++ b/gridfinity-rebuilt-base.scad @@ -36,12 +36,14 @@ module gridfinityEqual(n_divx=1, n_divy=1, style_tab=1, enable_scoop=true) { // wrapper module // DOES NOT CHECK FOR VALID COMPARTMENT STRUCTURE module gridfinityCustom() { - difference() { - color("firebrick") block_bottom(d_height); - children(); + if (gridz > 0) { + difference() { + color("firebrick") block_bottom(d_height-0.1); + children(); + } + color("royalblue") block_wall(); } color("orange") block_base(); - color("royalblue") block_wall(); } // Function to include in the custom() module to individually slice bins @@ -174,7 +176,7 @@ module block_wall() { module block_bottom( h = 2.2 ) { translate([0,0,h_base+0.1]) - rounded_rectangle(gridx*length-0.5-d_wall/4, gridy*length-0.5-d_wall/4, d_height-0.1, r_base+0.01); + rounded_rectangle(gridx*length-0.5-d_wall/4, gridy*length-0.5-d_wall/4, h, r_base+0.01); } module cut_move_unsafe(x, y, w, h) {