Advertisement
Guest User

OpenSCAD Skadis Hook

a guest
Jun 10th, 2025
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. vertical_space_between_holes = 25;
  2. hole_height = 15;
  3. hole_hook_height_ratio = 0.8;
  4. hole_width = 4.6;
  5. hole_depth = 6;
  6. corner_r = 2;
  7. hook_r = 7;
  8. hook_angle = 180;
  9. hook_down_extension = 12.5;
  10. hook_up_extension = 7;
  11.  
  12. hole_height_space = vertical_space_between_holes + 2;
  13.  
  14. $fs = 0.2;
  15. $fa = 2;
  16.  
  17. module rounded_rect(x=hole_width, y=hole_width, r=corner_r) {
  18. hull() {
  19. translate([ r, r]) circle(r);
  20. translate([x-r, r]) circle(r);
  21. translate([ r, y-r]) circle(r);
  22. translate([x-r, y-r]) circle(r);
  23. }
  24. }
  25.  
  26. module main_shaft_body() {
  27. color("red")
  28. translate([0,0,hole_width-hook_down_extension])
  29. linear_extrude(hole_height_space+hook_down_extension)
  30. rounded_rect();
  31. }
  32.  
  33. module hole_insertion(depth) {
  34. color("green")
  35. linear_extrude(hole_width)
  36. rounded_rect(y=depth + hole_width);
  37.  
  38. }
  39.  
  40. module upper_hole_hook() {
  41. hook_height = hole_height*hole_hook_height_ratio;
  42. color("yellow")
  43. translate([0,hole_depth*2,hole_height_space+hole_width*2 - hook_height])
  44. linear_extrude(hook_height)
  45. rounded_rect();
  46. }
  47.  
  48. module main_hook() {
  49. translate([0,-hook_r, -hook_down_extension+hole_width])
  50. rotate([0,90,0])
  51. rotate([0,0,90-hook_angle])
  52. union() {
  53. color("blue")
  54. rotate_extrude(angle=hook_angle)
  55. translate([hook_r, 0 , 0])
  56. rounded_rect();
  57.  
  58. color("yellow")
  59. translate([hook_r,0,0])
  60. rotate([90,0,0])
  61. linear_extrude(hook_up_extension)
  62. rounded_rect();
  63. }
  64. }
  65.  
  66. module skadis_hook() {
  67. main_shaft_body();
  68.  
  69. hole_insertion(hole_depth);
  70. translate([0,0,hole_height_space+ hole_width])
  71. hole_insertion(hole_depth*2);
  72.  
  73. upper_hole_hook();
  74.  
  75. main_hook();
  76. }
  77.  
  78. rotate([0,90,0]) skadis_hook();
  79.  
Tags: OpenSCAD
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement