X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=mk2-haribo-spool-holder.scad;h=930a0ce429df33d146e9b16b87895da0571d21da;hb=HEAD;hp=e7d28d2cb993322b938ab033000f3363cefff8fb;hpb=716737309b496408d81f584eebf7a1f9605065fc;p=ozzloy%40gmail.com%2F3d-printables diff --git a/mk2-haribo-spool-holder.scad b/mk2-haribo-spool-holder.scad index e7d28d2..930a0ce 100644 --- a/mk2-haribo-spool-holder.scad +++ b/mk2-haribo-spool-holder.scad @@ -16,7 +16,7 @@ wall = 2; $fn = 100; -module arm_half(){ +module 3030_arm_half(){ // inner block square(inner_block / 2); @@ -43,18 +43,126 @@ module 3030_profile(){ arms = 4; for(arm = [0:arms - 1]) { rotate(arm * 360 / arms) { - arm_half(); - mirror(){ arm_half(); } } } } + 3030_arm_half(); + mirror(){ 3030_arm_half(); } } } } -linear_extrude(height = 35){ - difference(){ - minkowski(){ +module 3030_sleeve_profile(){ + difference() { + minkowski() { square(30, true); - circle(5);} - minkowski(){ + circle(5); } + minkowski() { 3030_profile(); circle(0.2);} } } +module fillet(r) { + offset(-r) { + offset(r) { + children(); } } } + +module upper_arm_profile(){ + + a = [20, -20]; + b = [34.1, 0]; + c = [6.25, 20]; + points = [a, b, c]; + + arm_radius = 11.35; + arm_center = [61.8, 140.4]; + hull() { + polygon(points); + translate(arm_center) { + circle(arm_radius); } } } + +module forearm_profile() { + fillet(-5) { + difference() { + upper_arm_profile(); + translate([-20, -20]) { + square(151); } } } } + +module shoulder_hull() { + hull() { + translate([-15, -15, 5]) { + minkowski(){ + cube([30, 30, 25]); + sphere(5); } } + difference() { + upper_arm_hull(); + translate([-30, 30, -10]) { + cube(300); } } } } + +module upper_arm_hull() { + linear_extrude(height = 15) { + upper_arm_profile(); } } + +module elbow_hull() { + hull(){ + difference() { + upper_arm_hull(); + translate([-50, -300 + 120, -1]) { + cube(300); } } + difference() { + forearm_hull(); + translate([0, 0, 30]) { + cube(300); } } } } + +module forearm_hull() { + linear_extrude(height = 120.5) { + forearm_profile(); } } + +module hand_profile() { + minkowski() { + polygon([[0, 0], + [14, 0], + [19.5, 20], + [7, 20]]); + circle(5); } } + +module hand_hull() { + hull() { + difference() { + forearm_hull(); + translate([-30, -30, -300 + 106]) { + cube(300); } } + translate([53, 135, 115.6]) { + linear_extrude(height = 5) { + hand_profile(); } } } } + +module 3030_spool_holder() { + difference() { + union() { + shoulder_hull(); + upper_arm_hull(); + elbow_hull(); + forearm_hull(); + hand_hull(); } + translate([0, 0, -1]) { + linear_extrude(height = 40) { + minkowski() { + 3030_profile(); + circle(0.2); } } } } } + +3030_spool_holder(); + +module original_forearm_profile() { + %projection(true) { + translate([-315, 0, -80]) { + import("Spool-holder.stl"); } } } + +module original_upper_arm_profile() { + %projection(true) { + translate([-315, 0, -2]) { + import("Spool-holder.stl"); } } } + +module original_spool_holder() { + %translate([-315, 0, 0]) { + import("Spool-holder.stl"); } } + +module original_hand_profile() { + %projection(true) { + translate([-368, -135, -117]) { + import("Spool-holder.stl"); } } } /* This file is part of 3d-printables.