44
									
								
								pump/pump.scad
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								pump/pump.scad
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| pump(4000, 10000, 1500); | ||||
|  | ||||
| module pump(width=30, height=70, radius=10) | ||||
| { | ||||
|     base(); | ||||
|      | ||||
|     piston(); | ||||
|  | ||||
|     module base() { | ||||
|         difference() { | ||||
|             cube(width, center=true); | ||||
|             translate([0,0, -width/2]) | ||||
|                 cylinder(h=width, r=radius); | ||||
|         } | ||||
|     } | ||||
|      | ||||
|     module piston() { | ||||
|              | ||||
|         function percent(base, p) = | ||||
|             p /100 * base; | ||||
|          | ||||
|         function hand_z() = | ||||
|             percent(width/2, 99) + | ||||
|             height - (height - width); | ||||
|          | ||||
|         function hand_height() = | ||||
|             width * 1.5; | ||||
|          | ||||
|         // Pump part | ||||
|         translate([0, 0, percent(width/2, 99)])  | ||||
|             cylinder( | ||||
|                 h=height-width, | ||||
|                 r=percent(radius, 98) | ||||
|             ); | ||||
|          | ||||
|         // Hand part | ||||
|         translate([-hand_height()/2, 0, hand_z()]) | ||||
|             rotate([0, 90, 0]) | ||||
|                 cylinder( | ||||
|                     h=hand_height(), | ||||
|                     r=percent(radius, 30) | ||||
|                 ); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user