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) {