Advertisement
Guest User

24WC-02 Foot Pad

a guest
Sep 25th, 2024
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.74 KB | Source Code | 0 0
  1. $fn = 100;
  2. epsilon = 1e-1;
  3.  
  4. length = 155;
  5. width = 101;
  6.  
  7. outerRadius = 15;
  8. plateThickness = 18;
  9. faceThickness = 6;
  10. baseThickness = (plateThickness - faceThickness);
  11.  
  12. height = (45 - plateThickness);
  13.  
  14. difference() {
  15. union() {
  16. translate([0, 0, -baseThickness]) linear_extrude(baseThickness) hull() {
  17. translate([((-length / 2) + outerRadius), ((-width / 2) + outerRadius), 0]) circle(outerRadius);
  18. translate([((length / 2) - outerRadius), ((-width / 2) + outerRadius), 0]) circle(outerRadius);
  19. translate([((-length / 2) + outerRadius), ((width / 2) - outerRadius), 0]) circle(outerRadius);
  20. translate([((length / 2) - outerRadius), ((width / 2) - outerRadius), 0]) circle(outerRadius);
  21. }
  22.  
  23. linear_extrude(faceThickness) difference() {
  24. union() {
  25. hull() {
  26. translate([((-length / 2) + outerRadius), ((-width / 2) + outerRadius), 0]) circle(outerRadius);
  27. translate([((length / 2) - outerRadius), ((width / 2) - outerRadius), 0]) circle(outerRadius);
  28. }
  29. hull() {
  30. translate([((-length / 2) + outerRadius), ((width / 2) - outerRadius), 0]) circle(outerRadius);
  31. translate([((length / 2) - outerRadius), ((-width / 2) + outerRadius), 0]) circle(outerRadius);
  32. }
  33. square([53 * 2, 55], center=true);
  34. }
  35.  
  36. group() {
  37. // These values hard coded because I just couldn't get the math to work...
  38. facex_offset = 60.7;
  39. facey_x_offset = 11.0;
  40. facey_y_offset = (55 / 2) + outerRadius - 1.46;
  41.  
  42. #translate([-facex_offset, 0, 0]) circle(outerRadius);
  43. #translate([facex_offset, 0, 0]) circle(outerRadius);
  44.  
  45. // These are really ugly. The only thing I can surmise is that the diagram must be wrong about them having a radius of 15...
  46. #translate([-facey_x_offset, facey_y_offset, 0]) circle(outerRadius);
  47. #translate([facey_x_offset, facey_y_offset, 0]) circle(outerRadius);
  48. #translate([-facey_x_offset, -facey_y_offset, 0]) circle(outerRadius);
  49. #translate([facey_x_offset, -facey_y_offset, 0]) circle(outerRadius);
  50.  
  51. translate([((-length / 2) + outerRadius), ((-width / 2) + outerRadius), 0]) circle(22 / 2);
  52. translate([((length / 2) - outerRadius), ((width / 2) - outerRadius), 0]) circle(22 / 2);
  53. translate([((-length / 2) + outerRadius), ((width / 2) - outerRadius), 0]) circle(22 / 2);
  54. translate([((length / 2) - outerRadius), ((-width / 2) + outerRadius), 0]) circle(22 / 2);
  55. }
  56. }
  57.  
  58. cylinder(height, (55 / 2), (55 / 2));
  59. difference() {
  60. translate([0, 0, height / 2]) cube([8, width, height], center=true);
  61. group() {
  62. translate([0, -width/2, 21 - plateThickness]) rotate([45, 0, 0]) translate([0, ((width - 55) / 2), height / 2]) cube([8 + (2 * epsilon), width - 55, height], center=true);
  63. mirror([0, 1, 0]) translate([0, -width/2, 21 - plateThickness]) rotate([45, 0, 0]) translate([0, ((width - 55) / 2), height / 2]) cube([8 + (2 * epsilon), width - 55, height], center=true);
  64. }
  65. }
  66. }
  67.  
  68. group() {
  69. translate([0, 0, -baseThickness - epsilon]) cylinder(45, (42 / 2), (42 / 2));
  70. translate([((-length / 2) + outerRadius), ((-width / 2) + outerRadius), -baseThickness - epsilon]) linear_extrude(baseThickness + (2 * epsilon)) circle(14 / 2);
  71. translate([((length / 2) - outerRadius), ((width / 2) - outerRadius), -baseThickness - epsilon]) linear_extrude(baseThickness + (2 * epsilon)) circle(14 / 2);
  72. translate([((-length / 2) + outerRadius), ((width / 2) - outerRadius), -baseThickness - epsilon]) linear_extrude(baseThickness + (2 * epsilon)) circle(14 / 2);
  73. translate([((length / 2) - outerRadius), ((-width / 2) + outerRadius), -baseThickness - epsilon]) linear_extrude(baseThickness + (2 * epsilon)) circle(14 / 2);
  74. translate([0, 0, height - 13 + (13 / 2)]) cube([55, 8, 13 + epsilon], center=true);
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement