PopufareHousingInnerTop.scad 2.0 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. module PopufareHousingInnerTopPlate() {
  10. _r = 3;
  11. _outr = 18;
  12. idx = POPUFARE_SCREEN_WIDTH_CAPACITIVE;
  13. idy = POPUFARE_SCREEN_HEIGHT_CAPACITIVE;
  14. hole_width = POPUFARE_INNER_PLATE_HOLE_WIDTH;
  15. hole_height = POPUFARE_INNER_PLATE_HOLE_HEIGHT;
  16. w2 = hole_width/2;
  17. h2 = hole_height/2;
  18. //x = hole_width + _outr;
  19. //y = hole_height + _outr;
  20. x = POPUFARE_INNER_PLATE_HOLE_WIDTH + _outr;
  21. y = POPUFARE_INNER_PLATE_HOLE_HEIGHT + _outr;
  22. w2 = hole_width/2;
  23. h2 = hole_height/2;
  24. tab_w = 10;
  25. tab_h = 30;
  26. band_w = 10;
  27. band_p = 2.5;
  28. top_dh = (y - idy)/2;
  29. open_dw = 85;
  30. union() {
  31. difference() {
  32. rounded_rect(x,y, _r);
  33. // straps across middle to support
  34. //
  35. rounded_rect(idx - band_w*4 + 2*_r, idy, _r);
  36. translate([-idx/2 + band_w/2, idy/2 - idy/(2*band_p)]) rounded_rect(band_w, idy/band_p, _r);
  37. translate([-idx/2 + band_w/2, -idy/2 + idy/(2*band_p)]) rounded_rect(band_w, idy/band_p, _r);
  38. translate([ idx/2 - band_w/2, idy/2 - idy/(2*band_p)]) rounded_rect(band_w, idy/band_p, _r);
  39. translate([ idx/2 - band_w/2, -idy/2 + idy/(2*band_p)]) rounded_rect(band_w, idy/band_p, _r);
  40. // joining screw holes
  41. //
  42. translate([-hole_width/2, -hole_height/2]) circle(_M3r);
  43. translate([ hole_width/2, -hole_height/2]) circle(_M3r);
  44. translate([ hole_width/2, hole_height/2]) circle(_M3r);
  45. translate([-hole_width/2, hole_height/2]) circle(_M3r);
  46. // hdmi and usb access
  47. //
  48. translate([0, y/2]) square([open_dw,30], center=true);
  49. }
  50. // round the over hang tabs at top
  51. //
  52. translate([-open_dw/2,idy/2+top_dh/2]) rounded_rect(10, top_dh, _r);
  53. translate([ open_dw/2,idy/2+top_dh/2]) rounded_rect(10, top_dh, _r);
  54. }
  55. }
  56. //PopufareHousingInnerTopPlate();