Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- vertical_space_between_holes = 25;
- hole_height = 15;
- hole_hook_height_ratio = 0.8;
- hole_width = 4.6;
- hole_depth = 6;
- corner_r = 2;
- hook_r = 7;
- hook_angle = 180;
- hook_down_extension = 12.5;
- hook_up_extension = 7;
- hole_height_space = vertical_space_between_holes + 2;
- $fs = 0.2;
- $fa = 2;
- module rounded_rect(x=hole_width, y=hole_width, r=corner_r) {
- hull() {
- translate([ r, r]) circle(r);
- translate([x-r, r]) circle(r);
- translate([ r, y-r]) circle(r);
- translate([x-r, y-r]) circle(r);
- }
- }
- module main_shaft_body() {
- color("red")
- translate([0,0,hole_width-hook_down_extension])
- linear_extrude(hole_height_space+hook_down_extension)
- rounded_rect();
- }
- module hole_insertion(depth) {
- color("green")
- linear_extrude(hole_width)
- rounded_rect(y=depth + hole_width);
- }
- module upper_hole_hook() {
- hook_height = hole_height*hole_hook_height_ratio;
- color("yellow")
- translate([0,hole_depth*2,hole_height_space+hole_width*2 - hook_height])
- linear_extrude(hook_height)
- rounded_rect();
- }
- module main_hook() {
- translate([0,-hook_r, -hook_down_extension+hole_width])
- rotate([0,90,0])
- rotate([0,0,90-hook_angle])
- union() {
- color("blue")
- rotate_extrude(angle=hook_angle)
- translate([hook_r, 0 , 0])
- rounded_rect();
- color("yellow")
- translate([hook_r,0,0])
- rotate([90,0,0])
- linear_extrude(hook_up_extension)
- rounded_rect();
- }
- }
- module skadis_hook() {
- main_shaft_body();
- hole_insertion(hole_depth);
- translate([0,0,hole_height_space+ hole_width])
- hole_insertion(hole_depth*2);
- upper_hole_hook();
- main_hook();
- }
- rotate([0,90,0]) skadis_hook();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement