PopufareHousingTop.scad 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // License: CC0
  2. //
  3. // To the extent possible under law, Clementine Computing LLC has waived
  4. // all copyright and related or neighboring rights to this file.
  5. //
  6. // This work is published from: United States.
  7. //
  8. include <PopufareHousingCommon.scad>
  9. module PopufareHousingTopPlate() {
  10. dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT;
  11. w = POPUFARE_HOUSING_WIDTH;
  12. h = POPUFARE_HOUSING_DEPTH-dh;
  13. bx = POPUFARE_BRACKET_CX;
  14. br = POPUFARE_BRACKET_D/2.0;
  15. de = POPUFARE_BRACKET_DE;
  16. des = POPUFARE_BRACKET_DE_SHORT;
  17. lip = _MATERIAL_THICKNESS;
  18. hinge_dw = POPUFARE_HINGE_TOP_HOLE_WIDTH;
  19. hinge_r = POPUFARE_HINGE_D/2;
  20. hinge_de = POPUFARE_HINGE_TOP_HOLE_DE;
  21. difference() {
  22. union() {
  23. square([w,h], center=true);
  24. };
  25. // shave off top front panel to accomodate angle plate
  26. //
  27. translate([0, -(h/2 - lip)]) square([w, lip+0.25], center=true);
  28. // attach to back plate bracket
  29. //
  30. //translate([ -(w/2 - de), (h/2-bx) ]) circle(br);
  31. //translate([ (w/2 - de), (h/2-bx) ]) circle(br);
  32. // side plate bracket attachment
  33. //
  34. translate([ -(w/2 - bx), (h/2-des)]) circle(br);
  35. translate([ -(w/2 - bx),-(h/2-des)]) circle(br);
  36. translate([ (w/2 - bx), (h/2-des)]) circle(br);
  37. translate([ (w/2 - bx),-(h/2-des)]) circle(br);
  38. // hinge attachment
  39. //
  40. translate([ -hinge_dw/2, h/2 - hinge_de ]) circle(hinge_r);
  41. translate([ hinge_dw/2, h/2 - hinge_de ]) circle(hinge_r);
  42. }
  43. }
  44. //PopufareHousingTopPlate();