#declare pendulum_man = union { //base cylinder { <0,0,0> <0,0,-0.25> 0.65 } cylinder { <0,0,0> <0,0,-0.22> 0.68 } torus { 0.65 0.03 rotate 90*x translate <0,0,-0.22> } cylinder { <0,0,0> <0,0,-0.4> 0.09 } union { //body cylinder { <0,0,-0.41> <0,0,-1> 0.09 } //none of the beams use square cross sections in real toy, but I will difference { union { box { <-3,-0.1,-0.6> <3,0.1,-0.8> } box { <-0.675,-0.15,-0.55> <0.675,0.15,-0.85> } box { <-0.1,-3,-0.6> <0.1,5,-0.8> } box { <-0.15,-0.675,-0.55> <0.15,0.675,-0.85> } } cylinder { <0,0,-0.5> <0,0,-1.5> 0.1 } } //axles cylinder { <-3,0,-0.6> <-3,0,-1.3> 0.09 } cylinder { <3,0,-0.6> <3,0,-1.3> 0.09 } cylinder { <0,-3,-0.6> <0,-3,-1.3> 0.09 } //head cylinder { <0,5,-0.6> <0,5,-0.8> 0.2 } union { //right arm box { <-0.1,0,-0.6> <0.1,-1.875,-0.8> } cylinder { <0,-1.875,-0.6> <0,-1.875,-0.8> 0.2 } //This rotate sets the rotation of the right arm //rotate -3*z translate <3,0,-0.35> } union { //left arm box { <-0.1,0,-0.6> <0.1,-1.875,-0.8> } cylinder { <0,-1.875,-0.6> <0,-1.875,-0.8> 0.2 } //This rotate sets the rotation of the left arm //rotate -3*z translate <-3,0,-0.35> } union { //legs box { <-0.1,0,-0.6> <0.1,-1.875,-0.8> rotate 45*z } cylinder { <0,-1.875,-0.6> <0,-1.875,-0.8> 0.2 rotate 45*z } box { <-0.1,0,-0.6> <0.1,-1.875,-0.8> rotate -45*z } cylinder { <0,-1.875,-0.6> <0,-1.875,-0.8> 0.2 rotate -45*z } //This rotate sets the rotation of the legs //rotate -3*z translate <0,-3,-0.35> } //This rotate sets the rotation of main body //rotate 3*z } }