GreedyOrOar (stl)
// --- PARAMETERS --- $fn = 60;
// Shaft & Tube Dimensions
shaft_len = 120; // Length of the central shaft connecting the paddles
shaft_rad = 5;
inner_bore_rad = 2.5; // Central hollow tube running end-to-end
// Paddle Blade Dimensions (Applied to both ends)
blade_w = 40;
blade_l = 60;
blade_t = 10;
// Siphon Channel Dimensions siphon_w = 6; siphon_h = 28; siphon_d = 4;
// --- MODULES ---
module single_blade_with_channels() { difference() { // Solid Blade block translate([-blade_w/2, 0, -blade_t/2]) cube([blade_w, blade_l, blade_t]);
// Left Siphon (Intake on the absolute outer left edge) translate([-blade_w/2 + siphon_w/2 + 2, blade_l/2 - siphon_h/2, 0]) siphon_core_carve(); // Right Siphon (Intake on the absolute outer right edge - mirrored) translate([blade_w/2 - siphon_w/2 - 2, blade_l/2 - siphon_h/2, 0]) mirror([1, 0, 0]) siphon_core_carve(); // Inward Connecting Cross-Channels to the center tube translate([-blade_w/2, blade_l/2 - siphon_h/2, -siphon_d/2]) cube([blade_w, siphon_d, siphon_d]); }}
module siphon_core_carve() { // Negative space for the outer-intake greedy siphon loop union() { // Outer Intake translate([-siphon_w/2, 0, -siphon_d/2]) cube([siphon_w, siphon_h, siphon_d]);
// The U-bend crest at the top peak translate([siphon_w/2, siphon_h, 0]) rotate([0, 90, 0]) cylinder(h = siphon_w*2, r = siphon_d/2, center = true); // The Down-leg (shifted inward toward the center) translate([siphon_w, -siphon_h*0.1, -siphon_d/2]) cube([siphon_w, siphon_h * 1.1, siphon_d]); }}
module full_double_paddle_assembly() { difference() { // Solid Structure: Shaft + Two Blades union() { // Central Shaft rotate([90, 0, 0]) cylinder(h = shaft_len, r = shaft_rad, center = true);
// Right Paddle Blade translate([0, shaft_len/2, 0]) single_blade_with_channels(); // Left Paddle Blade (Rotated 180 degrees to face the opposite way) translate([0, -shaft_len/2, 0]) rotate([0, 0, 180]) single_blade_with_channels(); } // Central Hollow Bore (Runs completely through everything from end to end) rotate([90, 0, 0]) cylinder(h = shaft_len + (blade_l * 2) + 10, r = inner_bore_rad, center = true); }}
full_double_paddle_assembly();




%2520in%2520aciton%25202.png&w=3840&q=75)














