UltimateCodeWarrior

Untitled

Sep 17th, 2024
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. use <threads-scad/threads.scad>;
  2. $fa=1;
  3. $fs= 0.4;
  4.  
  5. $fn = $preview ? 64:360;
  6.  
  7.  
  8. // For BambuLabs Printer
  9. // H=249,W-238,D=256
  10. // Safe bet is a 225 mm cube
  11. // This drawing is 200 mm, or 7.87 inches
  12. //Cntrl-Shift-V Show all, Max Zoom
  13. // Cad "Front View = Elevation" Top View = "Plan" The X-Y View?
  14. //https://openscad.org/cheatsheet/
  15. //https://openscad.org/cheatsheet/snapshot.html
  16. //https://en.wikibooks.org/wiki/OpenSCAD_Tutorial
  17. //PasteBin
  18. $vpr=[90,0,45]; // Right Side
  19. //$vpr=[90,0,0]; // Front
  20. //$vpr=[0,-90,90];
  21. //$vpr=[0,0,0]; // Top
  22.  
  23. c_h = 100; // height
  24. c_r = 100; // radius
  25. c_t = 5; //thickness
  26. c_2t = 2*c_t;
  27.  
  28. pi_l= 85+3; // +3 is the overhang of usb/ether
  29. pi_w= 56;
  30. pi_h= 20;
  31. pi_hole_r= 2.7;
  32. pi_edge_off = 3.5;
  33. pi_hole_wid_dist = 49;
  34. pi_hole_len_dist = 58;
  35.  
  36. lens_r = 25.5;
  37. lens_d = lens_r*2;
  38. lens_thick = 6;
  39.  
  40. lens_cutout_r = 17.0;
  41. lens_cutout_d = lens_cutout_r*2;
  42. lens_cutout_thick = 20;
  43.  
  44. module main_hull(){
  45.  
  46. // If I don't specify r= for radius, it becomes a cone?
  47. difference() {
  48. cylinder(h=c_h,r=c_r,true);
  49. translate([0,0,-10])
  50. cylinder(h=1.2*c_h,r=c_r-c_2t,true);
  51.  
  52. // Lens Seat Cutuout
  53. translate([0,-c_r+(lens_thick*2)+1.5,c_h-lens_d])
  54. rotate([90,0,0])
  55. cylinder(h=lens_thick,r=lens_r,false);
  56.  
  57.  
  58. // Lens Thru-cutout thickness, punch hole through hull
  59. translate([0,-c_r+lens_cutout_thick,c_h/2])
  60. rotate([90,0,0])
  61. cylinder(h=lens_cutout_thick,r=lens_cutout_r,false);
  62.  
  63. // Cone Taper Cutout, maybe make black ?
  64. translate([0,-c_r+lens_cutout_thick-20,c_h/2])
  65. rotate([90,0,180])
  66. cylinder(h=lens_cutout_thick,r1=lens_cutout_r+5, r2=lens_coutout,false);
  67.  
  68. }
  69. }
  70.  
  71. ear_hole_diameter = 33;
  72. air_gap=30;
  73.  
  74. module left_side() {
  75. translate([-air_gap,0,0])
  76. rotate([0,-90,0])
  77. difference() {
  78. cylinder(h=25,r1=100,r2=75);
  79. translate([0,0,-2])
  80. cylinder(h=30,r=32,center=false); // Core it out
  81. }
  82. translate([-air_gap,0,0])
  83. rotate([0,-90,0])
  84. translate([0,0,-0.125])
  85. threaded_hole();
  86.  
  87. }
  88. module right_side() {
  89.  
  90.  
  91.  
  92.  
  93. translate([100+air_gap,0,0])
  94. rotate([0,90,0])
  95. difference() {
  96. cylinder(h=25,r1=100,r2=75);
  97. translate([0,0,-2])
  98. cylinder(h=30,r=32,center=false); // Core it out
  99. }
  100. translate([100+air_gap,0,0])
  101. rotate([0,90,0])
  102. translate([0,0,-0.125])
  103. threaded_hole();
  104.  
  105.  
  106. }
  107.  
  108. //TODO Large Hex Screw Embedded in Screw Cap for torque down?
  109. module left_screw() {
  110.  
  111. translate([-180,0,0])
  112. rotate([0,90,0])
  113. threaded_cylinder();
  114.  
  115. translate([-180,0,0])
  116. rotate([0,90,0])
  117. cylinder(h=25,r=40);
  118. }
  119.  
  120. module right_screw() {
  121. translate([280,0,0])
  122. rotate([0,-90,0])
  123. threaded_cylinder();
  124.  
  125. translate([280,0,0])
  126. rotate([0,-90,0])
  127. cylinder(h=25,r=40);
  128. }
  129.  
  130. //socket_thread_diameter = 33;
  131. //socket_thread_length = 25;
  132. //socket_thread_pitch = 5;
  133.  
  134.  
  135. // Bezel Threads
  136. bezel_diameter = 60;
  137. bezel_rod_height=24;
  138. bezel_thread_length = 25;
  139. bezel_thread_pitch = 5;
  140. bezel_pipe_diameter = bezel_diameter-3*c_t;
  141.  
  142.  
  143. module bare_threaded_cylinder(rod_diameter,thread_length,thread_pitch) {
  144. RodStart(rod_diameter, 0,thread_length*1.55,rod_diameter,thread_pitch);
  145. }
  146.  
  147.  
  148.  
  149.  
  150. module threaded_cylinder() {
  151. // Outer threaded cylinder
  152.  
  153. RodStart(bezel_diameter, bezel_rod_height,bezel_thread_length*1.75,bezel_diameter,bezel_thread_pitch);
  154.  
  155. }
  156.  
  157.  
  158.  
  159. // Module to create internal threads in Part B
  160. module threaded_hole() {
  161. RodEnd(bezel_diameter+20, // Diameter
  162. bezel_thread_length, // height
  163. bezel_thread_length, // thread_len
  164. bezel_diameter, // Thred_diam
  165. bezel_thread_pitch); // Thread_ptch
  166. }
  167.  
  168.  
  169.  
  170.  
  171. module pi_footprint() {
  172. color("crimson",1.0)
  173. translate([c_h - ((c_h-pi_l)/2),40,0])
  174. rotate([0,-45,90])
  175. cube([pi_w, pi_l,pi_h],center=false);
  176. }
  177.  
  178. rotate([0,90,0])
  179. main_hull();
  180.  
  181. pi_footprint();
  182. left_side();
  183. right_side();
  184.  
  185. left_screw();
  186. right_screw();
  187.  
  188.  
Advertisement
Add Comment
Please, Sign In to add comment