PopufareHousingBack.scad 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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 PopufareHousingBackPlate_hinge1() {
  10. w = POPUFARE_HOUSING_WIDTH;
  11. h = POPUFARE_HOUSING_HEIGHT;
  12. fixture_dx = POPUFARE_FIXTURE_DX;
  13. fixture_dy = POPUFARE_FIXTURE_DY;
  14. fixture_bolt = 5.0/2.0;
  15. bx = POPUFARE_BRACKET_CX;
  16. br = POPUFARE_BRACKET_D/2.0;
  17. gland_cx = 0;
  18. gland_cy = -(h/2 - 1.5*POPUFARE_GLAND_DIAMETER);
  19. gdx = 1*POPUFARE_GLAND_DIAMETER/2;
  20. gdy = 1*POPUFARE_GLAND_DIAMETER/2;
  21. hinge_de = POPUFARE_HINGE1_BACK_DE;
  22. hinge_dh = POPUFARE_HINGE1_BACK_DH;
  23. hinge_dw = POPUFARE_HINGE1_BACK_DW;
  24. hinge_r = POPUFARE_HINGE1_BACK_R + 0.25;
  25. lip = _MATERIAL_THICKNESS;
  26. difference() {
  27. union() {
  28. square([w,h], center=true);
  29. translate([0,-h/2-lip/2]) square([w,lip], center=true);
  30. }
  31. // gland cable assembly access
  32. //
  33. translate([gland_cx, gland_cy]) circle(POPUFARE_GLAND_DIAMETER/2.0);
  34. // optional plate fixture points (in case we need to close off or alter
  35. // the gland assembly diameter
  36. //
  37. translate([gland_cx + gdx, gland_cy + gdy]) circle(_M3r);
  38. translate([gland_cx - gdx, gland_cy + gdy]) circle(_M3r);
  39. translate([gland_cx - gdx, gland_cy - gdy]) circle(_M3r);
  40. translate([gland_cx + gdx, gland_cy - gdy]) circle(_M3r);
  41. // hinge attachment
  42. //
  43. translate([ -hinge_dw/2, h/2 - hinge_de ]) circle(hinge_r);
  44. translate([ hinge_dw/2, h/2 - hinge_de ]) circle(hinge_r);
  45. translate([ -hinge_dw/2, h/2 - (hinge_de + hinge_dh) ]) circle(hinge_r);
  46. translate([ hinge_dw/2, h/2 - (hinge_de + hinge_dh) ]) circle(hinge_r);
  47. }
  48. }
  49. module PopufareHousingBackPlate_hinge0() {
  50. w = POPUFARE_HOUSING_WIDTH;
  51. h = POPUFARE_HOUSING_HEIGHT;
  52. fixture_dx = POPUFARE_FIXTURE_DX;
  53. fixture_dy = POPUFARE_FIXTURE_DY;
  54. fixture_bolt = 5.0/2.0;
  55. bx = POPUFARE_BRACKET_CX;
  56. br = POPUFARE_BRACKET_D/2.0;
  57. gland_cx = 0;
  58. gland_cy = -(h/2 - 1.5*POPUFARE_GLAND_DIAMETER);
  59. gdx = 1*POPUFARE_GLAND_DIAMETER/2;
  60. gdy = 1*POPUFARE_GLAND_DIAMETER/2;
  61. hinge_w = POPUFARE_HINGE_BACK_HOLE_WIDTH;
  62. hinge_de = POPUFARE_HINGE_BACK_HOLE_DE;
  63. hinge_r = POPUFARE_HINGE_D/2;
  64. lip = _MATERIAL_THICKNESS;
  65. difference() {
  66. union() {
  67. square([w,h], center=true);
  68. translate([0,-h/2-lip/2]) square([w,lip], center=true);
  69. }
  70. // gland cable assembly access
  71. //
  72. translate([gland_cx, gland_cy]) circle(POPUFARE_GLAND_DIAMETER/2.0);
  73. // optional plate fixture points (in case we need to close off or alter
  74. // the gland assembly diameter
  75. //
  76. translate([gland_cx + gdx, gland_cy + gdy]) circle(_M3r);
  77. translate([gland_cx - gdx, gland_cy + gdy]) circle(_M3r);
  78. translate([gland_cx - gdx, gland_cy - gdy]) circle(_M3r);
  79. translate([gland_cx + gdx, gland_cy - gdy]) circle(_M3r);
  80. // hinge attachment
  81. //
  82. translate([ -hinge_w/2, h/2 - hinge_de ]) circle(hinge_r);
  83. translate([ hinge_w/2, h/2 - hinge_de ]) circle(hinge_r);
  84. // bottom bracket attachments
  85. //
  86. //translate([ (w/2 - POPUFARE_BRACKET_DE), -(h/2 - bx)]) circle(br);
  87. //translate([-(w/2 - POPUFARE_BRACKET_DE), -(h/2 - bx)]) circle(br);
  88. // hinge assembly attachment
  89. //
  90. }
  91. }
  92. module PopufareHousingBackPlate() {
  93. PopufareHousingBackPlate_hinge1();
  94. }
  95. //PopufareHousingBackPlate();