A Jewelry Dish for Our New Rings! OpenSCAD Personal Design Project

Intro and Thoughts

Hey! So I designed something that I personally find cool and semi-useful or functional. I like making things that I know I can use. I coded something simple to begin with – a seven-sided twisted cylinder. I used the “linear-extrude” function to complete this task.

First OpenSCAD Print

linear_extrude(height = 60, twist = 90, slices = 40) {

difference() {

offset() {

circle(30, center = true);

$fn=sides;

}

offset() {

circle(25, center = true);

$fn=sides;

}

}

}

To complete this code, I also used the “offset” command, allowing me to create it hollow, but the inside had all the same detail as the outside. I also felt this would be a good place to start as I could work off of it for the second part of the project.

Admittedly, I could have gotten more creative, but I like functional and simple as I said. AND the program was being very uncooperative and constantly freezing.

Leveled-Up OpenSCAD Print

So, for the second part of the project, I leveled up my object by adding more to it. I took it from a fun little cylinder to a useful item – ring holder plate dish. Call it what you want… Here’s the code.

linear_extrude(height, twist = 90, slices = 40) {

difference() {

offset() {

circle(length, center = true);

$fn=sides;

}

offset() {

circle(length-1, center = true);

$fn=sides;

}

}

}

linear_extrude(2) {

circle(length, center = true);

$fn=sides;

}

translate([0,0,2])

linear_extrude(height*2, twist = 90, slices = 40) {

difference() {

offset() {

circle(length/3, center = true);

$fn=sides;

}

offset() {

circle(length/3-1, center = true);

$fn=sides;

}

}

}

Basically, I changed some of the terminologies in the first code that needed to be fixed and then I added many more of that skeleton code. I created a bottom linear extrude to create the bottom of the dish. I then added a center cylinder, just like the original, but different of course. I made it skinnier and taller to – in theory – hold my *multitude* of rings. Here is also a size comparison between the beginning and end product.

Another Redesign

I liked the end product, but it was definitely not perfect. I already went back and edited the code to get me more where I want to be. I have included a copy of the code and a screenshot of the rendering below. I changed it up so that the bowl could accommodate more items securely and the inner cylinder was too wide in the print, so I made it skinnier and taller my manipulating the code a little more. Also, as I was redesigning the object, I made some frill changes to the exterior bowl portion, making it more angular by reducing the slices (from 40 to 4) in the code for it. I like that it is less smooth, more edgy and I just find it more visually appealing.

The reason I felt compelled to redesign the outer side was that it looked very porous, as seen in the pictures. I thought at first this was due to poor printer quality, but I realized it was the turn and slices portion, ie too many slices for that height and turn, making it look crappy. So to fix this visual issue, I reduced the “twist” from 90 degrees to 40 degrees. I am much more satisfied with the look of it. If I had more time, I would print it out with the upgrades and compare. But alas…time escapes me. So we’re all just stuck with the computer renderings.

////////////////////////////////////////////////////////////////////////////////////////
// parameters
length = 30;
width = 20;
height = 10;
sides = 7;

////////////////////////////////////////////////////////////////////////////////////////
// renders

linear_extrude(height*1.75, twist = 40, slices = 4) {
difference() {
offset() {
circle(length, center = true);
$fn=sides;
}
offset() {
circle(length-3, center = true);
$fn=sides;
}
}
}
linear_extrude(2, , twist = 2, slices = 10) {
circle(length, center = true);
$fn=sides;
}
translate([0,0,2])
linear_extrude(height*2.25, twist = 95, slices = 50) {
difference() {
offset() {
circle(length/5, center = true);
$fn=sides;
}
offset() {
circle(length/5-1, center = true);
$fn=sides;
}
}
}

Sharing Link

For the Final Iteration

https://www.thingiverse.com/thing:2708302