#include "colors.inc" #include "metals.inc" #declare eps = 1e-6; global_settings { assumed_gamma 1.0 ambient_light rgb<0.5, 0.5, 0.5> } background { color rgb<0.2, 0.4, 0.8> } light_source { <+200, 200, -00> color White } light_source { <-200, 120, -171> color White*0.5 } camera { location <-60, 12, -40> look_at <40, 10, 0> angle 30 } // #declare schlot = union { // #local h = 0; // #while (h < 40) // #local aa = 0; // #while (aa < 360) // box { // // } // #local aa += 20 // #end // #local h = h + 0.2 // #end // } #declare schlot = union { difference { cone { <0, 0, 0> 1.5 <0, 40, 0> 1.2 } cone { <0, 0-eps, 0> 1.2 <0, 40+eps, 0> 0.94 } pigment { color White } } #local h = 0; #while (h < 40) #local aa = 0; #local rr = 1.52 - h * .3 / 40; #local w = rr * 6 * 20 / 360; // 6 = a bit less then 2pi #while (aa < 360) box { , texture { pigment {color Red} } rotate <0, aa + h * 50, 0> } #local aa = aa + 20; #end #local h = h + 0.2; #end } #declare foerderband = union { union { cylinder {<0, 0, -1>, <20, 0, -1>, 0.1 } cylinder {<0, 0, +1>, <20, 0, +1>, 0.1 } sphere {< 0, 0, -1>, 0.1 } sphere {<20, 0, -1>, 0.1 } sphere {< 0, 0, +1>, 0.1 } sphere {<20, 0, +1>, 0.1 } #local xx = 0; #while (xx <= 20) cylinder { , , 0.2 } #local xx = xx + 1; #end union { box { <0, 0.2, -0.8>, <20, 0.21, +0.8> } box { <0, -0.2, -0.8>, <20, -0.21, +0.8> } intersection { cylinder { <0, 0, -0.8>, <0, 0, +0.8>, 0.21 } box { <-0.21, -0.21, -0.8>, <0, +0.21, +0.8> } } intersection { cylinder { <0, 0, -0.8>, <0, 0, +0.8>, 0.21 } box { <+0.21, -0.21, -0.8>, <0, +0.21, +0.8> } translate <20, 0, 0> } pigment { color <0.5, 0.5, 0.5> } } pigment { color <0.7, 0.7, 0.7> } rotate <0, 0, -30> } union { #local xx = sqrt(20*20 - 10*10); cylinder { , , 0.1 } cylinder { , , 0.1 } pigment { color <0.7, 0.7, 0.7> } rotate <0, 0, -30> } } #declare fabrik = union { difference { union { box { <1.5, 0, -5>, <30, 15, 15> } prism { linear_spline 1.5, 30 4 <15, -5>, <15, 15>, <20, 5>, <15, -5> matrix < 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0 > } } union { // Fenster #local xx = 6; #while (xx < 30) box {, } cylinder { , , 1} box {, } cylinder { , , 1} #local xx = xx + 4; #end // Tuer box {<30+eps, 0, 3>, <29-eps, 3, 7>} cylinder { <30+eps, 3, 5>, <29- eps, 3, 5>, 2} // Innenraum box { <2.0, 0, -4>, <29, 15, 14> } // Durchlaesse fuer Foerderbander box {<30+eps, 10, -3.2>, <29-eps, 11.5, -0.8>} box {<30+eps, 10, 13.2>, <29-eps, 11.5, 10.8>} } pigment { brick brick_size <0.5, 0.2, 0.5> mortar 0.02 } } object { foerderband translate <29, 10.5, -2> } object { foerderband translate <29, 10.5, +12> } union { // Tuer box {<-0.05, 0, 3>, <0.05, 3, 7>} cylinder { <-0.05, 3, 5>, <0.05, 3, 5>, 2} translate <29.5, 0, 0> texture { T_Brass_1B } } } object { schlot } object { fabrik } cone { <56, 0, -2>, 10, <56, 5, -2>, 0 texture { pigment { color <0.5, 0.5, 0.2> } } } cone { <56, 0, 12>, 10, <56, 5, 12>, 0 texture { pigment { color <0.2, 0.2, 0.2> } } } box { <-10, 0, -20>, <70, 0.01, +30> texture { pigment { color <0.3, 0.3, 0.2> } } } plane { <0, 1, 0> 0 pigment { color <0.2, 0.8, 0> } }