307 lines
5.9 KiB
OpenSCAD
307 lines
5.9 KiB
OpenSCAD
// Clown made with spheres and cubes
|
|
$fn = 32;
|
|
|
|
// Body
|
|
translate([0, 0, 30])
|
|
scale([1, 0.8, 1.2])
|
|
sphere(r = 25);
|
|
|
|
// Head
|
|
translate([0, 0, 70])
|
|
sphere(r = 18);
|
|
|
|
// Red nose
|
|
translate([0, 18, 70])
|
|
color("red")
|
|
sphere(r = 5);
|
|
|
|
// Eyes
|
|
translate([-7, 15, 75])
|
|
color("white")
|
|
sphere(r = 4);
|
|
translate([7, 15, 75])
|
|
color("white")
|
|
sphere(r = 4);
|
|
|
|
// Pupils
|
|
translate([-7, 18, 76])
|
|
color("black")
|
|
sphere(r = 2);
|
|
translate([7, 18, 76])
|
|
color("black")
|
|
sphere(r = 2);
|
|
|
|
// Hat (cube)
|
|
translate([-12, -5, 85])
|
|
color("purple")
|
|
cube([24, 10, 25]);
|
|
|
|
// Hat brim
|
|
translate([-18, -8, 82])
|
|
color("purple")
|
|
cube([36, 16, 4]);
|
|
|
|
// Bow tie
|
|
translate([-10, 12, 48])
|
|
color("red")
|
|
cube([8, 4, 6]);
|
|
translate([2, 12, 48])
|
|
color("red")
|
|
cube([8, 4, 6]);
|
|
translate([-2, 13, 49])
|
|
color("darkred")
|
|
cube([4, 3, 4]);
|
|
|
|
// Arms (spheres chain)
|
|
for (i = [0:3]) {
|
|
translate([-30 - i*8, 0, 40 - i*5])
|
|
color("orange")
|
|
sphere(r = 6);
|
|
translate([30 + i*8, 0, 40 + i*5])
|
|
color("orange")
|
|
sphere(r = 6);
|
|
}
|
|
|
|
// Hands (cubes)
|
|
translate([-62, -5, 15])
|
|
color("peachpuff")
|
|
cube([10, 10, 10]);
|
|
|
|
// Right hand holding rabbit (raised up)
|
|
translate([52, -5, 55])
|
|
color("peachpuff")
|
|
cube([10, 10, 10]);
|
|
|
|
// Legs
|
|
translate([-12, -5, 0])
|
|
color("blue")
|
|
cube([10, 10, 25]);
|
|
translate([2, -5, 0])
|
|
color("blue")
|
|
cube([10, 10, 25]);
|
|
|
|
// Shoes (big clown shoes)
|
|
translate([-18, -5, -8])
|
|
color("red")
|
|
scale([1.5, 1, 0.5])
|
|
cube([16, 12, 16]);
|
|
translate([2, -5, -8])
|
|
color("red")
|
|
scale([1.5, 1, 0.5])
|
|
cube([16, 12, 16]);
|
|
|
|
// Buttons on body
|
|
for (z = [35, 45, 55]) {
|
|
translate([0, 20, z])
|
|
color("yellow")
|
|
sphere(r = 3);
|
|
}
|
|
|
|
// Hair puffs (spheres on sides of head)
|
|
translate([-20, 0, 75])
|
|
color("orange")
|
|
sphere(r = 8);
|
|
translate([20, 0, 75])
|
|
color("orange")
|
|
sphere(r = 8);
|
|
translate([-15, -12, 80])
|
|
color("orange")
|
|
sphere(r = 6);
|
|
translate([15, -12, 80])
|
|
color("orange")
|
|
sphere(r = 6);
|
|
|
|
// Smile (curved arrangement of small spheres)
|
|
for (a = [-40:20:40]) {
|
|
translate([sin(a)*10, 16, 62 + cos(a)*3])
|
|
color("darkred")
|
|
sphere(r = 1.5);
|
|
}
|
|
|
|
// Pet Rabbit (held by clown's right hand)
|
|
translate([57, 0, 70]) {
|
|
// Rabbit body
|
|
color("white")
|
|
scale([0.8, 1, 1.2])
|
|
sphere(r = 8);
|
|
|
|
// Rabbit head
|
|
translate([0, 5, 10])
|
|
color("white")
|
|
sphere(r = 6);
|
|
|
|
// Rabbit ears (long spheres)
|
|
translate([-3, 5, 18])
|
|
color("white")
|
|
scale([0.3, 0.3, 1])
|
|
sphere(r = 8);
|
|
translate([3, 5, 18])
|
|
color("white")
|
|
scale([0.3, 0.3, 1])
|
|
sphere(r = 8);
|
|
|
|
// Inner ears (pink)
|
|
translate([-3, 6, 18])
|
|
color("pink")
|
|
scale([0.15, 0.15, 0.8])
|
|
sphere(r = 8);
|
|
translate([3, 6, 18])
|
|
color("pink")
|
|
scale([0.15, 0.15, 0.8])
|
|
sphere(r = 8);
|
|
|
|
// Rabbit eyes
|
|
translate([-2, 9, 12])
|
|
color("black")
|
|
sphere(r = 1.2);
|
|
translate([2, 9, 12])
|
|
color("black")
|
|
sphere(r = 1.2);
|
|
|
|
// Rabbit nose
|
|
translate([0, 10, 10])
|
|
color("pink")
|
|
sphere(r = 1);
|
|
|
|
// Rabbit tail (fluffy ball)
|
|
translate([0, -3, -5])
|
|
color("white")
|
|
sphere(r = 4);
|
|
|
|
// Front paws
|
|
translate([-4, 4, -2])
|
|
color("white")
|
|
scale([0.6, 0.8, 1])
|
|
sphere(r = 3);
|
|
translate([4, 4, -2])
|
|
color("white")
|
|
scale([0.6, 0.8, 1])
|
|
sphere(r = 3);
|
|
|
|
// Back paws (bigger)
|
|
translate([-5, 0, -6])
|
|
color("white")
|
|
scale([0.8, 1.2, 0.6])
|
|
sphere(r = 4);
|
|
translate([5, 0, -6])
|
|
color("white")
|
|
scale([0.8, 1.2, 0.6])
|
|
sphere(r = 4);
|
|
}
|
|
// Clown made with spheres and cubes
|
|
$fn = 32;
|
|
|
|
// Body
|
|
translate([0, 0, 30])
|
|
scale([1, 0.8, 1.2])
|
|
sphere(r = 25);
|
|
|
|
// Head
|
|
translate([0, 0, 70])
|
|
sphere(r = 18);
|
|
|
|
// Red nose
|
|
translate([0, 18, 70])
|
|
color("red")
|
|
sphere(r = 5);
|
|
|
|
// Eyes
|
|
translate([-7, 15, 75])
|
|
color("white")
|
|
sphere(r = 4);
|
|
translate([7, 15, 75])
|
|
color("white")
|
|
sphere(r = 4);
|
|
|
|
// Pupils
|
|
translate([-7, 18, 76])
|
|
color("black")
|
|
sphere(r = 2);
|
|
translate([7, 18, 76])
|
|
color("black")
|
|
sphere(r = 2);
|
|
|
|
// Hat (cube)
|
|
//translate([-12, -5, 85])
|
|
//color("purple")
|
|
//cube([24, 10, 25]);
|
|
|
|
// Hat brim
|
|
translate([-8, -8, 82])
|
|
color("green")
|
|
cube([36, 16, 4]);
|
|
|
|
// Bow tie
|
|
translate([-10, 12, 48])
|
|
color("red")
|
|
cube([8, 4, 6]);
|
|
translate([2, 12, 48])
|
|
color("red")
|
|
cube([8, 4, 6]);
|
|
translate([-2, 13, 49])
|
|
color("darkred")
|
|
cube([4, 3, 4]);
|
|
|
|
// Arms (spheres chain)
|
|
for (i = [0:3]) {
|
|
translate([-30 - i*8, 0, 40 - i*5])
|
|
color("orange")
|
|
sphere(r = 6);
|
|
translate([30 + i*8, 0, 40 - i*5])
|
|
color("orange")
|
|
sphere(r = 6);
|
|
}
|
|
|
|
// Hands (cubes)
|
|
translate([-62, -5, 15])
|
|
color("peachpuff")
|
|
cube([10, 10, 10]);
|
|
translate([52, -5, 15])
|
|
color("peachpuff")
|
|
cube([10, 10, 10]);
|
|
|
|
// Legs
|
|
translate([-12, -5, 0])
|
|
color("blue")
|
|
cube([10, 10, 25]);
|
|
translate([2, -5, 0])
|
|
color("blue")
|
|
cube([10, 10, 25]);
|
|
|
|
// Shoes (big clown shoes)
|
|
translate([-18, -5, -8])
|
|
color("red")
|
|
scale([1.5, 1, 0.5])
|
|
cube([16, 12, 16]);
|
|
translate([2, -5, -8])
|
|
color("red")
|
|
scale([1.5, 1, 0.5])
|
|
cube([16, 12, 16]);
|
|
|
|
// Buttons on body
|
|
for (z = [35, 45, 55]) {
|
|
translate([0, 20, z])
|
|
color("yellow")
|
|
sphere(r = 3);
|
|
}
|
|
|
|
// Hair puffs (spheres on sides of head)
|
|
translate([-20, 0, 75])
|
|
color("orange")
|
|
sphere(r = 8);
|
|
translate([20, 0, 75])
|
|
color("orange")
|
|
sphere(r = 8);
|
|
translate([-15, -12, 80])
|
|
color("orange")
|
|
sphere(r = 6);
|
|
translate([15, -12, 80])
|
|
color("orange")
|
|
sphere(r = 6);
|
|
|
|
// Smile (curved arrangement of small spheres)
|
|
for (a = [-40:20:40]) {
|
|
translate([sin(a)*10, 16, 62 + cos(a)*3])
|
|
color("darkred")
|
|
sphere(r = 1.5);
|
|
} |