PopufareHousingFrontAngle.scad 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. lip = _MATERIAL_THICKNESS;
  17. screen_w = POPUFARE_SCREEN_WIDTH;
  18. screen_h = POPUFARE_SCREEN_HEIGHT;
  19. screen_cx = 0;
  20. screen_cy = 0;
  21. screen_attach_dw = screen_w + 8;
  22. screen_attach_dh = screen_h + 8;
  23. difference() {
  24. union() {
  25. square([w,h], center=true);
  26. // lip to cover bottom plate
  27. //
  28. translate([0,-(h/2 + lip/2)]) square([w,lip], center=true);
  29. translate([0, (h/2 + lip/2)]) square([w,lip], center=true);
  30. };
  31. // attach to site plate brackets
  32. //
  33. translate([ -(w/2 - bx), -(h/2-de) ]) circle(br);
  34. translate([ -(w/2 - bx), (h/2-de) ]) circle(br);
  35. translate([ (w/2 - bx), -(h/2-de) ]) circle(br);
  36. translate([ (w/2 - bx), (h/2-de) ]) circle(br);
  37. // screen center
  38. //
  39. translate([screen_cx, screen_cy]) square([screen_w, screen_h], center=true);
  40. translate([screen_cx, screen_cy]) translate([ screen_attach_dw/2, screen_attach_dh/2]) circle(_M3r);
  41. translate([screen_cx, screen_cy]) translate([ screen_attach_dw/2,-screen_attach_dh/2]) circle(_M3r);
  42. translate([screen_cx, screen_cy]) translate([-screen_attach_dw/2,-screen_attach_dh/2]) circle(_M3r);
  43. translate([screen_cx, screen_cy]) translate([-screen_attach_dw/2, screen_attach_dh/2]) circle(_M3r);
  44. }
  45. }
  46. //PopufareHousingFrontAnglePlate();