add hand hull to keep spool from falling off end of holder
[ozzloy@gmail.com/3d-printables] / mk2-haribo-spool-holder.scad
index b409fd0b11d7ab02ba1d49a0f63134949bbde8b4..0b8c55fcbd9a7d2ded5ce6ce72750c963376ec13 100644 (file)
@@ -80,23 +80,57 @@ module forearm_profile() {
       translate([-20, -20]) {
         square(151); } } } }
 
+module shoulder_hull() {
+  hull() {
+    translate([-20, -20, 0]) {
+      cube([40, 40, 35]); }
+    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 shoulder_hull() {
-  translate([-20, -20, 0]) {
-    cube([40, 40, 35]); } }
+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(); } } } }
 
 shoulder_hull();
 upper_arm_hull();
+elbow_hull();
 forearm_hull();
-
-original_spool_holder();
+hand_hull();
 
 module original_forearm_profile() {
   %projection(true) {
@@ -112,6 +146,11 @@ 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.