mirror of
https://github.com/kennetek/gridfinity-rebuilt-openscad.git
synced 2024-12-22 14:53:25 +00:00
gridz can now equal zero if only base is desired
Setting gridz to 0 (or anything less than zero) will only generate the base pattern. This is useful in cases where you want to use those wonderful printable holes on other models.
This commit is contained in:
parent
70321dd694
commit
e8babd7912
3 changed files with 9 additions and 7 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,4 +1,4 @@
|
|||
|
||||
ignore/
|
||||
gridfinity-rebuilt.json
|
||||
stl/
|
||||
stl/
|
||||
|
|
|
@ -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. <br> • (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. <br> • (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
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Reference in a new issue