mirror of
https://github.com/kennetek/gridfinity-rebuilt-openscad.git
synced 2024-12-22 23:03:28 +00:00
add cylindrical cutouts
This commit is contained in:
parent
c95938da94
commit
41cdc2a46d
1 changed files with 33 additions and 9 deletions
|
@ -29,17 +29,29 @@ $fs = 0.25;
|
|||
|
||||
/* [General Settings] */
|
||||
// number of bases along x-axis
|
||||
gridx = 5;
|
||||
gridx = 3;
|
||||
// number of bases along y-axis
|
||||
gridy = 5;
|
||||
gridy = 2;
|
||||
// bin height. See bin height information and "gridz_define" below.
|
||||
gridz = 6;
|
||||
|
||||
/* [Compartments] */
|
||||
/* [Linear Compartments] */
|
||||
// number of X Divisions (set to zero to have solid bin)
|
||||
divx = 1;
|
||||
// number of y Divisions (set to zero to have solid bin)
|
||||
divy = 1;
|
||||
divx = 0;
|
||||
// number of Y Divisions (set to zero to have solid bin)
|
||||
divy = 0;
|
||||
|
||||
/* [Cylindrical Compartments] */
|
||||
// number of cylindrical X Divisions (mutually exclusive to Linear Compartments)
|
||||
cdivx = 0;
|
||||
// number of cylindrical Y Divisions (mutually exclusive to Linear Compartments)
|
||||
cdivy = 0;
|
||||
// orientation
|
||||
c_orientation = 2; // [0: x direction, 1: y direction, 2: z direction]
|
||||
// radius of cylindrical cut outs
|
||||
r = 10;
|
||||
// cylinder height
|
||||
ch = 10;
|
||||
|
||||
/* [Height] */
|
||||
// determine what the variable "gridz" applies to based on your use case
|
||||
|
@ -73,11 +85,23 @@ div_base_y = 0;
|
|||
color("tomato") {
|
||||
gridfinityInit(gridx, gridy, height(gridz, gridz_define, style_lip, enable_zsnap), height_internal) {
|
||||
|
||||
if (divx > 0 && divy > 0)
|
||||
if (divx > 0 && divy > 0) {
|
||||
|
||||
cutEqual(n_divx = divx, n_divy = divy, style_tab = style_tab, scoop_weight = scoop);
|
||||
|
||||
} else if (cdivx > 0 && cdivy > 0) {
|
||||
rotation = (c_orientation == 0)
|
||||
? [0,90,0]
|
||||
: (c_orientation == 1)
|
||||
? [90,0,0]
|
||||
: [0,0,0];
|
||||
cut_move(x=0, y=0, w=gridx, h=gridy)
|
||||
pattern_linear(x=cdivx, y=cdivy, sx=42*gridx/cdivx, sy=42*gridy/cdivy)
|
||||
rotate(rotation)
|
||||
cylinder(r=r, h=ch, center=true);
|
||||
}
|
||||
}
|
||||
gridfinityBase(gridx, gridy, l_grid, div_base_x, div_base_y, style_hole, only_corners=only_corners);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue