// Egg shape module egg() { color("red") scale([1, 1, 1.4]) // Scale the sphere to elongate along the Z-axis sphere(r=17, $fn=75); // Sphere with radius 15 } // Eye shape module eye1() { color("white") scale([2, 0.8, 1.3]) // Scale the sphere to elongate along the Z-axis sphere(r=3, , $fn=50); // Sphere with radius 15 } module minieye1() { color("blue") scale([1.4, 1, 1.3]) // Scale the sphere to elongate along the Z-axis sphere(r=1.5, , $fn=50); // Sphere with radius 15 } module eye2() { color("white") scale([2, 0.8, 1.3]) // Scale the sphere to elongate along the Z-axis sphere(r=3, , $fn=50); } module minieye2() { color("blue") scale([1.4, 1, 1.3]) // Scale the sphere to elongate along the Z-axis sphere(r=1.5, , $fn=50); // Sphere with radius 15 } translate([6.5,14,10]) rotate([0,18,0]) eye1(); translate([-6.5,14,10]) rotate([0,-18,0]) eye2(); translate([7.5,16,10]) minieye1(); translate([-7.5,16,10]) minieye2(); module eyebrow1() { color("red") cylinder(h = 11, r1 = 1.5, r2 = 1.5, center = false, $fn=50); sphere(r=1.5, $fn=25); } module eyebrow2() { color("red") cylinder(h = 11, r1 = 1.5, r2 = 1.5, center = false, $fn=50); sphere(r=1.5, $fn=25); } module hat() { color("gold") cube(5); } module nose() { color("red") cylinder(h = 10, r1 = 3, r2 = 2, center = false, $fn=50); scale([1,1,0.5]) sphere(r=3, $fn=50); } module mouthshape() { color("gray") translate([0,15,-7]) scale([3,1.5,1.2]) sphere(r=5, $fn=50); } module egghead() { difference() { egg(); mouthshape(); } } translate([-2.5,-2.5,21]) hat(); translate([0,19,2]) rotate([35,0,0]) nose(); translate([13,12,10.5]) rotate([0,-60,0]) eyebrow1(); translate([-13,12,10.5]) rotate([0,60,0]) eyebrow2(); module ringouter() { color("yellow") cylinder(r=3, h=1.5, $fn=50); // Outer ring with small height } module ringinner() { color("yellow") cylinder(r=2.5, h=10.7, $fn=50); // Inner ring with small height (slightly taller to ensure proper subtraction) } module ring() { difference() { ringouter(); // Outer cylinder ringinner(); // Subtract inner cylinder } } // Render the ring as a 3D object translate([0, 0, 28]) rotate([90, 0, 0]) { // Position the ring ring(); } egghead();