From: Brian Flowers Date: Thu, 6 May 2021 01:53:12 +0000 (-0400) Subject: Added pencil holder X-Git-Url: http://git.slightlycyberpunk.com%2C%20git.slightlycyberpunk.com/git/?a=commitdiff_plain;h=b5e477112f49351380a15b9880ef5f5dfc153ff5;p=SCADModels.git Added pencil holder --- diff --git a/Organization/DeskOrganizers/pencilHolder.png b/Organization/DeskOrganizers/pencilHolder.png new file mode 100644 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 index 0000000..6138c5d --- /dev/null +++ b/Organization/DeskOrganizers/pencilHolder.scad @@ -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 . +# +# +# 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]); + } + } + } +} + +