Files
OpenSCAD/BOSL2/V08APR26/SKU2689999/sgc/gridstack.scad
TheRON 49b02fce5e Creating the first layer
The loop distribution is off, the amount each cavity moves needs to be calculated still.
2026-04-24 16:10:16 -04:00

71 lines
1.9 KiB
OpenSCAD

/* 79-character width
012345678.012345678.012345678.012345678.012345678.012345678.012345678.012345678
*/
///////////////////////////////////////////////////////////////////////////////
// LibFile: gridstack.scad
// FileGroup: CSGPATTERS
// FileSummary: Grid formed by stacked lines
//
// DETAILS:
// Weaker than fully meshed grids, but also faster to print and lighter
// Todo: NONE
///////////////////////////////////////////////////////////////////////////////
include <BOSL2/std.scad>
include <sgc_params.scad>
lw = 2*nW; // line width
lh = LH+10; // layer height
// these MUST be the cavity size
gridX=4.8;
gridY=7.4;
// these ARE the number of cavities
xCount=15;
yCount=26;
// these MUST be the calculated dimensions
xw = (gridX*xCount)+((lw+1)*xCount)-lw; // X width
yw = (gridY*yCount)+((lw+1)*yCount)-lw; // Y width
yj = (2*gridY)+(0.5*lw); // jump by this amount
hc = 3; //height count = height of stack
li = 10+VOID; // lead-in line on the Y
*base_shape(liY=li);
module base_shape(liY) {
difference() {
cuboid([xw+liY, yw, lh]);
translate([(0.5*(xw+liY))-(0.5*liY), lw, 0]) cuboid([li+VOID, yw, lh+VOID]); }
}
*void_block_odd(liY=li); // backup
/*
module void_block_odd(liY) {
oddStart = 0;
difference() {
base_shape(liY=li);
translate([-((0.5*liY)-lw), -((0.5*yw)-(0.5*gridY)-(lw)), 0]) cuboid([xw, gridY, lh+VOID]); }
} */
void_block_odd(liY=li);
module void_block_odd(liY) {
oddJump = ((0.5*yw)-(0.5*gridY)-(lw));
for (i = [0:(xCount-1)]) {
difference() {
base_shape(liY=li);
translate([-((0.5*liY)-lw), oddJump-(yj*i), 0]) #cuboid([xw, gridY, lh+VOID]); }
}}
*void_block_even(liY=li);
module void_block_even(liY) {
evenStart = 0;
difference() {
base_shape(liY=li);
translate([-((0.5*liY)-lw), -((0.5*yw)-(0.5*gridY)-(lw)), 0]) cuboid([xw, gridY, lh+VOID]); }
}