From 6118ce9f7e944647f7fcb75d1676de895c537b5b Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Thu, 1 May 2014 11:53:30 +0200 Subject: [PATCH] toothbrush holder: stronger clips --- toothbrush-holder-9x3.scad | 80 +++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/toothbrush-holder-9x3.scad b/toothbrush-holder-9x3.scad index dbe2100..831a7c3 100644 --- a/toothbrush-holder-9x3.scad +++ b/toothbrush-holder-9x3.scad @@ -12,53 +12,46 @@ module cut_ellipse(height, dist, x) { }; }; +module clip() { + translate([-1.5, 0, -1]) + cube([1.5, 8, 9]); + translate([0, 0, -1]) difference() { + cube([3, 3, 9]); + translate([3-epsilon, 3-epsilon, -epsilon]) + cylinder(r=3, h=9+2*epsilon); + }; + translate([0, 0, -1]) + difference() { + translate([-1, 8, 0]) + cylinder(r=2, h=9); + translate([-infty/2-1.5+epsilon, 0, 0]) + cube(infty, center=true); + }; +}; + module stem() { hull() { cut_ellipse(25, 31, 4); cut_ellipse(10, 24, 6); }; + + // left-side and right-side clip difference() { - union() { - translate([3.75, 31-epsilon, 0]) - rotate([0, 15, 0]) { - cube([1.5, 8, 8]); - difference() { - translate([1, 8, 0]) - cylinder(r=2, h=8); - translate([infty/2+1.5-epsilon, 0, 0]) - cube(infty, center=true); - }; - }; - translate([-3.75, 31-epsilon, 0]) - rotate([0, -15, 0]) { - translate([-1.5, 0, 0]) - cube([1.5, 8, 8]); - difference() { - translate([-1, 8, 0]) - cylinder(r=2, h=8); - translate([-infty/2-1.5+epsilon, 0, 0]) - cube(infty, center=true); - }; + union() { + translate([3.75, 31-epsilon, 0]) + rotate([0, 15, 0]) + scale([-1, 1, 1]) + clip(); + + translate([-3.75, 31-epsilon, 0]) + rotate([0, -15, 0]) + clip(); }; - }; - translate([0, 0, -infty/2]) - cube(infty, center=true); - }; -/* - hull() { - cut_ellipse(12, 40, 0.5); - cut_ellipse( 8, 35, 2); - }; - hull() { - cut_ellipse(12, 35, 2); - cut_ellipse(10, 25, 5); - }; - hull() { - cut_ellipse(10, 25, 5); - cut_ellipse(12, 10, 4); + translate([0, 0, -infty/2]) + cube(infty, center=true); }; -*/ + for (dist=[0:9.5:19]) translate([0, dist, 0]) interdental_cylinder(); @@ -118,13 +111,20 @@ module body() { cube(infty, center=true); */ }; + // rear-side protrusion translate([-50, 1, 6]) - rotate([0, 90, 0]) - cylinder(r=2.5, h=100, $fn=4); + rotate([0, 90, 0]) + cylinder(r=3, h=40, $fn=4); + // rear-side protrusion + translate([10, 1, 6]) + rotate([0, 90, 0]) + cylinder(r=3, h=40, $fn=4); }; + // screw head hole rotate([-90, 0, 0]) translate([0,-6,3]) cylinder(r=3.5, h=55); + // screw head rotate([-90, 0, 0]) translate([0,-6,-infty/2]) cylinder(r=1.75, h=infty, $fn=6); -- 2.43.5