#declare chrome = texture { pigment { color rgbf < 0.5 0.5 0.5 0>} finish { diffuse 0.1 specular 0.5 reflection 0.7 roughness 0.005 metallic } } //#declare chrome = texture { pigment { color rgbf < 0.5 0.5 0.5 0>} finish { diffuse 0.4 specular 0.2 reflection 0.4 roughness 0.005 metallic } } #declare whiteplastic = texture { pigment { color rgb <1,1,1> } finish { diffuse 0.8 } } #declare redplastic = texture { pigment { color rgb <1,0,0> } finish { diffuse 0.8 } } #declare blackplastic = texture { pigment { color rgb <0.25,.25,.25> } finish { diffuse 0.8 } } #declare porcelain = texture { pigment { color rgbf <0.98 0.98 0.98 0> } finish { diffuse 0.8 specular 0.4 roughness 0.02 reflection 0.1 } } #declare sigma_therm = union { // main body cylinder { <0,0,0> <0,0,0.3> 4 } torus { 4 0.3 rotate 90*x } cylinder { <0,0,0> <0,0,0.6> 3.5 } torus { 3.5 0.3 rotate 90*x translate 0.3*z} //temperature gauge cylinder { <0,0,0> <0,0,0.7> 2.1 texture { blackplastic } } box { <-0.1,1,0> <0.1,1.3,0.75> rotate 40*z texture { redplastic } } text { ttf "cyrvetic.ttf", "70", 0.01 0 scale 0.3 rotate 180*y translate <0.3,1.7,0.71> rotate (22.5+3*45)*z texture { whiteplastic } } text { ttf "cyrvetic.ttf", "80", 0.01 0 scale 0.3 rotate 180*y translate <0.3,1.7,0.71> rotate (22.5+2*45)*z texture { whiteplastic } } text { ttf "cyrvetic.ttf", "90", 0.01 0 scale 0.3 rotate 180*y translate <0.3,1.7,0.71> rotate (22.5+1*45)*z texture { whiteplastic } } text { ttf "cyrvetic.ttf", "100", 0.01 0 scale 0.3 rotate 180*y translate <0.3,1.7,0.71> rotate (22.5+0*45)*z texture { whiteplastic } } text { ttf "cyrvetic.ttf", "110", 0.01 0 scale 0.3 rotate 180*y translate <0.3,1.7,0.71> rotate (22.5+-1*45)*z texture { whiteplastic } } text { ttf "cyrvetic.ttf", "120", 0.01 0 scale 0.3 rotate 180*y translate <0.3,1.7,0.71> rotate (22.5+-2*45)*z texture { whiteplastic } } text { ttf "cyrvetic.ttf", "130", 0.01 0 scale 0.3 rotate 180*y translate <0.3,1.7,0.71> rotate (22.5+-3*45)*z texture { whiteplastic } } text { ttf "cyrvetic.ttf", "140", 0.01 0 scale 0.3 rotate 180*y translate <0.3,1.7,0.71> rotate (22.5+-4*45)*z texture { whiteplastic } } //temperature knob cone { <0,0,0> 1.3 <0,0,2> 0.35 } cylinder { <0,0,0> <0,0,2.5> 0.2 } cylinder { <0,0,2.4> <0,0,2.8> 0.45 } torus { 0.45 0.2 rotate 90*x translate 2.6*z } sphere { <0,0,0> 0.4 scale 0.15*z translate <0,0,2.8> texture { porcelain } } cylinder { <0,0,2.6> <0.7,0.7,2.6> 0.15 } cylinder { <0,0,2.6> <0.7,-0.7,2.6> 0.15 } cylinder { <0,0,2.6> <-0.7,0.7,2.6> 0.15 } cylinder { <0,0,2.6> <-0.7,-0.7,2.6> 0.15 } sphere_sweep { linear_spline 2 <0.85,0.85,2.6> 0.27 <0.6,0.6,2.6> 0.15 } sphere_sweep { linear_spline 2 <0.85,-0.85,2.6> 0.27 <0.6,-0.6,2.6> 0.15 } sphere_sweep { linear_spline 2 <-0.85,0.85,2.6> 0.27 <-0.6,0.6,2.6> 0.15 } sphere_sweep { linear_spline 2 <-0.85,-0.85,2.6> 0.27 <-0.6,-0.6,2.6> 0.15 } //top faucet cylinder { <0,2.75,0> <0,2.75,1.25> 0.2 } difference { sphere_sweep { linear_spline 4, <0,2.75,1.25> 0.32 <0,3.25,1.25> 0.15 <0,3.75,1.25> 0.15 <0,4,1.25> 0.25 } box { <-1,4,0> <1,5,3> } } //bottom faucet cylinder { <0,-2.75,0> <0,-2.75,1.25> 0.2 } difference { sphere_sweep { linear_spline 4, <0,-2.75,1.25> 0.32 <0,-3.25,1.25> 0.15 <0,-3.75,1.25> 0.15 <0,-4,1.25> 0.25 } box { <-1,-4,0> <1,-5,3> } } texture { chrome } }