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) {
%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.