PopufareHousingFrontInsideAlign.scad 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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 PopufareHousingFrontInsideAlignPlate() {
  10. w = POPUFARE_HOUSING_WIDTH;
  11. h = POPUFARE_FRONT_HEIGHT;
  12. bx = POPUFARE_BRACKET_CX;
  13. br = POPUFARE_BRACKET_D/2.0;
  14. de = POPUFARE_BRACKET_DE;
  15. frontlip = POPUFARE_HOUSING_FRONT_LIP_HEIGHT;
  16. mt = _MATERIAL_THICKNESS;
  17. lip = _MATERIAL_THICKNESS;
  18. lip_top = _MATERIAL_THICKNESS * sqrt(2.0);
  19. h_tot = h - lip_top + lip;
  20. fudge = 10;
  21. bracket_r = POPUFARE_BRACKET_WIDTH/2;
  22. difference() {
  23. union() {
  24. square([w,h], center=true);
  25. };
  26. // legacy housing fron lip
  27. //
  28. translate([0, -(h/2 - frontlip/2)]) square([w + 2*lip,frontlip], center=true);
  29. // get rid of ghost edges
  30. //
  31. translate([0, -(h/2 - frontlip/2)]) square([w + 2*lip + 1,frontlip], center=true);
  32. translate([0, -(h/2)]) square([w + 2*lip + 1,frontlip/2], center=true);
  33. // shave off top front panel to accomodate angle plate.
  34. // fudge to guard against stray geometry
  35. //
  36. translate([0, (h/2 - 0.4999*lip_top)]) square([2*w, lip_top + 0.15], center=true);
  37. // side plate bracket attachment
  38. //
  39. hull() {
  40. translate([ -(w/2 - bx), 0]) circle(bracket_r);
  41. translate([ -(w/2 - bx) - 2*de, 0]) circle(bracket_r);
  42. }
  43. hull() {
  44. translate([ (w/2 - bx), 0]) circle(bracket_r);
  45. translate([ (w/2 - bx) + 2*de, 0]) circle(bracket_r);
  46. }
  47. // bottom lip attachment
  48. //
  49. hull() {
  50. translate([ -(w/2 - 8*mt), -(h/2 - bx)]) circle(bracket_r);
  51. translate([ -(w/2 - 8*mt), -(h/2 - bx) - 2*de]) circle(bracket_r);
  52. }
  53. hull() {
  54. translate([ (w/2 - 8*mt), -(h/2 - bx)]) circle(bracket_r);
  55. translate([ (w/2 - 8*mt), -(h/2 - bx) - 2*de]) circle(bracket_r);
  56. }
  57. }
  58. }
  59. //PopufareHousingFrontInsideAlignPlate();