// Last edited on 2019-06-29 00:25:15 by jstolfi // Fume hood project #version 3.7; global_settings{ max_trace_level 6 assumed_gamma 1.0 } background{ color rgb < 0.75, 0.80, 0.85 > } #declare groundplane = box{ <-2000,-2000,-10>, <+2000,+2000,-0.1> } #include "eixos.inc" #include "fume_hood.inc" #include "fume_hood_textures.inc" // Global variables: #declare xplode = 0.0; // 150.0; // Explosion distance. #declare dropen = 150.0; // 150.0; // Max drawer open amount. #declare small_th = 1.0; // Small tube wall thickness. #declare big_th = 1.5; // Large tube wall thickness. #declare tube_wd = 20; // Metalon tubes have square section with this side. #declare tube_or = 2.0; // Outer radius of tube edge bend. #declare plate_th = 5.0; // Outer plate thickness. #declare plate_xins = 1.0; // Outer plate inset from frame rounding. #declare doorpane_th = 3.0; // Thickness of transparent plastic of sliding door. #declare show_drawers = 1; #declare show_plates = 1; #declare door_open = 1; union{ // object{ eixos(1000.0, 2.5) } // object{ groundplane texture{ tx_floor } translate -3*xplode*z } // object{ fume_hood_bar_L( 100, 40,70,10, 30,20, tx_thick ) translate 0*50*y } // object{ fume_hood_bar_L( 100, 40,70,10, 20,15, tx_thick ) translate 1*50*y } // object{ fume_hood_bar_L( 100, 40,70,10, 15, 5, tx_thick ) translate 2*50*y } // object{ fume_hood_bar_L( 100, 40,70,10, 10, 5, tx_thick ) translate 3*50*y } // object{ fume_hood_bar_L( 100, 40,70,10, 7,15, tx_thick ) translate 4*50*y } // object{ fume_hood_bar_L( 100, 40,70,10, 5, 5, tx_thick ) translate 5*50*y } // object{ fume_hood_bar_L( 100, 40,70,10, 0, 5, tx_thick ) translate 6*50*y } // object{ fume_hood_bar_L( 100, 40,70,10, 0, 0, tx_thick ) translate 7*50*y } // object{ fume_hood_bar_T( 100, 40,70,10, 10, tx_thick ) translate 0*50*y } // object{ fume_hood_bar_T( 100, 40,70,10, 5, tx_thick ) translate 1*50*y } // object{ fume_hood_bar_T( 100, 40,70,10, 0, tx_thick ) translate 2*50*y } // object{ fume_hood_bar_B( 100, 40,70, 20, tx_thick ) translate 0*50*y } // object{ fume_hood_bar_B( 100, 40,70, 15, tx_thick ) translate 1*50*y } // object{ fume_hood_bar_B( 100, 40,30, 15, tx_thick ) translate 2*50*y } // object{ fume_hood_bar_B( 100, 40,70, 0, tx_thick ) translate 3*50*y } // object{ fume_hood_bar_B( 100, 40,40, 20, tx_thick ) translate 4*50*y } // object{ fume_hood_bar_M( 100, 40,70,5, 20,15, tx_thick ) translate 0*50*y } // object{ fume_hood_bar_M( 100, 40,70,5, 10,15, tx_thick ) translate 1*50*y } // object{ fume_hood_bar_M( 100, 40,70,5, 15,10, tx_thick ) translate 2*50*y } // object{ fume_hood_bar_M( 100, 40,70,5, 10, 0, tx_thick ) translate 3*50*y } // object{ fume_hood_bar_M( 100, 40,40,5, 20,15, tx_thick ) translate 4*50*y } // object{ fume_hood_bar_M( 100, 40,40,5, 0,15, tx_thick ) translate 5*50*y } // object{ fume_hood_iron( 200,100, "L", 40,70,5, 15,10, -45,60, 1, tx_thick ) translate 1*50*y } // object{ fume_hood_iron( 200,100, "T", 40,70,5, 15,10, -45,60, 1, tx_thick ) translate 2*50*y } // object{ fume_hood_iron( 200,100, "B", 40,70,5, 15,10, -45,60, 1, tx_thick ) translate 3*50*y } // object{ fume_hood_iron( 200,100, "M", 40,70,5, 15,10, -45,60, 1, tx_thick ) translate 4*50*y } // object{ fume_hood_frame_slab(600,640, 20,20, 1) } // object{ fume_hood_frame_side( <600,0,1800>,900, 20,20) } // object{ fume_hood_frame_walls( <600,640,1800>,900,30, 20,40) } // object{ fume_hood_frame(<600,640,30>,900, 0, 1) } // object{ fume_hood_plates(<600,640,1800>, 1) } // object{ fume_hood_plates_door(<600,640,1800>,900,500,600, 1, 1) } // #local dr_dims = array[6] { // < 500,500,200 >, < 500,500,100 >, < 500,500,100 >, < 500,500,100 >, // < 500,500,75 >, < 500,500,75 > // } // object{ fume_hood_plates_front(<600,640,1800>,900,dr_dims,150, 1) } // object{ fume_hood_counter(1) } object{ fume_hood(show_drawers, show_plates) } } #include "camlight.inc" #local view = 9; #if (view = 1) // Closeup of bar samples #declare centro_cena = < 50.0, 150.0, 10.00 >; #declare raio_cena = 270.0; #declare dir_camera = < 14.00, 12.00, 4.00 >; #declare dist_camera = 5*raio_cena; #elseif (view = 2) // Closeup of bottom back left corner: #declare centro_cena = < 10.0, 10.00, 10.00 >; #declare raio_cena = 200.0; #declare dir_camera = < -14.00, 4.00, 4.00 >; #declare dist_camera = 5*raio_cena; #elseif (view = 3) // Closeup of back left corner at countertop height: #declare centro_cena = < 10.0, 10.00, 850.00 >; #declare raio_cena = 150.0; #declare dir_camera = < -14.00, 4.00, 4.00 >; #declare dist_camera = 5*raio_cena; #elseif (view = 4) // Closeup of bottom front right corner: #declare centro_cena = < 600.0, 640.00, 10.00 >; #declare raio_cena = 100.0; #declare dir_camera = < 14.00, 12.00, 4.00 >; #declare dist_camera = 5*raio_cena; #elseif (view = 5) // Closeup of top front right corner: #declare centro_cena = < 600.0, 640.00, 1800.00 >; #declare raio_cena = 200.0; #declare dir_camera = < 14.00, 12.00, 4.00 >; #declare dist_camera = 5*raio_cena; #elseif (view = 6) // Closeup of front right corner at countertop height: #declare centro_cena = < 600.0, 640.00, 850.00 >; #declare raio_cena = 150.0; #declare dir_camera = < 14.00, 12.00, 4.00 >; #declare dist_camera = 5*raio_cena; #elseif (view = 7) // Closeup of front left corner at countertop height: #declare centro_cena = < 600.0, 10.00, 850.00 >; #declare raio_cena = 100.0; #declare dir_camera = < 14.00, -12.00, 4.00 >; #declare dist_camera = 5*raio_cena; #elseif (view = 8) // Horizontal frame slab or counter: #declare centro_cena = < 300.0, 320.00, 10.00 >; #declare raio_cena = 800.0; #declare dir_camera = < 14.00, 12.00, 4.00 >; #declare dist_camera = 5*raio_cena; #elseif (view = 9) // Full fume hood: #declare centro_cena = < 300.0, 320.00, 850.00 >; #declare raio_cena = 1400.0; #declare dir_camera = < 14.00, 12.00, 4.00 >; #declare dist_camera = 5*raio_cena; #elseif (view = 10) // Full fume hood, flat left side view: #declare centro_cena = < 300.0, 320.00, 850.00 >; #declare raio_cena = 1400.0; #declare dir_camera = < 0.00, -1.00, 0.00 >; #declare dist_camera = 1000*raio_cena; #elseif (view = 11) // Full fume hood, flat front side view: #declare centro_cena = < 300.0, 320.00, 850.00 >; #declare raio_cena = 1400.0; #declare dir_camera = < +1.00, 0.00, 0.00 >; #declare dist_camera = 1000*raio_cena; #end #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)