diff --git a/Toothbrush holder.scad b/Toothbrush holder.scad new file mode 100644 index 0000000..2b2b0cf --- /dev/null +++ b/Toothbrush holder.scad @@ -0,0 +1,108 @@ +$fn=100; +dis=35; +hei=20; +scr1=0; +scr2=0; + +module base_holder() { + union() { + difference() { + union(){ + hull() { + translate([-4,-4,-0])cube([1,8,5]); + translate([12.5-13-19.8,-7.5,-0])cube([0.0001,15,5]); + } + translate([0,0,0])scale([3.3,2.75,0.5])cylinder(d=12,h=10); + } + translate([7,-18,-1])cube([15,36,10]); + translate([0,0,-1])scale([3.3,2.75,0.5])cylinder(d=10,h=14); + } + translate([7,13.93,0])cylinder(h=5,d=2.95); + translate([7,-13.93,0])cylinder(h=5,d=2.95); + } +} + +union() { + for (i=[0:3]) { + translate([0,dis*i,0]) base_holder(); + }; + translate([-.5,0,0]) difference() { + translate([-23,-7.5,0])cube([3.5,dis*3+15,5]) ; + translate([-23.5,dis*0.5,2.5])rotate([0,90,0])cylinder(h=10,d=scr1); + translate([-20.4,dis*0.5,2.5])rotate([0,90,0])cylinder(h=1,d1=4,d2=scr2); + translate([-23.5,dis*2.5,2.5])rotate([0,90,0])cylinder(h=4,d=scr1); + translate([-20.4,dis*2.5,2.5])rotate([0,90,0])cylinder(h=1,d1=4,d2=scr2); + } +}; +//p2 +union() { +translate([-0.5,0,hei]) union() { + translate([0,0,0]) difference() { + union(){ + hull() { + translate([-4,-4,-0])cube([1,8,5]); + translate([12.5-13-19.8,-7.5,-0])cube([0.0001,15,5]); + } + translate([0,0,0])cylinder(h=5,d=10); + } + + hull() { + translate([0,0,-1])cylinder(h=7,d=8); + translate([1,0,-1])cylinder(h=7,d=7.5); + } + translate([2,-18,-1])cube([15,36,10]); +}; + translate([0,dis,0]) difference() { + union(){ + hull() { + translate([-4,-4,-0])cube([1,8,5]); + translate([12.5-13-19.8,-7.5,-0])cube([0.0001,15,5]); + } + translate([0,0,0])cylinder(h=5,d=10); + } + + hull() { + translate([0,0,-1])cylinder(h=7,d=8); + translate([1,0,-1])cylinder(h=7,d=7.5); + } + translate([2,-18,-1])cube([15,36,10]); +}; + translate([0,dis*2,0]) difference() { + union(){ + hull() { + translate([-4,-4,-0])cube([1,8,5]); + translate([12.5-13-19.8,-7.5,-0])cube([0.0001,15,5]); + } + translate([0,0,0])cylinder(h=5,d=10); + } + + hull() { + translate([0,0,-1])cylinder(h=7,d=8); + translate([1,0,-1])cylinder(h=7,d=7.5); + } + translate([2,-18,-1])cube([15,36,10]); +}; + translate([0,dis*3,0]) difference() { + union(){ + hull() { + translate([-4,-4,-0])cube([1,8,5]); + translate([12.5-13-19.8,-7.5,-0])cube([0.0001,15,5]); + } + translate([0,0,0])cylinder(h=5,d=10); + } + + hull() { + translate([0,0,-1])cylinder(h=7,d=8); + translate([1,0,-1])cylinder(h=7,d=7.5); + } + translate([2,-18,-1])cube([15,36,10]); +}; + difference() { + translate([-23,-7.5,0])cube([3,dis*3+15,5]) ; + translate([-23.5,dis*0.5,2.5])rotate([0,90,0])cylinder(h=10,d=scr1); + translate([-20.9,dis*0.5,2.5])rotate([0,90,0])cylinder(h=1,d1=4,d2=scr2); + translate([-23.5,dis*2.5,2.5])rotate([0,90,0])cylinder(h=4,d=scr1); + translate([-20.9,dis*2.5,2.5])rotate([0,90,0])cylinder(h=1,d1=scr1,d2=scr2); +}; + }; +}; \ No newline at end of file