Add oranje speaker
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | *.dxf | ||||||
|  | *.stl | ||||||
							
								
								
									
										154
									
								
								oranje.scad
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										154
									
								
								oranje.scad
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,154 @@ | |||||||
|  | B = 19.05; | ||||||
|  | M = 6.35; | ||||||
|  |  | ||||||
|  | A = 5; // Alignment pad size | ||||||
|  |  | ||||||
|  | BD = B - M; | ||||||
|  |  | ||||||
|  | WF152_HEIGHT = 136.5; | ||||||
|  | WF152_DIAMETER = 152; | ||||||
|  | AMT2I_WIDTH = 91; | ||||||
|  | AMT2I_HEIGHT = 72; | ||||||
|  |  | ||||||
|  | WOOFER_OFFSET = 300-183+1; | ||||||
|  | PORT_OFFSET = 300-60; | ||||||
|  |  | ||||||
|  | // Side panel and tweeter alignment | ||||||
|  | difference() { | ||||||
|  |   square([162-BD, 600], center=true); | ||||||
|  |  | ||||||
|  |   // Tweeter cutout | ||||||
|  |   difference() { | ||||||
|  |     offset(r=BD/2) square([AMT2I_HEIGHT, AMT2I_WIDTH], center=true); | ||||||
|  |     offset(r=BD/2) square([65, 65], center=true); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   // Vertical tweeter alignment squares | ||||||
|  |   translate([100, 0]) rotate(45) square(A,center=true); | ||||||
|  |   translate([-100, 0]) rotate(45) square(A,center=true); | ||||||
|  |  | ||||||
|  |   // Edge alignment | ||||||
|  |   translate([0, -290]) rotate(45) square(A,center=true); | ||||||
|  |   translate([0, 290]) rotate(45) square(A,center=true); | ||||||
|  |  | ||||||
|  |   // Woofer alignment | ||||||
|  |   translate([0, -290]) rotate(45) square(A,center=true); | ||||||
|  |   translate([0, 290]) rotate(45) square(A,center=true); | ||||||
|  |  | ||||||
|  |   translate([0, WOOFER_OFFSET]) { | ||||||
|  |      difference() { | ||||||
|  |         offset(r=BD/2) square([AMT2I_HEIGHT, AMT2I_WIDTH], center=true); | ||||||
|  |         square([65, 65], center=true); | ||||||
|  |      } | ||||||
|  |  | ||||||
|  |      // woofer alignment | ||||||
|  |      translate([60, 0]) rotate(45) square(A,center=true); | ||||||
|  |      translate([-60, 0]) rotate(45) square(A,center=true); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   // woofer #2 alignemnt | ||||||
|  |   translate([0, -WOOFER_OFFSET]) { | ||||||
|  |      difference() { | ||||||
|  |         offset(r=BD/2) circle(d=69); | ||||||
|  |         circle(d=69); | ||||||
|  |      } | ||||||
|  |  | ||||||
|  |      // woofer alignment | ||||||
|  |      translate([60, 0]) rotate(45) square(A,center=true); | ||||||
|  |      translate([-60, 0]) rotate(45) square(A,center=true); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   // Center alignment | ||||||
|  |   translate([60, 0]) rotate(45) square(A,center=true); | ||||||
|  |   translate([-60, 0]) rotate(45) square(A,center=true); | ||||||
|  |  | ||||||
|  |   // Bass reflex port | ||||||
|  |   translate([0, PORT_OFFSET]) offset(r=BD/2) circle(d=69); | ||||||
|  |   translate([0, -PORT_OFFSET]) offset(r=BD/2) circle(d=69); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // WF152BD11 flush mount | ||||||
|  | module wf152() { | ||||||
|  |     intersection() { | ||||||
|  |       circle(d=WF152_DIAMETER , $fn=100); | ||||||
|  |       square([WF152_DIAMETER ,WF152_HEIGHT], center=true); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | module j() { | ||||||
|  |   difference() { | ||||||
|  |     offset(r=BD/2) wf152(); | ||||||
|  |     offset(r=BD/2) circle(d=126, $fn=100); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   // Center alignment hole | ||||||
|  |   rotate(45) square(3, center=true); | ||||||
|  |  | ||||||
|  |   // Alignment holes | ||||||
|  |   translate([0, -90]) rotate(45) square(A,center=true); | ||||||
|  |   translate([0, 90]) rotate(45) square(A,center=true); | ||||||
|  |   translate([90, 0]) rotate(45) square(A,center=true); | ||||||
|  |   translate([-90, 0]) rotate(45) square(A,center=true); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | translate([255,0]) | ||||||
|  | difference() { | ||||||
|  |   square([300-19-19-BD, 600-19-19-BD], center=true); | ||||||
|  |  | ||||||
|  |   translate([90, 0]) rotate(45) square(A,center=true); | ||||||
|  |   translate([-90, 0]) rotate(45) square(A,center=true); | ||||||
|  |   translate([0, -260]) rotate(45) square(A,center=true); | ||||||
|  |   translate([0, 260]) rotate(45) square(A,center=true); | ||||||
|  |  | ||||||
|  |   translate([0, WOOFER_OFFSET]) j(); | ||||||
|  |  | ||||||
|  |   translate([0, -WOOFER_OFFSET]) { | ||||||
|  |  | ||||||
|  |     // Alignment holes | ||||||
|  |     translate([0, -90]) rotate(45) square(A,center=true); | ||||||
|  |     translate([0, 90]) rotate(45) square(A,center=true); | ||||||
|  |     translate([90, 0]) rotate(45) square(A,center=true); | ||||||
|  |     translate([-90, 0]) rotate(45) square(A,center=true); | ||||||
|  |  | ||||||
|  |     difference() { | ||||||
|  |       offset(r=BD/2) wf152(); | ||||||
|  |  | ||||||
|  |       difference() { | ||||||
|  |         wf152(); | ||||||
|  |         // Driver screw holes | ||||||
|  |         for ( i = [45 : 90 : 360] ){ | ||||||
|  |           rotate(i) translate([140/2,0]) circle(d=4, $fn=50); | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Back terminal cutout & back-front cutout groove | ||||||
|  | translate([-250,0]) | ||||||
|  | difference() { | ||||||
|  |   square([162-BD, 600-19-19-BD], center=true); | ||||||
|  |  | ||||||
|  |   // Terminal cutout | ||||||
|  |   difference() { | ||||||
|  |     offset(r=BD/2) square([80, 93], center=true); | ||||||
|  |     offset(r=BD/2) square([56, 76], center=true); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   // Alignment | ||||||
|  |   translate([0, -520/2]) rotate(45) square(A,center=true); | ||||||
|  |   translate([0, 520/2]) rotate(45) square(A,center=true); | ||||||
|  |   translate([-60,0]) rotate(45) square(A,center=true); | ||||||
|  |   translate([60,0]) rotate(45) square(A,center=true); | ||||||
|  |  | ||||||
|  |   translate([0, 130]) { | ||||||
|  |     difference() { | ||||||
|  |       offset(r=M/2, $fn=50) square([AMT2I_HEIGHT-M, AMT2I_WIDTH-M], center=true); | ||||||
|  |       translate([-AMT2I_HEIGHT/2+5, -AMT2I_WIDTH/2+5]) circle(d=4, $fn=50); | ||||||
|  |       translate([-AMT2I_HEIGHT/2+5, AMT2I_WIDTH/2-5]) circle(d=4, $fn=50); | ||||||
|  |       translate([AMT2I_HEIGHT/2-5, -AMT2I_WIDTH/2+5]) circle(d=4, $fn=50); | ||||||
|  |       translate([AMT2I_HEIGHT/2-5, AMT2I_WIDTH/2-5]) circle(d=4, $fn=50); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user