Finalize Kormoran
This commit is contained in:
		| @@ -5,24 +5,82 @@ A = 5; // Alignment pad size | ||||
| P = 17; // Alignment pad placement | ||||
| BD = B - M; // Bushing offset | ||||
|  | ||||
| W = 150+15+15; | ||||
| H = 280+15+15; | ||||
| W = 150; // Internal width | ||||
| H = 280; // Internal height | ||||
| D = 240; // Internal depth | ||||
|  | ||||
| translate([200, 0]) | ||||
| difference() { | ||||
|   square([W, H], center=true); | ||||
|   translate([-182/2+117, +312/2-82]) | ||||
|   difference() { | ||||
|     circle(d=90+BD); | ||||
|     circle(d=65+BD); | ||||
| // Tweeter mounting hole alignment | ||||
| translate([-400, 0]) { | ||||
|   difference()  { | ||||
|     circle(d=90, $fn=100); | ||||
|     for ( i = [0 : 90 : 360] ){ | ||||
|       rotate(i) { | ||||
|           translate([82/2,0]) circle(d=4, $fn=30); | ||||
|           translate([90/2,0]) rotate(45) square(1,center=true); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| difference() { | ||||
|   square([W, H], center=true); | ||||
|   translate([0, -312/2+110]) | ||||
|  | ||||
| // Woofer mounting hole alignment | ||||
| translate([-600, 0]) { | ||||
|   difference()  { | ||||
|     circle(d=146, $fn=100); | ||||
|     for ( i = [0 : 45 : 360] ){ | ||||
|       rotate(i) { | ||||
|           translate([138/2,0]) circle(d=4, $fn=30); | ||||
|           translate([146/2,0]) rotate(45) square(1,center=true); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Front/back groove | ||||
| translate([-200, 0]) { | ||||
|   difference() { | ||||
|     circle(d=146+BD, $fn=100); | ||||
|     circle(d=119+BD, $fn=100); | ||||
|     square([W-BD, H-BD], center=true); | ||||
|     translate([60,0]) rotate(45) square(A, center=true); | ||||
|     translate([-60,0]) rotate(45) square(A, center=true); | ||||
|     translate([0,120]) rotate(45) square(A, center=true); | ||||
|     translate([0,-120]) rotate(45) square(A, center=true); | ||||
|   } | ||||
| } | ||||
|  | ||||
| module alignment() { | ||||
|   translate([95,0]) rotate(45) square(A, center=true); | ||||
|   translate([-95,0]) rotate(45) square(A, center=true); | ||||
| } | ||||
|  | ||||
| difference() { | ||||
|   square([D-BD, H+100], center=true); | ||||
|  | ||||
|   // Horiz align | ||||
|   translate([0,170]) rotate(45) square(A, center=true); | ||||
|   translate([0,-170]) rotate(45) square(A, center=true); | ||||
|  | ||||
|   // Tweeter | ||||
|   translate([0,15]) { | ||||
|     alignment(); | ||||
|     translate([-182/2+117, +312/2-82]) { | ||||
|       translate([0,-60]) rotate(45) square(A, center=true); | ||||
|       translate([0,60]) rotate(45) square(A, center=true); | ||||
|  | ||||
|       difference() { | ||||
|         circle(d=90+BD); | ||||
|         circle(d=65+BD); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   // Woofer | ||||
|   translate([0,-15]) { | ||||
|     alignment(); | ||||
|     translate([0, -312/2+110]) | ||||
|     difference() { | ||||
|       circle(d=146+BD, $fn=100); | ||||
|       circle(d=119+BD, $fn=100); | ||||
|     } | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user