1 // Simple openscad program to split the creepy hand so larger creepy
2 // hands can be made, or just so the hand can be removed to make it
3 // easier to put things on the hand.
5 // Copyright (c) 2019 Clinton Ebadi <clinton@unknownlamer.org>, GPLv3
6 // or at your option any later version.
8 // Can be used to split other things: just load whatever geometry you
9 // want and ensure the spot you want to split it at is centered on the
13 // - allow setting a z offset percentage to shift holes more into upper
16 // Creepy hand from http://www.thingiverse.com/thing:8174 by whosawhatsis, used with permission (CC BY)
17 // Modified by centering it on the origin (no actual changes)
18 // Defaults are for #10 threaded rod (hardware store doesn't sell metric rod here)
19 split_thing (part_spacing = 100) {
20 scale ([model_scale, model_scale, model_scale]) translate ([-2, 3, 0]) rotate ([0, 0, 40]) translate ([0, 0, 10]) import ("hand-centered.stl");
23 default_rod_d = 5.1; // loose fit on #10 threaded rod
33 // place child object, will be split on plane at z = 0
34 module split_thing (top = true, bottom = true, rod_d = default_rod_d, depth = default_depth, spacing = default_spacing, part_spacing = 50) {
37 translate ([-spacing/2, 0, 0]) cylinder (d=rod_d, h=depth);
38 translate ([spacing/2, 0, 0]) cylinder (d=rod_d, h=depth);
39 translate ([0, -spacing/4, 0]) cylinder (d=rod_d, h=depth);
40 translate ([0, spacing/4, 0]) cylinder (d=rod_d, h=depth);
44 mirror ([0, 0, 1]) rod();
49 union () { children (); }
57 translate ([-max_model_dim/2,-max_model_dim/2, 0]) cube (max_model_dim);
61 translate ([top ? part_spacing : 0, 0, 0]) {
62 rotate ([180, 0, 0]) {
64 rotate ([0, 0, 0]) whole () children ();
65 mirror ([0, 0, 1]) translate ([-max_model_dim/2,-max_model_dim/2, 0]) cube (max_model_dim);