/* * nouveau projet Thu Dec 5 11:37:05 AM UTC 2024 */ #declare HexaCone_shape = object { #local RA = 0.125; #local RB = 0.001; union { cone { 0, RA, <-1, 0, 0>, RB } cone { 0, RA, < 1, 0, 0>, RB } cone { 0, RA, < 0, 0, 1>, RB } cone { 0, RA, < 0, 0, -1>, RB } cone { 0, RA, < 0, 1, 0>, RB } cone { 0, RA, < 0, -1, 0>, RB } } } #declare HexaCone_body = object { union { difference { object { HexaCone_shape } object { HexaCone_shape scale 0.99 } sphere {0, 0.24 } cylinder { <-1, 0, 0.55>, <1, 0, 0.55>, RA*0.40 } } difference { sphere {0, 0.20 } sphere {0, 0.18 } cylinder {-x, x, 0.10 } cylinder {-y, y, 0.10 } cylinder {-z, z, 0.10 } } light_source { 0, rgb <0.99, 0.05, 0.05> fade_distance 0.99 fade_power 1.58 } } texture { New_Penny } } /* * */ #local Branche_radar = object { #local D1 = 0.08; #local D2 = 0.0035; merge { cone { 0, D2, 0.04*y, 0.00007 } sphere { 0, D2*2.2 scale <1, 1.77, 1> } intersection { torus { D1, D2 } box { <2, -2, 2>, <0, 2, 0> } rotate x*90 translate -D1*x } } } #declare HexaCone_radar = object { union { #for (foo, 0, 360, 60) #local RR = 0.12; #local PX = RR * sin(radians(foo)); #local PZ = RR * cos(radians(foo)); object { Branche_radar rotate y*(foo-90) translate } #local R2 = 0.08; #end torus { R2, 0.0034 translate -0.08*y } } texture { Soft_Silver scale 6.0 } } /* * new Mon Dec 16 12:44:44 PM UTC 2024 */ #local Une_derive = object { difference { merge { sphere { 0, 0.009 scale <1, 1, 4.70> translate <0, 0.26, -0.17> } cone { <0, -0.1, 0>, 0.09, <0, 0.26, -0.17>, 0.0096 scale <0.14, 1, 1> } } box { <-1, -1, -1>, <1, 0, 1> } } texture { Soft_Silver scale 6.0 } } #declare HexaCone_derives = object { union { object { Une_derive } object { Une_derive rotate 120*z } object { Une_derive rotate -120*z } } } #declare HexaCone_head = object { #local DTa = 0.278; #local DTb = 0.030; merge { difference { torus { DTa, DTb } #local TB = 0.50; box { <-TB, -TB, TB>, } } sphere { 0, DTb*1.55 translate -DTa*x } sphere { 0, DTb*1.55 translate DTa*x } } texture { Orange_Glass } } /* * */ #local Rtuy = 0.06; #local Ltuy = 0.09; #local Etuy = 0.01; // epaisseur des parois #declare Tuyere = object { #local dX = Ltuy; merge { #local R2 = Rtuy - (Etuy/2.0); intersection { torus { R2, Etuy/2 scale <1, 18, 1> } box { <-1, 0, -1>, <1, 1, 1> } rotate 90*z translate -dX*x } torus { R2, Etuy/2 scale <1, 0.75, 1> rotate 90*z translate dX*x } #if (1) #difference { cylinder { <-dX, 0, 0>, , Rtuy } cylinder { <-(dX+1), 0, 0>, , Rtuy-Etuy } } #end cylinder { y*Rtuy, y*(Rtuy+0.08), 0.010 scale <2.95, 1, 1> } } texture { T_Brass_1C } } #declare Les_Tuyeres = object { union { #local E = 0.59; object { Tuyere translate -E*z } object { Tuyere translate E*z } } rotate -y*90 } #declare HexaCone = object { union { object { HexaCone_body } #local T = 0.55; object { HexaCone_head translate <0, 0, T+DTa> } object { HexaCone_radar translate <0, T+0.18, 0> } object { HexaCone_derives translate <0, 0, -0.67> } object { Les_Tuyeres translate -0.18*y } } rotate <-7, 0, -4> }