The 3D slug heart was my first attempt at 3D-printed jewelry, and I’ve only printed it as a draft in green PLA so far. I wanted to show the director and props people at WEST Performing Arts the possibility of making stage jewelry with a 3D printer, so I designed a simple diamond pendant that can be put on a chain or a cord:

I’ve been playing around a bit with photographing small objects and adding different backgrounds. Here the pendant was photographed on a white background, the background was erased, and a blue backdrop was added.

Here the gold pendant was photographed on a black, textured background, and the background was blurred to make the diamond look shinier.
The diamond itself is a simple piece of OpenSCAD code:
module triangle(side=1)
// equilateral triangle centered at (0,0), with first vertex in +x direction
{ circle(r=side/sqrt(3), $fn=3);
}
module rounded_triangle(side=1)
// intersection of three circles, centers at corners of triangle
{ intersection()
{ translate([side/sqrt(3),0]) circle(r=side,$fn=60);
translate([-side/(2*sqrt(3)), side/2]) circle(r=side, $fn=60);
translate([-side/(2*sqrt(3)), -side/2]) circle(r=side, $fn=60);
}
}
module beam(side=1, length=3, center=false)
// triangular beam from (0,0,0) to (0,0,length).
// (0,0,-length/2) to (0,0,length/2) if center is set.
{ linear_extrude(height=length, center=center) triangle(side=side);
}
module rounded_beam(side=1, length=3, center=false)
// rounded_triangle beam from (0,0,0) to (0,0,length).
// (0,0,-length/2) to (0,0,length/2) if center is set.
{ linear_extrude(height=length, center=center) rounded_triangle(side=side);
}
module chopped_beam(x=13.5, y=27, side=20)
// triangular beam from (x,0,0) to (0,y,0), side-wide,
// sitting on top of x,y plane and staying in 1st quadrant.
// center line of beam directly above (x,0) to (0.y)
{
intersection()
{ cube(abs(x)+abs(y)+side);
translate([x/2, y/2, side/(2*sqrt(3))]) // slide out and raise
rotate([0,0,atan2(y,-x)]) // beam parallel to (x,0), (y,0)
rotate([0,-90,0]) // beam along x-axis
beam(side=side, center=true,
length = 2*(abs(x)+abs(y)+side));
}
}
module diamond(width=50, height=100, side=20, hole=4)
{
length = sqrt( height*height + width*width)/2;
x = width /2 - (length/height) * side;
y = height/2 - (length/width)*side;
difference()
{ union()
{
chopped_beam(x=x, y=y, side=side);
mirror([0,1,0]) chopped_beam(x=x, y=y, side=side);
mirror([1,0,0]) chopped_beam(x=x, y=y, side=side);
mirror([0,1,0]) mirror([1,0,0]) chopped_beam(x=x, y=y, side=side);
}
translate([0, y, side/(2*sqrt(3))])
rotate([0,-90,0])
rounded_beam(side=hole, length=width, center=true);
}
}
diamond();
I made a triangular beam, rotated it into position and chopped it down to a single quadrant, then mirrored it to make the diamond. The hole for the cord or chain is made with a rounded triangle rather than a circle, so that there is no flat spot on top to cause drooping of the filament.
I have released this design on Thingiverse: https://www.thingiverse.com/thing:3753904
Like this:
Like Loading...