|
|
@@ -25,18 +25,21 @@ SPRUE_GAP = 2.0; // gap between adjacent flanges
|
|
|
SPRUE_PITCH = FLANGE_D + SPRUE_GAP; // centre-to-centre
|
|
|
SPRUE_T = 0.5; // bridge thickness — snaps cleanly
|
|
|
SPRUE_Z = FLANGE_T + 0.4; // just above the flange shoulder
|
|
|
+SPRUE_OVL = 0.2; // overlap into each shaft so shells merge
|
|
|
|
|
|
module plunger_strip() {
|
|
|
- for (i = [0:3])
|
|
|
- translate([i * SPRUE_PITCH, 0, FLANGE_T])
|
|
|
- rotate([90, 0, 0])
|
|
|
- plunger();
|
|
|
+ union() {
|
|
|
+ for (i = [0:7])
|
|
|
+ translate([i * SPRUE_PITCH, 0, FLANGE_T])
|
|
|
+ rotate([90, 0, 0])
|
|
|
+ plunger();
|
|
|
|
|
|
- for (i = [0:2]) {
|
|
|
- x0 = i * SPRUE_PITCH + PLUNGER_D / 2;
|
|
|
- x1 = (i + 1) * SPRUE_PITCH - PLUNGER_D / 2;
|
|
|
- translate([x0, -PLUNGER_D / 2, SPRUE_Z])
|
|
|
- cube([x1 - x0, PLUNGER_D, SPRUE_T]);
|
|
|
+ for (i = [0:6]) {
|
|
|
+ x0 = i * SPRUE_PITCH + PLUNGER_D / 2 - SPRUE_OVL;
|
|
|
+ x1 = (i + 1) * SPRUE_PITCH - PLUNGER_D / 2 + SPRUE_OVL;
|
|
|
+ translate([x0, -PLUNGER_D / 2, SPRUE_Z])
|
|
|
+ cube([x1 - x0, PLUNGER_D, SPRUE_T]);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|