Enclosure adjustments
This commit is contained in:
		
							parent
							
								
									5a9c3d9daf
								
							
						
					
					
						commit
						5b5cd63f99
					
				@ -4,48 +4,47 @@ $fn=40;
 | 
			
		||||
 | 
			
		||||
rotateAngle=54;
 | 
			
		||||
 | 
			
		||||
leeway=0.5;
 | 
			
		||||
leeway=0.7;
 | 
			
		||||
 | 
			
		||||
bodyFaceW=120;
 | 
			
		||||
bodyFaceH=100;
 | 
			
		||||
bodyFaceW=150;
 | 
			
		||||
bodyFaceH=120;
 | 
			
		||||
bodyBackW=30;
 | 
			
		||||
bodyBackH=20;
 | 
			
		||||
bodyDepth=55;
 | 
			
		||||
 | 
			
		||||
screwHoleDia=2;
 | 
			
		||||
screwHeight=5;
 | 
			
		||||
 | 
			
		||||
screenWidth=16.5+leeway; // visible
 | 
			
		||||
screenHeight=13+leeway; // visible
 | 
			
		||||
screenY=-35;
 | 
			
		||||
screenX=30;
 | 
			
		||||
screenY=-37;
 | 
			
		||||
screenX=40;
 | 
			
		||||
screenCutoutWidth=19+leeway;
 | 
			
		||||
screenCutoutHeight=19.5+leeway;
 | 
			
		||||
screenMountWidth=21+leeway;
 | 
			
		||||
screenMountHeight=21+leeway;
 | 
			
		||||
screenScrewDia=3;
 | 
			
		||||
screenScrewHeight=3;
 | 
			
		||||
screenScrewDia=4;
 | 
			
		||||
screenBracketHeight=7;
 | 
			
		||||
 | 
			
		||||
keypadWidth=46+leeway; // visible
 | 
			
		||||
keypadHeight=57+leeway; // visible
 | 
			
		||||
keypadDepth=4;
 | 
			
		||||
keypadY=10;
 | 
			
		||||
keypadX=30;
 | 
			
		||||
keypadX=40;
 | 
			
		||||
keypadMountDia=3;
 | 
			
		||||
 | 
			
		||||
speakerWidth=45; // visible
 | 
			
		||||
speakerMountWidth=50;
 | 
			
		||||
speakerConeWidth=60;
 | 
			
		||||
speakerDepth=2.2;
 | 
			
		||||
speakerY=0;
 | 
			
		||||
speakerX=-27;
 | 
			
		||||
speakerX=-30;
 | 
			
		||||
 | 
			
		||||
sensorWidth=4; // visible
 | 
			
		||||
sensorDepth=4;
 | 
			
		||||
sensorY=-10;
 | 
			
		||||
sensorY=-5;
 | 
			
		||||
 | 
			
		||||
powerWidth=8; // visible
 | 
			
		||||
powerHeight=4;
 | 
			
		||||
powerWidth=14; // visible
 | 
			
		||||
powerHeight=7;
 | 
			
		||||
powerDepth=10;
 | 
			
		||||
powerY=0;
 | 
			
		||||
 | 
			
		||||
@ -60,25 +59,25 @@ module speaker(){
 | 
			
		||||
          // screen thickness cutout
 | 
			
		||||
          translate([screenX,-screenY,-1]) cuboid([screenCutoutWidth,screenCutoutHeight,2], anchor=TOP)
 | 
			
		||||
            tag("mount") {
 | 
			
		||||
              position(LEFT) left(4) tube(h=screenScrewHeight, od=screenScrewDia, id=screwHoleDia, anchor=TOP);
 | 
			
		||||
              position(RIGHT) right(4) tube(h=screenScrewHeight, od=screenScrewDia, id=screwHoleDia, anchor=TOP);
 | 
			
		||||
              position(LEFT+TOP) left(4) up(1) tube(h=screwHeight, od=screenScrewDia, id=screwHoleDia, anchor=TOP);
 | 
			
		||||
              position(RIGHT+TOP) right(4) up(1) tube(h=screwHeight, od=screenScrewDia, id=screwHoleDia, anchor=TOP);
 | 
			
		||||
            }
 | 
			
		||||
          
 | 
			
		||||
          // keypad
 | 
			
		||||
          translate([keypadX,-keypadY,0.1]) cuboid([keypadWidth,keypadHeight,keypadDepth], rounding=4, edges=["Z"], anchor=TOP)
 | 
			
		||||
            tag("mount") {
 | 
			
		||||
              //TODO: actually measure these, consider screws
 | 
			
		||||
              position(FRONT+LEFT) translate([-.2,-1,0]) tube(h=1, od=keypadMountDia, id=screwHoleDia/2, anchor=TOP);
 | 
			
		||||
              position(BACK+LEFT) translate([-.2,1,0]) tube(h=1, od=keypadMountDia, id=screwHoleDia/2, anchor=TOP);
 | 
			
		||||
              position(FRONT+RIGHT) translate([.2,-1,0]) tube(h=1, od=keypadMountDia, id=screwHoleDia/2, anchor=TOP);
 | 
			
		||||
              position(BACK+RIGHT) translate([.2,1,0]) tube(h=1, od=keypadMountDia, id=screwHoleDia/2, anchor=TOP);
 | 
			
		||||
              position(FRONT+LEFT+TOP) translate([-.2,-1,-.1]) tube(h=screwHeight, od=keypadMountDia, id=screwHoleDia/2, anchor=TOP);
 | 
			
		||||
              position(BACK+LEFT+TOP) translate([-.2,1,-.1]) tube(h=screwHeight, od=keypadMountDia, id=screwHoleDia/2, anchor=TOP);
 | 
			
		||||
              position(FRONT+RIGHT+TOP) translate([.2,-1,-.1]) tube(h=screwHeight, od=keypadMountDia, id=screwHoleDia/2, anchor=TOP);
 | 
			
		||||
              position(BACK+RIGHT+TOP) translate([.2,1,-.1]) tube(h=screwHeight, od=keypadMountDia, id=screwHoleDia/2, anchor=TOP);
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
          // speaker
 | 
			
		||||
          translate([speakerX,-speakerY,0.1]) cylinder(h=speakerDepth, d1=speakerWidth, d2=speakerConeWidth, anchor=TOP)
 | 
			
		||||
            tag("mount") {
 | 
			
		||||
              zrot_copies([90, 180, 270]) left(speakerConeWidth/2)
 | 
			
		||||
              tube(h=4, od=4, id=screwHoleDia, anchor=TOP);
 | 
			
		||||
              zrot_copies([0, 120, 240]) right(speakerConeWidth/2)
 | 
			
		||||
              tube(h=screwHeight, od=4, id=screwHoleDia, anchor=TOP);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        attach(BACK) {
 | 
			
		||||
@ -86,30 +85,30 @@ module speaker(){
 | 
			
		||||
          translate([0,-sensorY,0]) cylinder(h=sensorDepth, d=sensorWidth, center=true)
 | 
			
		||||
            tag("mount") {
 | 
			
		||||
              zrot_copies([0, 90, 180, 270]) translate([10,10,0])
 | 
			
		||||
              tube(h=5, od=4, id=screwHoleDia, anchor=TOP);
 | 
			
		||||
              tube(h=screwHeight, od=screwHoleDia+3, id=screwHoleDia, anchor=TOP);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        attach(BOTTOM) {
 | 
			
		||||
          // power
 | 
			
		||||
          translate([0,-powerY,0]) cuboid([powerWidth, powerHeight, powerDepth], rounding=1, center=true)
 | 
			
		||||
          translate([0,-powerY,0]) cuboid([powerWidth, powerHeight, powerDepth], rounding=1)
 | 
			
		||||
            tag("mount") {
 | 
			
		||||
              zrot_copies([0, 180]) fwd(5)
 | 
			
		||||
              tube(h=5, od=4, id=screwHoleDia, anchor=TOP);
 | 
			
		||||
              zrot_copies([0, 180]) fwd((powerHeight+screwHoleDia+3)/2+1)
 | 
			
		||||
              tube(h=screwHeight, od=screwHoleDia+3, id=screwHoleDia, anchor=TOP);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        // clamshell posts
 | 
			
		||||
        attach(TOP) tag("mount") {
 | 
			
		||||
          // post
 | 
			
		||||
          zrot_copies([0, 180]) fwd(bodyFaceH/2-8)
 | 
			
		||||
          tube(h=5, od=4, id=screwHoleDia, anchor=TOP);
 | 
			
		||||
          zrot_copies([0, 180]) fwd(bodyFaceH/2-9)
 | 
			
		||||
          tube(h=screwHeight+1, od=4, id=screwHoleDia, anchor=TOP);
 | 
			
		||||
          // tube
 | 
			
		||||
          zrot_copies([0, 180]) fwd(bodyFaceH/2-8) down(5) {
 | 
			
		||||
          zrot_copies([0, 180]) fwd(bodyFaceH/2-9) down(screwHeight+1) {
 | 
			
		||||
            diff("hole"){
 | 
			
		||||
              tube(h=1, od=5+leeway, id=3+leeway, anchor=TOP);
 | 
			
		||||
              tube(h=1, od=5+leeway, id=2.5+leeway, anchor=TOP);
 | 
			
		||||
              tube(h=8, od=6, id=5+leeway, anchor=TOP)
 | 
			
		||||
              tag("hole") position(BOTTOM) rotate([-53,0,0]) cube([20,20,5], anchor=CTR);
 | 
			
		||||
            }
 | 
			
		||||
            tag("hole") down(1) cylinder(h=20, d=5+leeway, anchor=TOP);
 | 
			
		||||
            tag("hole") cylinder(h=20, d=5+leeway, anchor=TOP);
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        // hollow
 | 
			
		||||
@ -121,13 +120,16 @@ module speaker(){
 | 
			
		||||
// clamshell halves
 | 
			
		||||
difference(){
 | 
			
		||||
  speaker();
 | 
			
		||||
  translate([0,-bodyDepth-13+6.1,0]) rotate([-rotateAngle+18,0,0]) partition_mask(l=1000, h=1000, w=0.1, gap=0, cutpath="flat");
 | 
			
		||||
  translate([0,-bodyDepth-13+7.31,0]) rotate([-rotateAngle+18,0,0]) partition_mask(l=1000, h=1000, w=0.1, gap=0, cutpath="flat");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// screen mount bracket
 | 
			
		||||
diff("hole") back(100) cuboid([screenCutoutWidth+16,screenBracketHeight,2], anchor=TOP)
 | 
			
		||||
  tag("hole") {
 | 
			
		||||
    position(LEFT) left(-4) cylinder(h=4, d=3, anchor=CTR);
 | 
			
		||||
    position(RIGHT) right(-4) cylinder(h=4, d=3, anchor=CTR);
 | 
			
		||||
    position(LEFT) left(-4) cylinder(h=4, d=screwHoleDia+1, anchor=CTR);
 | 
			
		||||
    position(RIGHT) right(-4) cylinder(h=4, d=screwHoleDia+1, anchor=CTR);
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
// speaker washers
 | 
			
		||||
zrot_copies([15,-15]) back(50) tube(h=2, od=(speakerConeWidth-speakerWidth)/2+9, id=screwHoleDia+1);
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user