creepy-hand: simple hack to split a creepy hand in two
authorClinton Ebadi <clinton@unknownlamer.org>
Thu, 4 Apr 2019 02:18:15 +0000 (22:18 -0400)
committerClinton Ebadi <clinton@unknownlamer.org>
Thu, 4 Apr 2019 02:18:15 +0000 (22:18 -0400)
creepy-hand/Creepy_Hand-attribution_card.html [new file with mode: 0644]
creepy-hand/creepy-hand-split.scad [new file with mode: 0644]
creepy-hand/hand-centered.stl [new file with mode: 0644]

diff --git a/creepy-hand/Creepy_Hand-attribution_card.html b/creepy-hand/Creepy_Hand-attribution_card.html
new file mode 100644 (file)
index 0000000..bce3df5
--- /dev/null
@@ -0,0 +1,38 @@
+<!-- from http://www.thingiverse.com/thing:8174 by whosawhatsis, used with permission -->
+<style type="text/css">
+#tagback {padding: 50px;background: white;}
+.tag {position: relative;border: 1px solid #eeeeee;width: 450px;height: 150px;margin: 0px;padding: 10px 10px 10px 120px;}
+.tag .qrcode-sidebar {float: right;margin: 0px;padding: 0px;}
+.tag a {color: black;text-decoration: none;}
+.tag h1 {font: bold 18px Arial,sans-serif;margin: 0px;padding: 0px;}
+.tag h2 {font: 14px Arial,sans-serif;margin: 0px;padding: 0px;}
+.tag h3 {font: 12px Courier,monospace;margin: 0px;padding: 0px;}
+.tag h4 {font: 9px Arial,sans-serif;position: absolute;bottom: 0px;left: 0px;margin: 0px 150px 0px 0px;padding: 0px;}
+.tag h4 div {float: left;margin: 0px 5px 15px 125px;height: 40px;}
+.tag h4 div img {height: 40px;}
+</style>
+
+<div id="tagback"><div class="tag">
+        <div class="qrcode-sidebar">
+            <img src="http://chart.apis.google.com/chart?chs=150x150&cht=qr&chl=thingiverse.com/thing:1524972&choe=UTF-8&chld=Q|1">
+        </div>
+        <h1>Creepy Reaching Hand by scampbell</h1>
+        <h2>Published on April 27, 2016</h2>
+        <h3>www.thingiverse.com/thing:1524972</h3>
+        <h4>
+                                                                                                            <div class="row-fluid cc-licenses">
+                                            <span class="span6">
+                            <img src="http://www.thingiverse.com/img/cc/chooser_cc.png" />
+                        </span>
+                                            <span class="span6">
+                            <img src="http://www.thingiverse.com/img/cc/chooser_by.png" />
+                        </span>
+                                    </div>
+                    Creative Commons - Attribution<br /></h4>
+</div></div>
+
+<script>
+window.onload = function(){
+    document.getElementById('tagback').appendChild(document.getElementById('tagback').firstChild.cloneNode(true));
+};
+</script>
diff --git a/creepy-hand/creepy-hand-split.scad b/creepy-hand/creepy-hand-split.scad
new file mode 100644 (file)
index 0000000..e17725a
--- /dev/null
@@ -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 <clinton@unknownlamer.org>, 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 (file)
index 0000000..78a5492
Binary files /dev/null and b/creepy-hand/hand-centered.stl differ