#declare GreenRod = object{ difference{ cylinder{<0,0,0>, <17,0,0>,3} union{ torus{4,2 rotate<0,0,90> translate<2.75,0,0>} torus{4,2 rotate<0,0,90> translate<14.25,0,0>} } } translate<10.25,0,0> texture{finish{Shiny} pigment{rgb<0,.5,.25>}} } #declare WhiteRod = object{ difference{ cylinder{<0,0,0>, <33,0,0>,3} union{ torus{4,2 rotate<0,0,90> translate<2.75,0,0>} torus{4,2 rotate<0,0,90> translate<30.25,0,0>} cylinder{<6.5,4,0>,<26.5,4,0>,2} cylinder{<6.5,0,4>,<26.5,0,4>,2} cylinder{<6.5,-4,0>,<26.5,-4,0>,2} cylinder{<6.5,0,-4>,<26.5,0,-4>,2} } } translate<10.25,0,0> texture{finish{Shiny} pigment{rgb<1,1,1>}} } #declare BlueRod = object{ difference{ cylinder{<0,0,0>, <55,0,0>,3} union{ torus{4,2 rotate<0,0,90> translate<2.75,0,0>} torus{4,2 rotate<0,0,90> translate<52.25,0,0>} cylinder{<8.5,4,0>,<46.5,4,0>,2} cylinder{<8.5,0,4>,<46.5,0,4>,2} cylinder{<8.5,-4,0>,<46.5,-4,0>,2} cylinder{<8.5,0,-4>,<46.5,0,-4>,2} } } translate<10.25,0,0> texture{finish{Shiny} pigment{rgb<0,0,.5>}} } #declare YellowRod = object{ difference{ cylinder{<0,0,0>, <86,0,0>,3} union{ torus{4,2 rotate<0,0,90> translate<2.75,0,0>} torus{4,2 rotate<0,0,90> translate<83.25,0,0>} cylinder{<8.5,4,0>,<77.5,4,0>,2} cylinder{<8.5,0,4>,<77.5,0,4>,2} cylinder{<8.5,-4,0>,<77.5,-4,0>,2} cylinder{<8.5,0,-4>,<77.5,0,-4>,2} } } translate<10.25,0,0> texture{finish{Shiny} pigment{rgb<1,.75,0>}} } #declare RedRod = object{ difference{ cylinder{<0,0,0>, <130,0,0>,3} union{ torus{4,2 rotate<0,0,90> translate<2.75,0,0>} torus{4,2 rotate<0,0,90> translate<127.25,0,0>} cylinder{<8.5,4,0>,<121.5,4,0>,2} cylinder{<8.5,0,4>,<121.5,0,4>,2} cylinder{<8.5,-4,0>,<121.5,-4,0>,2} cylinder{<8.5,0,-4>,<121.5,0,-4>,2} } } translate<10.25,0,0> texture{finish{Shiny} pigment{rgb<.75,0,0>}} } #declare GrayRod = object{ difference{ cylinder{<0,0,0>, <192,0,0>,3} union{ torus{4,2 rotate<0,0,90> translate<2.75,0,0>} torus{4,2 rotate<0,0,90> translate<189.25,0,0>} cylinder{<8.5,4,0>,<183.5,4,0>,2} cylinder{<8.5,0,4>,<183.5,0,4>,2} cylinder{<8.5,-4,0>,<183.5,-4,0>,2} cylinder{<8.5,0,-4>,<183.5,0,-4>,2} } } translate<10.25,0,0> texture{finish{Shiny} pigment{rgb<.8,.8,.8>}} } #declare HubSpoke = object{ union{ box{<-.5,-3,4.5> <.5,3,10.25> rotate <0,22.5,0>} box{<-4,-3,9.25> <0,3,10.25> rotate <0,45,0>} box{<0,-3,9.25> <4,3,10.25>} box{<-4.5,-3,9.25><-3,3,18.65> rotate <0,45,0>} box{<3,-3,9.25><4.5,3,18.65>} difference{ cylinder{<-4,-3,12.75>,<-4,3,12.75>,2} box{<-6.1,-3.1,10.65>,<-3.4,3.1,14.85>} rotate <0,45,0> } difference{ cylinder{<4,-3,12.75>,<4,3,12.75>,2} box{<3.4,-3.1,10.65>,<6.1,3.1,14.85>} } } } #declare HubSpokeRight = object{ union{ box{<-4,-3,9.25> <0,3,10.25>} box{<-4.5,-3,0><-3,3,18.65>} difference{ cylinder{<-4,-3,12.75>,<-4,3,12.75>,2} box{<-6.1,-3.1,10.65>,<-3.4,3.1,14.85>} } } } #declare HubSpokeLeft = object{ union{ box{<0,-3,9.25> <4,3,10.25>} box{<3,-3,0><4.5,3,18.65>} difference{ cylinder{<4,-3,12.75>,<4,3,12.75>,2} box{<3.4,-3.1,10.65>,<6.1,3.1,14.85>} } } } #declare DarkGrayHub = object{ union{ difference{ cylinder{<0,0,-3> <0,0,3>,4.5} cylinder{<0,0,-3.01> <0,0,3.01>,3} rotate<90,0,0> } object{HubSpokeRight} object{HubSpokeLeft} texture{finish{Shiny} pigment{rgb<.6,.6,.6>}} } } #declare GrayHub = object{ union{ difference{ cylinder{<0,0,-3> <0,0,3>,4.5} cylinder{<0,0,-3.01> <0,0,3.01>,3} rotate<90,0,0> } object{HubSpokeRight} object{HubSpoke} object{HubSpokeLeft rotate<0,45,0>} texture{finish{Shiny} pigment{rgb<.8,.8,.8>}} } } #declare RedHub = object{ union{ difference{ cylinder{<0,0,-3> <0,0,3>,4.5} cylinder{<0,0,-3.01> <0,0,3.01>,3} rotate<90,0,0> } object{HubSpokeRight} object{HubSpoke} object{HubSpoke rotate<0,45,0>} object{HubSpokeLeft rotate<0,90,0>} texture{finish{Shiny} pigment{rgb<.75,0,0>}} } } #declare GreenHub = object{ union{ difference{ cylinder{<0,0,-3> <0,0,3>,4.5} cylinder{<0,0,-3.01> <0,0,3.01>,3} rotate<90,0,0> } object{HubSpokeRight} object{HubSpoke} object{HubSpoke rotate<0,45,0>} object{HubSpoke rotate<0,90,0>} object{HubSpokeLeft rotate<0,135,0>} texture{finish{Shiny} pigment{rgb<0,.5,.25>}} } } #declare YellowHub = object{ union{ difference{ cylinder{<0,0,-3> <0,0,3>,4.5} cylinder{<0,0,-3.01> <0,0,3.01>,3} rotate<90,0,0> } object{HubSpokeRight} object{HubSpoke} object{HubSpoke rotate<0,45,0>} object{HubSpoke rotate<0,90,0>} object{HubSpoke rotate<0,135,0>} object{HubSpokeLeft rotate<0,180,0>} texture{finish{Shiny} pigment{rgb<1,.75,0>}} } } #declare WhiteHub = object{ union{ difference{ cylinder{<0,0,-3> <0,0,3>,4.5} cylinder{<0,0,-3.01> <0,0,3.01>,3} rotate<90,0,0> } object{HubSpoke} object{HubSpoke rotate<0,45,0>} object{HubSpoke rotate<0,90,0>} object{HubSpoke rotate<0,135,0>} object{HubSpoke rotate<0,180,0>} object{HubSpoke rotate<0,225,0>} object{HubSpoke rotate<0,270,0>} object{HubSpoke rotate<0,315,0>} texture{finish{Shiny} pigment{rgb<1,1,1>}} } } #declare OrangeHub = object{ union{ difference{ cylinder{<0,0,-3> <0,0,3>,4.5} cylinder{<0,0,-3.01> <0,0,3.01>,3} rotate<90,0,0> } object{HubSpokeRight} object{HubSpokeLeft} object{HubSpokeRight rotate<0,180,0>} object{HubSpokeLeft rotate<0,180,0>} texture{finish{Shiny} pigment{rgb<1,.5,0>}} } }