PopufareHousingTop.scad 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. // hinge1 measurements
  10. // dh_inner = 10.5
  11. // dh_outter = 22
  12. // dh_first = 8
  13. // dh_second = 3.75
  14. // bot_to_under = 8.25
  15. // dw = 27.75, 35.5
  16. module PopufareHousingTopPlate() {
  17. dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT;
  18. w = POPUFARE_HOUSING_WIDTH;
  19. h = POPUFARE_HOUSING_DEPTH-dh;
  20. bx = POPUFARE_BRACKET_CX;
  21. br = POPUFARE_BRACKET_D/2.0;
  22. de = POPUFARE_BRACKET_DE;
  23. des = POPUFARE_BRACKET_DE_SHORT;
  24. lip = _MATERIAL_THICKNESS;
  25. hinge_de = POPUFARE_HINGE1_TOP_DE;
  26. hinge_dh = POPUFARE_HINGE1_TOP_DH;
  27. hinge_dw = POPUFARE_HINGE1_TOP_DW;
  28. hinge_r = POPUFARE_HINGE1_TOP_R + 0.25;
  29. back_bracket_dx = w/3;
  30. difference() {
  31. union() {
  32. square([w,h], center=true);
  33. translate([0, (h/2 + lip/2) - 0.001]) square([w, lip], center=true);
  34. // add overhang to back and sides but not front
  35. //
  36. translate([-w/2, -h/4]) square([lip, h/2], center=true);
  37. translate([ w/2, -h/4]) square([lip, h/2], center=true);
  38. translate([-w/2, h/4 + lip/2]) square([lip, h/2 + lip], center=true);
  39. translate([ w/2, h/4 + lip/2]) square([lip, h/2 + lip], center=true);
  40. };
  41. // shave off top front panel to accomodate angle plate
  42. //
  43. translate([0, -(h/2 - lip/2) - 0.01]) square([2*w, lip], center=true);
  44. // attach to back plate bracket
  45. //
  46. //translate([ -(w/2 - de), (h/2-bx) ]) circle(br);
  47. //translate([ (w/2 - de), (h/2-bx) ]) circle(br);
  48. // side plate bracket attachment
  49. //
  50. translate([ -(w/2 - bx), (h/2-des)]) circle(br);
  51. translate([ -(w/2 - bx),-(h/2-des)]) circle(br);
  52. translate([ (w/2 - bx), (h/2-des)]) circle(br);
  53. translate([ (w/2 - bx),-(h/2-des)]) circle(br);
  54. // back bracket attachment
  55. //
  56. translate([ -back_bracket_dx/2, h/2 - bx ]) circle(br);
  57. translate([ back_bracket_dx/2, h/2 - bx ]) circle(br);
  58. }
  59. }
  60. //PopufareHousingTopPlate();