Instantly share code, notes, and snippets.

Embed
What would you like to do?
function main() {
return credit();
}
function credit() {
var mainCyl = cylinder({ r: 10, h: 3 });
var upperCyl = cylinder({ r: 8.5, h: 0.5 }).translate([0, 0, 3]);
var lowerCyl = cylinder({ r: 9, h: 1 });
var outerDonut = difference(
cylinder({ r: 7.5, h: 0.5 }).translate([0, 0, 3]),
cylinder({ r: 7, h: 0.5 }).translate([0, 0, 3]));
var innerDonut = difference(
cylinder({ r: 5.5, h: 0.5 }).translate([0, 0, 3]),
cylinder({ r: 5, h: 0.5 }).translate([0, 0, 3]));
slit = cube({ size: [1.6, 0.5, 0.5] }).translate([5.4, 0, 3]);
var triangle = linear_extrude(
{ height: 0.5 },
union(
square(4 * sqrt(2)).rotateZ(45),
square([8, 4]).translate([-4, 0, 0])));
var cut = difference(
linear_extrude(
{ height: 0.5 },
square([9, 2 * sqrt(2)]).rotateZ(45).translate([0, -4, 0])),
cube({ size: [4, 4, 0.5]}).translate([-4, -4, 0]));
var symbol = difference(
union(
cube({ size: [8, 8, 0.5] }).translate([-4, -4, 0]),
triangle,
triangle.rotateZ(180)),
cut.translate([0, 0, 0]));
return union(
difference(mainCyl, lowerCyl),
difference(
upperCyl,
outerDonut,
innerDonut,
slit,
slit.rotateZ(-120)),
symbol.translate([0, 0, 0.5]));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment