Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BT = 21.0;
- BB = 42.0;
- HI = 153.0;
- TW = 1.8; // dimension walls
- cs30 = cos(30);
- rB = BB / ( 2 * cs30 );
- rT = BT / ( 2 * cs30 );
- dB = TW / tan(30);
- // External dimensions
- BBE = BB + ( 2 * dB);
- rBE = BBE / ( 2 * cs30 );
- BTE = BT + ( 2 * dB);
- rTE = BTE / ( 2 * cs30 );
- dS = (BB - BT) / 2;
- // Length of the angled side 2D
- // tnAv = tan(Av) = HI / dS
- Av = atan(HI / dS);
- // snAv = HI / SLv
- SLv = HI / sin(Av);
- // Effective high of the box
- // csAsv3D = ( RB - RT ) / SLv;
- Asv3D = acos( ( rB - rT ) / SLv );
- // sin(Asv3D) = EHI / SLv;
- EHI = sin(Asv3D) * SLv;
- // Angel of the side plates
- //sin(Apv3D) = EHI / HI;
- Apv3D = asin(EHI / HI);
- /*
- translate([0,0,HI + ( 2 * TW )]){
- color([0.0,0.0,0.5])
- circle(rTE);
- }
- */
- //color([0.0,0.5,0.0]) circle(rBE);
- module triabox() {
- difference() {
- cylinder(HI + ( 2 * TW ),rBE,rTE,$fn=3);
- translate([0,0,TW]){
- cylinder(HI,rB,rT,$fn=3);
- }
- //cylinder(HI + ( 2 * TW ),rBE,rTE,$fn=3);
- }
- }
- module wall() {
- translate([0,0,0]){
- cube([TW,BB/2-dS,HI], 0);
- //cylinder(HI,rTE,rT,$fn=1);
- };
- }
- //wall();
- // Top and bottom plates
- //translate([HI + 10,0,00]){
- translate([-6,0,HI]){
- rotate([0,0,180]) {
- cylinder(TW,rT,rTE,$fn=3);
- }
- };
- translate([0,0,0]){
- cylinder(TW,rBE,rB,$fn=3);
- };
- //translate([0,0,-20]){
- //projection(cut = true)
- //rotate([0,0,0]) {
- //difference(){
- intersection() {
- triabox();
- translate([0,0,10]){
- cylinder(TW,rBE,rB,$fn=3);
- }
- //triabox();
- //};
- };
- // tan(x) = dS / HI
- x = atan(dS / HI);
- module triapartL() {
- rotate([-x,0,0]) {
- translate([0,0,0]){
- cube([TW,dS,HI+TW], 0);
- };
- }
- }
- module triapartR() {
- rotate([x,0,0]) {
- translate([0,0,0]){
- cube([TW,dS,HI+TW], 0);
- };
- }
- }
- //triapart();
- //mirror([0,1,0])
- rotate([0,Apv3D-90,0]) {
- translate([0,-BB/2,0]){
- union() {
- intersection() {
- triapartL();
- wall();
- };
- translate([0,dS,0]){
- wall();
- }}}
- }
- //mirror([0,5,0])
- rotate([0,Apv3D-90,0]) {
- union() {
- translate([0,dS,0]){
- intersection() {
- triapartR();
- wall();
- };
- }
- wall();
- }
- }
- module testR() {
- union() {
- translate([0,dS,0]){
- intersection() {
- triapartR();
- wall();
- };
- };
- wall();
- };
- }
- module testL() {
- union() {
- intersection() {
- triapartL();
- wall();
- };
- };
- translate([0,dS,0]){
- wall();
- };
- }
- module testS() {
- testL();
- translate([0,BB/2,0]){
- testR();
- };
- }
- /*
- translate([-TW,0,0]){
- testS();
- };
- */
- translate([0,-BB/2,0]){
- //rotate([0,Apv3D-90,60]) {
- rotate([0,90-Apv3D,60]) {
- translate([-TW,0,0]){
- testS();
- };
- }}
- module hm13z() {
- rotate([0,0,45]) {
- //cylinder(3.5,5.772,4.3,$fn=32);
- intersection() {
- cylinder(0.62,7.6,7.6,$fn=32);
- cylinder(0.62,10,10,$fn=4);
- }}}
- module hm13zV() {
- rotate([0,90,0]) {
- //cylinder(3.5,5.772,4.3,$fn=32);
- intersection() {
- cylinder(0.62,7.6,7.6,$fn=32);
- cylinder(0.62,10,10,$fn=4);
- }}}
- translate([30,0,0]){
- hm13z();
- hm13zV();
- }
- module hm13combined() {
- hm13z();
- hm13zV();
- };
- translate([90,0,0]){
- hm13combined();
- }
- translate([50,0,0]){
- rotate([0,0,45]) {
- //cylinder(3.5,5.772,4.3,$fn=32);
- intersection() {
- cylinder(0.62,7.6,7.6,$fn=32);
- cylinder(0.62,10,10,$fn=4);
- }
- }};
- module HM130Z0() {
- //rotate([92.16,0,50]) {
- translate([0,0,0.62]){
- // Conus
- cylinder(3.5,5.772,4.3,$fn=32);
- }
- translate([0,0,4.12]){
- // Magnet
- cylinder(2.5,4.3,4.3,$fn=32);
- }
- /*
- translate([0,0,13.55]){
- cylinder(1.5,6,6,$fn=32);
- }
- */
- // Front plate
- rotate([0,0,45]) {
- intersection() {
- cylinder(0.62,7.6,7.6,$fn=32);
- cylinder(0.62,10,10,$fn=4);
- }
- }
- translate([6.5,-1,-1]){
- rotate([180,0,180]) {
- //text("HM130Z0", size = 2);
- }
- }
- //}
- };
- module HM170Z0() {
- //rotate([92.16,0,50]) {
- translate([0,0,0.9]){
- // Conus
- cylinder(3.95,7.2,4.8,$fn=32);
- }
- translate([0,0,4.85]){
- // Magnet
- cylinder(4.0,4.8,4.8,$fn=32);
- }
- /*
- translate([0,0,13.55]){
- cylinder(1.5,6,6,$fn=32);
- }
- */
- // Front plate
- rotate([0,0,45]) {
- intersection() {
- cylinder(0.9,8.65,8.65,$fn=32);
- //cylinder(0.62,10,10,$fn=4);
- }
- }
- translate([6.5,-1,-1]){
- rotate([180,0,180]) {
- //text("HM170Z0", size = 2);
- }
- }
- //}
- };
- translate([70,0,0]){
- HM170Z0();
- }
- module SS32WT00() {
- //rotate([92.16,0,90]) {
- translate([0,0,1]){
- cylinder(8.84,14.5,8,$fn=32);
- }
- translate([0,0,9.84]){
- cylinder(4.7,10,10,$fn=32);
- }
- translate([0,0,14.54]){
- cylinder(1.5,6,6,$fn=32);
- }
- cylinder(1,16,16,$fn=32);
- translate([7.5,-1,-1]){
- rotate([180,0,180]) {
- //text("SS32WT00", size = 2);
- }
- }
- //}
- }
- module AMTbig() {
- translate([-5,-10,0]){
- cube([10,20,0.6], 0);
- };
- translate([-4,-8.6,0]){
- cube([8,17.2,2.4], 0);
- };
- translate([6,-1,-1]){
- rotate([180,0,180]) {
- //text("AMTPRO", size = 2);
- }
- }
- }
- module LS10() {
- // Front plate
- cylinder(1.2,13.61,13.61,$fn=32);
- //rotate([92.16,0,90]) {
- // Conus part 1
- translate([0,0,1.2]){
- cylinder(3.5,11.925,11.925,$fn=12);
- }
- translate([0,0,4.7]){
- cylinder(3.75,11.925,11.925-3.75,$fn=12);
- }
- translate([4,-1,-1]){
- rotate([180,0,180]) {
- //text("LS10", size = 2);
- }
- }
- }
- // Chassis as module
- module chassis() {
- translate([TW+0.1,0,141.0]){
- rotate([90,0,-90]) {
- color([0,0,0]) AMTbig();
- }
- };
- translate([TW+0.1,0,122]){
- rotate([0,-90,0]) {
- color([0,0,0]) HM130Z0();
- }
- };
- translate([TW+0.1,0,112]){
- rotate([0,-90,0]) {
- color([0,0,0]) HM170Z0();
- }
- };
- translate([TW+0.1,0,63]){
- rotate([0,-90,0]) {
- color([0,0,0]) SS32WT00();
- }
- };
- translate([TW+0.1,0,95]){
- rotate([0,-90,0]) {
- color([0,0,0]) LS10();
- }
- };
- }
- rotate([0,Apv3D-90,0]) {
- chassis();
- }
- rotate([90,0,-90]) {
- translate([-14,168,0]) {
- color([0.5,0.5,0.75])
- text(str(dB), size = 5);
- text(str(round(100 * dB)/100), size = 10);
- //round(100 * dB)/100
- }}
- $fn=50;
- minkowski()
- {
- cube([20,10,1]);
- cylinder(r=1,h=1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement