/* * H E X A C O N E */ // ======================================================= #declare Benz_Cone_Base = object { #local RA = 0.125; #local RB = 0.001; union { cone { 0, RA, y, RB } // cylinder { 0, -0.08*y, RA*1.25 scale <1, 1, 4> } sphere { 0, RA*1.033 scale <1, 0.7, 6> translate -0.02*y } } } #declare Benz_Cones = object { union { #for (foo, 0, 360, 60) #local E = 0.47; #local Tx = E * sin(radians(foo)); #local Ty = E * cos(radians(foo)); object { Benz_Cone_Base texture { Soft_Silver scale 16.50 } rotate -z*foo translate } #end } } // ------------------------------------------------------ #declare Benz_Tube = object { union { difference { #local RT = 0.30; #local LT = 0.67; cylinder { -z*LT, z*LT, RT } cylinder { -z*2, z*2, RT*0.96 } } sphere { 0, RT*0.39 scale <1, 1, 9> } #for (foo, 0, 360, 20) cylinder { -z, z, 0.06 } #end } texture { Gold_Nugget scale 0.56 } } // ------------------------------------------------------ #declare HexaBenz = object { union { object { Benz_Cones } object { Benz_Tube } } }