HexaCone/hexabenz.inc
2025-01-04 18:56:37 +01:00

60 lines
1.1 KiB
PHP

/*
* 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 <Tx, Ty, 0>
}
#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 }
}
}