Added pencil holder
authorBrian Flowers <git-admn@bsflowers.net>
Thu, 6 May 2021 01:53:12 +0000 (21:53 -0400)
committerBrian Flowers <git-admn@bsflowers.net>
Thu, 6 May 2021 01:53:12 +0000 (21:53 -0400)
Organization/DeskOrganizers/pencilHolder.png [new file with mode: 0644]
Organization/DeskOrganizers/pencilHolder.scad [new file with mode: 0644]

diff --git a/Organization/DeskOrganizers/pencilHolder.png b/Organization/DeskOrganizers/pencilHolder.png
new file mode 100644 (file)
index 0000000..b99b540
Binary files /dev/null and b/Organization/DeskOrganizers/pencilHolder.png differ
diff --git a/Organization/DeskOrganizers/pencilHolder.scad b/Organization/DeskOrganizers/pencilHolder.scad
new file mode 100644 (file)
index 0000000..6138c5d
--- /dev/null
@@ -0,0 +1,125 @@
+/*## COPYRIGHT NOTICE
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation, either version 3 of the License, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <https://www.gnu.org/licenses/>.
+#
+#
+#    COPYRIGHT 2020 : Slightly Cyberpunk
+#                     www.slightlycyberpunk.com
+#
+#
+
+### DESCRIPTION
+#
+#    A simple, configurable pencil holder / desk organizer
+#    Not the best design -- the holes in the base need to be larger
+#     in order to hold things more securely. Otherwise it works well.
+*/
+
+// === Main model ===
+// Main base plate to hold the various units together
+// Different plates could be designed to allow extending the overall unit
+// Items translated for an "exploded" view
+translate([0,0,-4]) { AllBase(); }
+
+// Various size holders
+pencilBase(7);
+translate([0,0,5]) { pencilHolder(7); }
+
+translate([20,0,0]) {
+  pencilBase(6);
+  translate([0,0,5]) { pencilHolder(6); }
+}
+
+translate([50,0,0]) {
+  pencilBase(4);
+  translate([0,0,5]) { pencilHolder(4); }
+}
+
+translate([80,0,0]) {
+  pencilBase(4);
+  translate([0,0,5]) { pencilHolder(4); }
+}
+
+
+// === MODULES ===
+module pencilBase(holes) {
+difference() {
+  radius=10*(8/holes);
+  cube([20,110,4]);
+  for(i = [1:holes]) {
+    translate([12,10+((90/holes)*(i-0.5)),radius-5.5]) {
+      sphere(r=5*(8/holes));
+    }
+  }
+  translate([2,2,0]) {
+    cube([4,4,5]);
+  }
+  translate([2,104,0]) {
+    cube([4,4,5]);
+  }
+}
+}
+
+module pencilHolder(holes) {
+  radius=6*(8/holes);
+  translate([2,2,0]) {
+    cube([4,4,50]);
+    translate([0,0,10]) {
+      cube([6,6,40]);
+    }
+  }
+  translate([2,104,0]) {
+    cube([4,4,50]);
+    translate([0,-2,10]) {
+      cube([6,6,40]);
+    }
+  }
+  difference() {
+  hull() {
+  translate([2,0,50]) {
+    cube([6,110,5]);
+  }
+  // holes inner and outer
+  for(i=[1:holes]) {
+    translate([10,10+((90/holes)*(i-0.5)),50]) {
+        cylinder(r=radius,h=5);
+    }
+  }
+  }
+  for(i=[1:holes]) {
+    translate([10,10+((90/holes)*(i-0.5)),50]) {
+        cylinder(r=radius-1.5,h=5);
+    }
+  }
+  // square holes between holes
+  translate([8,15,50]) { cube([5,30,5]); }
+  translate([8,65,50]) { cube([5,30,5]); }
+  }
+}
+
+module AllBase() {
+  difference() {
+    cube([100,110,3]);
+    for(i=[0:4]) {
+      translate([2+(20*i),2,0]) {
+        cube([4,4,5]);
+      }
+      translate([2+(20*i),104,0]) {
+        cube([4,4,5]);
+      }
+    }
+  }
+}
+
+