Adjusting for final release
This commit is contained in:
parent
64f04fe4dd
commit
f5c167d3f0
@ -1,5 +1,7 @@
|
||||
/* --------------------------------------------------------------------------------------- *
|
||||
* Double Helix Toothbrush Holder Oral-B Revision - Copyright Matthew McClain 2024 *
|
||||
* MCGIT : https://mcgit.place/MatCat-Models/Double_Helix_Toothbrush_Holder *
|
||||
* Printables: https://www.printables.com/model/713927-double-helix-toothbrush-holder *
|
||||
* *
|
||||
* This project is licensed as such: *
|
||||
* You are free to use this code for personal use. If you alter or include this code *
|
||||
@ -12,51 +14,51 @@
|
||||
* interested in a commercial license. *
|
||||
* *
|
||||
* Parameters: *
|
||||
* There are 6 parameters to this model as follows, *
|
||||
* There are 9 parameters to this model as follows, *
|
||||
* *
|
||||
* height : The height of the helix in mm. The total model height will be *
|
||||
* this height + thickness/2 +1 *
|
||||
* radius : The radius of the entire toothbrush holder *
|
||||
* thickness : The radius of the helix spirals *
|
||||
* brushhole : This is the diameter of the hole the toothbrish will sit in *
|
||||
* tubethickness: This will be the tube wall thickness of the toothbrush holder *
|
||||
* brushes : Total number of toothbrushes the holder will have *
|
||||
* height : The height of the helix in mm. The total model height will be *
|
||||
* this height + thickness/2 +1-2 *
|
||||
* steps : This setting will control the granularity of the design, a lower number*
|
||||
* will result in smoother model but take much longer to render *
|
||||
* radius : The radius of the entire toothbrush holder *
|
||||
* thickness : The radius of the helix spirals *
|
||||
* brushhole : This is the diameter of the hole the toothbrish will sit in *
|
||||
* tubethickness : This will be the tube wall thickness of the toothbrush holder *
|
||||
* floorthickness: The thickness from the bottom of the model to floor of brush tube *
|
||||
* drainholediam : The diameter of the drain hole at the buttom of each brush tube *
|
||||
* brushes : Total number of toothbrushes the holder will have *
|
||||
* *
|
||||
* --------------------------------------------------------------------------------------- */
|
||||
|
||||
$fn = 60;
|
||||
height = 100; // This is the total height of the toothbrush holder
|
||||
steps = 3; // Number of steps to take to get to height
|
||||
radius = 35; // This is the total radius of the tothbrush holder
|
||||
thickness = 32; // This is the thickness of the toothbrush holder twists
|
||||
brushhole = 26; // This is the thickness of the hole a toothbrush will sit in
|
||||
tubethickness = 2; // This is the wall thickness of the toothbrush tube walls
|
||||
floorthickness = 2; // How thick should the floor be on the bottom of the holder
|
||||
drainholediam = 5; // Diamater of drain hole at bottom of brush holder tubes
|
||||
brushes = 5; // Total number of brushes
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
for (i=[0:height]) {
|
||||
for (i=[0:steps:height-steps]) {
|
||||
// Twist 1
|
||||
hull() {
|
||||
rotate([0,0,(360*i)/height]) translate([radius,0,i]) sphere(d=thickness);
|
||||
rotate([0,0,(360*(i+1))/height]) translate([radius,0,i+1]) sphere(d=thickness);
|
||||
rotate([0,0,(360*(i+steps))/height]) translate([radius,0,i+steps]) sphere(d=thickness);
|
||||
}
|
||||
// Twist 2
|
||||
hull() {
|
||||
rotate([0,0,(360*(i-(height/2)))/height]) translate([radius,0,i]) sphere(d=thickness);
|
||||
rotate([0,0,(360*((i+1)-(height/2)))/height]) translate([radius,0,i+1]) sphere(d=thickness);
|
||||
rotate([0,0,(360*((i+steps)-(height/2)))/height]) translate([radius,0,i+steps]) sphere(d=thickness);
|
||||
}
|
||||
// Base
|
||||
hull() {
|
||||
rotate([0,0,(360*i)/height]) translate([radius,0,0]) sphere(d=thickness);
|
||||
rotate([0,0,(360*(i+1))/height]) translate([radius,0,0]) sphere(d=thickness);
|
||||
}
|
||||
// Top Ring
|
||||
hull() {
|
||||
rotate([0,0,(360*i)/height]) translate([radius,0,height+1]) sphere(d=thickness);
|
||||
rotate([0,0,(360*(i+1))/height]) translate([radius,0,height+1]) sphere(d=thickness);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
// Base Ring
|
||||
rotate_extrude(convexity=10) translate([radius,0,0]) circle(d=thickness);
|
||||
// Top Ring
|
||||
translate([0,0,height]) rotate_extrude(convexity=10) translate([radius,0,0]) circle(d=thickness);
|
||||
// Toothbrush pillar
|
||||
for (i=[0:brushes-1]) {
|
||||
rotate([0,0,(360/brushes)*i]) translate([radius,0,0]) cylinder(d=brushhole+(tubethickness*2),h=height);
|
||||
@ -64,7 +66,10 @@ difference() {
|
||||
}
|
||||
// Toothbrush Hole
|
||||
for (i=[0:brushes-1]) {
|
||||
rotate([0,0,(360/brushes)*i]) translate([radius,0,radius/2]) cylinder(d=brushhole,h=height);
|
||||
rotate([0,0,(360/brushes)*i]) translate([radius,0,floorthickness]) cylinder(d=brushhole,h=height+(thickness/2));
|
||||
// Drain Hole
|
||||
rotate([0,0,(360/brushes)*i]) translate([radius,0,-thickness/2]) cylinder(d=drainholediam,h=thickness);
|
||||
}
|
||||
|
||||
// Flatten bottom some to make for better print adhesion
|
||||
translate([-(radius*1.5),-(radius*1.5),-((thickness/2)+floorthickness)]) cube([radius*3,radius*3,thickness/2]);
|
||||
}
|
75
Double Helix Toothbrush Holder Standard Revision.scad
Normal file
75
Double Helix Toothbrush Holder Standard Revision.scad
Normal file
@ -0,0 +1,75 @@
|
||||
/* --------------------------------------------------------------------------------------- *
|
||||
* Double Helix Toothbrush Holder Standard Revision - Copyright Matthew McClain 2024 *
|
||||
* MCGIT : https://mcgit.place/MatCat-Models/Double_Helix_Toothbrush_Holder *
|
||||
* Printables: https://www.printables.com/model/713927-double-helix-toothbrush-holder *
|
||||
* *
|
||||
* This project is licensed as such: *
|
||||
* You are free to use this code for personal use. If you alter or include this code *
|
||||
* in your own projects you must include credit to my name and a link to this project *
|
||||
* either to the printables.com page, or mcgit repository. *
|
||||
* Commercial use is prohibited without a commercial license. This includes either *
|
||||
* selling the code or model files derived from the code, as well as printing for *
|
||||
* the purpose of selling. I am more then happy to offer a commerical license for *
|
||||
* a reasonable offer. Please contact me via printables.com or mcgit if you are *
|
||||
* interested in a commercial license. *
|
||||
* *
|
||||
* Parameters: *
|
||||
* There are 9 parameters to this model as follows, *
|
||||
* *
|
||||
* height : The height of the helix in mm. The total model height will be *
|
||||
* this height + thickness/2 +1-2 *
|
||||
* steps : This setting will control the granularity of the design, a lower number*
|
||||
* will result in smoother model but take much longer to render *
|
||||
* radius : The radius of the entire toothbrush holder *
|
||||
* thickness : The radius of the helix spirals *
|
||||
* brushhole : This is the diameter of the hole the toothbrish will sit in *
|
||||
* tubethickness : This will be the tube wall thickness of the toothbrush holder *
|
||||
* floorthickness: The thickness from the bottom of the model to floor of brush tube *
|
||||
* drainholediam : The diameter of the drain hole at the buttom of each brush tube *
|
||||
* brushes : Total number of toothbrushes the holder will have *
|
||||
* *
|
||||
* --------------------------------------------------------------------------------------- */
|
||||
|
||||
$fn = 60;
|
||||
height = 100; // This is the total height of the toothbrush holder
|
||||
steps = 3; // Number of steps to take to get to height
|
||||
radius = 25; // This is the total radius of the tothbrush holder
|
||||
thickness = 20; // This is the thickness of the toothbrush holder twists
|
||||
brushhole = 16; // This is the thickness of the hole a toothbrush will sit in
|
||||
tubethickness = 2; // This is the wall thickness of the toothbrush tube walls
|
||||
floorthickness = 2; // How thick should the floor be on the bottom of the holder
|
||||
drainholediam = 5; // Diamater of drain hole at bottom of brush holder tubes
|
||||
brushes = 6; // Total number of brushes
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
for (i=[0:steps:height-steps]) {
|
||||
// Twist 1
|
||||
hull() {
|
||||
rotate([0,0,(360*i)/height]) translate([radius,0,i]) sphere(d=thickness);
|
||||
rotate([0,0,(360*(i+steps))/height]) translate([radius,0,i+steps]) sphere(d=thickness);
|
||||
}
|
||||
// Twist 2
|
||||
hull() {
|
||||
rotate([0,0,(360*(i-(height/2)))/height]) translate([radius,0,i]) sphere(d=thickness);
|
||||
rotate([0,0,(360*((i+steps)-(height/2)))/height]) translate([radius,0,i+steps]) sphere(d=thickness);
|
||||
}
|
||||
}
|
||||
// Base Ring
|
||||
rotate_extrude(convexity=10) translate([radius,0,0]) circle(d=thickness);
|
||||
// Top Ring
|
||||
translate([0,0,height]) rotate_extrude(convexity=10) translate([radius,0,0]) circle(d=thickness);
|
||||
// Toothbrush pillar
|
||||
for (i=[0:brushes-1]) {
|
||||
rotate([0,0,(360/brushes)*i]) translate([radius,0,0]) cylinder(d=brushhole+(tubethickness*2),h=height);
|
||||
}
|
||||
}
|
||||
// Toothbrush Hole
|
||||
for (i=[0:brushes-1]) {
|
||||
rotate([0,0,(360/brushes)*i]) translate([radius,0,floorthickness]) cylinder(d=brushhole,h=height+(thickness/2));
|
||||
// Drain Hole
|
||||
rotate([0,0,(360/brushes)*i]) translate([radius,0,-thickness/2]) cylinder(d=drainholediam,h=thickness);
|
||||
}
|
||||
// Flatten bottom some to make for better print adhesion
|
||||
translate([-(radius*1.5),-(radius*1.5),-((thickness/2)+floorthickness)]) cube([radius*3,radius*3,thickness/2]);
|
||||
}
|
15
README.md
15
README.md
@ -1,7 +1,16 @@
|
||||
# Double Helix Toothbrush Holder Oral-B Revision
|
||||
|
||||
MCGIT : https://mcgit.place/MatCat-Models/Double_Helix_Toothbrush_Holder
|
||||
Printables: https://www.printables.com/model/713927-double-helix-toothbrush-holder
|
||||
|
||||
Copyright Matthew McClain 2024
|
||||
|
||||
This is a fun decorative toothbrush holder based on the idea of the DNA double helix. This model is fully parametric using OpenSCAD. There are 2 OpenSCAD files included, one is a standard toothbrush holder designed to hold normal standard toothbrushes, and an Oral-B version designed to hold Oral-B electric toothbrushes. There are STL models included for 2-6 standard toothbrushes, and for 2-5 Oral-B toothbrushes.
|
||||
|
||||
Note on using OpenSCAD parametrics: This is actually a fairly complex model to render, it may take a while (up to an hour on slower systems), you can speed this up by increasing the step parameter, or decreasing the $fn parameter, though keep in mind the more you adjust those parameters the more blocky / low poly the result will be, and inversely the smoother the output will be, at a sacrifice of time taken to render.
|
||||
|
||||
For printing support should not be required on most models, though on versions with lower toothbrush tubes it may be required only on the very top ring.
|
||||
|
||||
## License
|
||||
|
||||
You are free to use this code for personal use. If you alter or include this code in your own projects you must include credit to my name and a link to this project either to the printables.com page, or mcgit repository.
|
||||
@ -14,11 +23,13 @@ Copyright Matthew McClain 2024
|
||||
|
||||
There are 6 parameters to this model as follows
|
||||
|
||||
* height: The height of the helix in mm. The total model height will be
|
||||
this height + thickness/2 +1
|
||||
* height: The height of the helix in mm. The total model height will be this height + thickness/2 +1-2
|
||||
* steps: This setting will control the granularity of the design, a lower number will result in smoother model but take much longer to render
|
||||
* radius: The radius of the entire toothbrush holder
|
||||
* thickness: The radius of the helix spirals
|
||||
* brushhole: This is the diameter of the hole the toothbrish will sit in
|
||||
* tubethickness: This will be the tube wall thickness of the toothbrush holder
|
||||
* floorthickness: The thickness from the bottom of the model to floor of brush tube
|
||||
* drainholediam: The diameter of the drain hole at the buttom of each brush tube
|
||||
* brushes: Total number of toothbrushes the holder will have
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user