Initial create
This commit is contained in:
parent
c0486fbadf
commit
1450e1b0c8
|
|
@ -0,0 +1,68 @@
|
||||||
|
// File: panels.scad
|
||||||
|
// Library: PLA+ / CementALL Mesh Panels
|
||||||
|
// Author: ChatGPT
|
||||||
|
// Uses only cube() primitives for printed "lines".
|
||||||
|
//
|
||||||
|
// Panel envelope: 5" x 11" (127.0 x 279.4 mm)
|
||||||
|
// Line width (bead): ~0.48 mm with 0.4 mm nozzle
|
||||||
|
// Layer height: 0.28 mm
|
||||||
|
//
|
||||||
|
// Variants:
|
||||||
|
// - Light: pitch 10 mm, 2×2 layers, T ≈ 1.12 mm
|
||||||
|
// - Medium: pitch 7 mm, 3×3 layers, T ≈ 1.68 mm
|
||||||
|
// - Heavy: pitch 5 mm, 4×4 layers, T ≈ 2.24 mm
|
||||||
|
//
|
||||||
|
|
||||||
|
// --------------- Global ---------------------
|
||||||
|
nozzle_w = 0.4; // nozzle width
|
||||||
|
bead_w = (2 * nozzle_w) +0.2; // line width + some extra(mm)
|
||||||
|
layer_h = 0.2; // layer height (mm)
|
||||||
|
X = 125.0; // panel width (X-span for Y-lines) (127.0 original)
|
||||||
|
Y = 280.0; // panel length (Y-span for X-lines) (279.4 original)
|
||||||
|
bead_gap = 5.0; // spacing between beads, center-2-center (mm)
|
||||||
|
noVoid = 0.004; // ensures that objects mesh
|
||||||
|
cutoff = 10.0; // extend on each end so a faulty start does not ruin the entire line. It will be trimmed in post process.
|
||||||
|
nX = 26; // The number of lines in the Y
|
||||||
|
nY = 57;
|
||||||
|
DEBUG = 0;
|
||||||
|
|
||||||
|
objectX = X+(bead_w*1);
|
||||||
|
objectY = Y+(bead_w*1);
|
||||||
|
|
||||||
|
|
||||||
|
layerX(zVAL=0); // the first layer, created (zVAL * 0.5) below the Z origin.
|
||||||
|
layerY(zVAL=(layer_h*1)); // the second layer
|
||||||
|
layerX(zVAL=(layer_h*2)); // the third
|
||||||
|
layerY(zVAL=(layer_h*3)); // the third
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module layerX(zVAL) {
|
||||||
|
|
||||||
|
if(DEBUG) { translate ([0, 0, 0]) #cube([objectX, Y+cutoff, layer_h], center=true); }
|
||||||
|
|
||||||
|
translate([-((objectX*0.5)-(bead_w*0.5)), 0, 0]) subA();
|
||||||
|
module subA() {
|
||||||
|
for (lx = [0 : nX-1]) {
|
||||||
|
if(zVAL) {
|
||||||
|
translate([lx*5, 0, zVAL]) cube([bead_w, Y, layer_h], center=true);
|
||||||
|
} else {
|
||||||
|
translate([lx*5, 0, 0]) cube([bead_w, Y+cutoff, 0.2], center=true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module layerY(zVAL) {
|
||||||
|
|
||||||
|
translate([0, -((objectY*0.5)-(bead_w*0.5)), 0]) subA();
|
||||||
|
module subA() {
|
||||||
|
for (ly = [0 : nY-1]) {
|
||||||
|
translate([0, ly*5, zVAL]) cube([X, bead_w, layer_h], center=true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue