From: Clinton Ebadi Date: Thu, 4 Apr 2019 02:18:15 +0000 (-0400) Subject: creepy-hand: simple hack to split a creepy hand in two X-Git-Url: http://git.hcoop.net/clinton/3d-models.git/commitdiff_plain/5d5c3e9d890fa0476f362d5a815ab69c71bf47ed creepy-hand: simple hack to split a creepy hand in two --- diff --git a/creepy-hand/Creepy_Hand-attribution_card.html b/creepy-hand/Creepy_Hand-attribution_card.html new file mode 100644 index 0000000..bce3df5 --- /dev/null +++ b/creepy-hand/Creepy_Hand-attribution_card.html @@ -0,0 +1,38 @@ + + + +
+
+ +
+

Creepy Reaching Hand by scampbell

+

Published on April 27, 2016

+

www.thingiverse.com/thing:1524972

+

+
+ + + + + + +
+ Creative Commons - Attribution

+
+ + diff --git a/creepy-hand/creepy-hand-split.scad b/creepy-hand/creepy-hand-split.scad new file mode 100644 index 0000000..e17725a --- /dev/null +++ b/creepy-hand/creepy-hand-split.scad @@ -0,0 +1,79 @@ +// Simple openscad program to split the creepy hand so larger creepy +// hands can be made, or just so the hand can be removed to make it +// easier to put things on the hand. + +// Copyright (c) 2019 Clinton Ebadi , GPLv3 +// or at your option any later version. + +// Can be used to split other things: just load whatever geometry you +// want and ensure the spot you want to split it at is centered on the +// origin. + +// Creepy hand from http://www.thingiverse.com/thing:8174 by whosawhatsis, used with permission (CC BY) +// Modified by centering it on the origin (no actual changes) +// Defaults are for #10 threaded rod (hardware store doesn't sell metric rod here) +split_thing (part_spacing = 100, spacing = 25, bottom = false) { + scale ([2, 2, 2]) translate ([-2, 3, 0]) rotate ([0, 0, 40]) translate ([0, 0, 10]) import ("hand-centered.stl"); +} + +// TODO: + +// - allow setting a z offset percentage to shift holes more into upper +// or lower piece + +default_rod_d = 5.1; // loose fit on #10 threaded rod +default_depth = 20; +default_position_depth = 10; +default_spacing = 20; +max_model_dim = 1000; + +$fa = 1; +$fs = 1; + +// place child object, will be split on plane at z = 0 +module split_thing (top = true, bottom = true, rod_d = default_rod_d, depth = default_depth, position_depth = default_position_depth, spacing = default_spacing, part_spacing = 50) { + module rod_mount () { + module rod () { + translate ([-spacing/2, 0, 0]) cylinder (d=rod_d, h=depth); + translate ([spacing/2, 0, 0]) cylinder (d=rod_d, h=depth); + translate ([0, -spacing/4, 0]) cylinder (d=rod_d, h=depth); + translate ([0, spacing/4, 0]) cylinder (d=rod_d, h=depth); + } + + rod (); + mirror ([0, 0, 1]) rod(); + } + + module whole () { + difference () { + union () { children (); } + rod_mount (); + } + } + + if (top) { + intersection () { + whole () children (); + translate ([-max_model_dim/2,-max_model_dim/2, 0]) cube (max_model_dim); + } + } + if (bottom) { + translate ([top ? part_spacing : 0, 0, 0]) { + rotate ([180, 0, 0]) { + intersection () { + rotate ([0, 0, 0]) whole () children (); + mirror ([0, 0, 1]) translate ([-max_model_dim/2,-max_model_dim/2, 0]) cube (max_model_dim); + } + } + } + } + +} + +//split_thing (part_spacing = 50, depth = 7, position_depth = 4, spacing = 12) { +// translate ([-2, 2, 0]) rotate ([0, 0, 40]) translate ([0, 0, 10]) import ("hand-centered_preview.stl"); +// cylinder (d=30, h=40, center=true); +// /*rotate ([0, 0, 40])*/ scale ([2, 2, 2]) import ("hand-centered_preview.stl"); +// scale ([2, 2, 2]) rotate ([0, 0, 40]) translate ([0, 0, 10]) import ("hand-centered_preview.stl"); +//} + diff --git a/creepy-hand/hand-centered.stl b/creepy-hand/hand-centered.stl new file mode 100644 index 0000000..78a5492 Binary files /dev/null and b/creepy-hand/hand-centered.stl differ