PopufareHousingFrontAngle.scad 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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 PopufareHousingFrontAnglePlate() {
  10. dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT;
  11. w = POPUFARE_HOUSING_WIDTH;
  12. h = sqrt(2.0)*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. screen_w = POPUFARE_SCREEN_WIDTH;
  19. screen_h = POPUFARE_SCREEN_HEIGHT;
  20. screen_cx = 0;
  21. screen_cy = 0;
  22. //screen_attach_dw = screen_w + 8;
  23. //screen_attach_dh = screen_h + 8;
  24. screen_attach_dw = POPUFARE_INNER_PLATE_HOLE_WIDTH;
  25. screen_attach_dh = POPUFARE_INNER_PLATE_HOLE_HEIGHT;
  26. difference() {
  27. union() {
  28. square([w,h], center=true);
  29. // lip to cover bottom plate
  30. //
  31. translate([0,-(h/2 + lip/2)]) square([w,lip + 0.25], center=true);
  32. translate([0, (h/2 + lip/2)]) square([w,lip + 0.25], center=true);
  33. };
  34. // attach to side plate brackets
  35. //
  36. translate([ -(w/2 - bx), -(h/2-des) ]) circle(br);
  37. translate([ -(w/2 - bx), (h/2-des) ]) circle(br);
  38. translate([ (w/2 - bx), -(h/2-des) ]) circle(br);
  39. translate([ (w/2 - bx), (h/2-des) ]) circle(br);
  40. // screen center
  41. //
  42. translate([screen_cx, screen_cy]) square([screen_w, screen_h], center=true);
  43. translate([screen_cx, screen_cy]) translate([ screen_attach_dw/2, screen_attach_dh/2]) circle(_M3r);
  44. translate([screen_cx, screen_cy]) translate([ screen_attach_dw/2,-screen_attach_dh/2]) circle(_M3r);
  45. translate([screen_cx, screen_cy]) translate([-screen_attach_dw/2,-screen_attach_dh/2]) circle(_M3r);
  46. translate([screen_cx, screen_cy]) translate([-screen_attach_dw/2, screen_attach_dh/2]) circle(_M3r);
  47. }
  48. }
  49. //PopufareHousingFrontAnglePlate();