X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=trackpump-mutlihead-clip.scad;h=ac07f971f9883294f1c552821672297c6941f1ba;hb=13d15de00776caf2932432599910a3a50d1df02f;hp=0b8bd01ef36d49e26a66baeade05f19ef01b89d7;hpb=c1ecd098588c9bdd2b8e3f200c8cb0b41b16bc54;p=reprap-play.git diff --git a/trackpump-mutlihead-clip.scad b/trackpump-mutlihead-clip.scad index 0b8bd01..ac07f97 100644 --- a/trackpump-mutlihead-clip.scad +++ b/trackpump-mutlihead-clip.scad @@ -31,18 +31,19 @@ baseplate_width_rad = xm = baseplate + pump_main_dia/2; +pump_side_total_height = + pump_side_thick + pump_side_height + pump_protr_slheight + pump_protr_flat; + $fa=5; module PumpSidePlan() { or = pump_side_outer_rad; - br = baseplate_width_rad; difference(){ union(){ intersection(){ translate([-xm, 0]) circle(r=or); - translate([-(xm+or), -or]) square([xm+or, or*2]); +// translate([-(xm+or), -or]) square([xm+or, or*2]); } - translate([-xm, -br]) square([xm, br*2]); } translate([-xm-or, 0]) square(center=true, [pump_side_width*4, pump_shaft_dia]); @@ -55,6 +56,7 @@ module PumpSideElevation(){ x1 = x2 - pump_main_dia; x0 = x1 - pump_side_width; x2a = x2 - pump_protr_protr; + x4 = x2 + pump_side_width; z0 = 0; z1 = z0 - pump_side_thick; @@ -72,24 +74,44 @@ module PumpSideElevation(){ translate([x1,z2]) scale([1,arcy/arcx]) circle(r=arcx); } - translate([x2,z2a]) square([x3-x2, z0-z2a]); + translate([x2,z2a]) square([x4-x2, z0-z2a]); hull(){ - translate([x2,z2a]) square([x3-x2, z2-z2a]); + translate([x2,z2a]) square([x4-x2, z2-z2a]); translate([x2a,z2b]) square([x3-x2a, z2a-z2b]); } } module PumpSide(){ + br = baseplate_width_rad; + brs = + sqrt( pow(pump_side_outer_rad, 2) + -pow(pump_main_dia/2 + baseplate, 2) ); + echo(brs); + difference(){ intersection(){ translate([0,100,0]) rotate([90,0,0]) linear_extrude(height=200) - PumpSideElevation(); - translate([0,0,-100]) - linear_extrude(height=200) - PumpSidePlan(); + PumpSideElevation(); + union(){ + translate([0,0,-100]) + linear_extrude(height=200) + PumpSidePlan(); + // baseplate + hull(){ + mirror([0,0,1]) + translate([-xm, -brs, 0]) + cube([pump_main_dia/2 + pump_side_width, + brs*2, + 1]); + translate([-xm, -br, -pump_side_total_height]) + cube([xm, + br*2, + pump_protr_flat]); + } + } } translate([-(baseplate + pump_main_dia/2), 0, -(pump_side_thick + pump_side_height)])