| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- // License: CC0
- //
- // To the extent possible under law, Clementine Computing LLC has waived
- // all copyright and related or neighboring rights to this file.
- //
- // This work is published from: United States.
- //
- include <PopufareHousingCommon.scad>
- module PopufareHousingTopPlate() {
- dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT;
- w = POPUFARE_HOUSING_WIDTH;
- h = POPUFARE_HOUSING_DEPTH-dh;
- bx = POPUFARE_BRACKET_CX;
- br = POPUFARE_BRACKET_D/2.0;
- de = POPUFARE_BRACKET_DE;
- des = POPUFARE_BRACKET_DE_SHORT;
- lip = _MATERIAL_THICKNESS;
- back_bracket_dx = w/3;
- difference() {
- union() {
- square([w,h], center=true);
- translate([0, (h/2 + lip/2) - 0.001]) square([w, lip], center=true);
- // add overhang to back and sides but not front
- //
- translate([-w/2, -h/4]) square([lip, h/2], center=true);
- translate([ w/2, -h/4]) square([lip, h/2], center=true);
- translate([-w/2, h/4 + lip/2]) square([lip, h/2 + lip], center=true);
- translate([ w/2, h/4 + lip/2]) square([lip, h/2 + lip], center=true);
- };
- // shave off top front panel to accomodate angle plate
- //
- translate([0, -(h/2 - lip/2) - 0.01]) square([2*w, lip], center=true);
- // attach to back plate bracket
- //
- //translate([ -(w/2 - de), (h/2-bx) ]) circle(br);
- //translate([ (w/2 - de), (h/2-bx) ]) circle(br);
- // side plate bracket attachment
- //
- translate([ -(w/2 - bx), (h/2-des)]) circle(br);
- translate([ -(w/2 - bx),-(h/2-des)]) circle(br);
- translate([ (w/2 - bx), (h/2-des)]) circle(br);
- translate([ (w/2 - bx),-(h/2-des)]) circle(br);
- // back bracket attachment
- //
- translate([ -back_bracket_dx/2, h/2 - bx ]) circle(br);
- translate([ back_bracket_dx/2, h/2 - bx ]) circle(br);
- }
- }
- //PopufareHousingTopPlate();
|