Newer
Older
3d / Toothbrush holder.scad
$fn = 100;
dis = 35;
hei = 20;

module base_holder()
{
    union()
    {
        difference()
        {
            union()
            {
                hull()
                {
                    translate([ -4, -4, -0 ]) cube([ 1, 8, 5 ]);
                    translate([ 12.5 - 13 - 19.8 - 5, -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([ 9, -18, -1 ]) cube([ 15, 36, 10 ]);
            translate([ 0, 0, -1 ]) scale([ 3.3, 2.75, 0.5 ]) cylinder(d = 10, h = 14);
        }
        translate([ 9, 13.1, 0 ]) cylinder(h = 5, d = 2.95);
        translate([ 9, -13.1, 0 ]) cylinder(h = 5, d = 2.95);
    }
}

union()
{
    for (i = [0:3]) {
        translate([ 0, dis * i, 0 ]) base_holder();
    };
    translate([ -28.5, -7.5, 0 ]) cube([ 3.5, dis * 3 + 15, 5 ]);
};
// p2

module top_holder() {
    union() {
        difference()
            {
                union()
                {
                    hull()
                    {
                        translate([ -4, -4, -0 ]) cube([ 1, 8, 5 ]);
                        translate([ 12.5 - 13 - 19.8 -11, -7.5, -0 ]) cube([ 0.0001, 15, 5 ]);
                    }
                    translate([ 0, 0, 0 ]) cylinder(h = 5, d = 12);
                }

                hull()
                {
                    translate([ 0, 0, -1 ]) cylinder(h = 7, d = 8);
                    translate([ 1, 0, -1 ]) cylinder(h = 7, d = 7.5);
                }
                translate([ 3.5, -18, -1 ]) cube([ 15, 36, 10 ]);
            };
        translate([ 3.3, -3.9, 0 ]) cylinder(h = 5, d = 2.2);
        translate([ 3.3, 3.9, 0 ]) cylinder(h = 5, d = 2.2);
    }
}

union()
{
    translate([ -0.5, 0, hei ]) union()
    {
        for (i = [0:3]) {
            translate([ 0, dis * i, 0 ]) top_holder();
        };
        translate([ -34, -7.5, 0 ]) cube([ 3, dis * 3 + 15, 5 ]);
    };
};