I’m building a 3 wheeled uni and made this animation to check the
dimensions. If you are interested in looking at it it’s at
http://mgrant.unicyclist.com/3_wheel_uni.avi
I used PovRay (www.povray.org) to make it.
It’s sorta big (almost 6Mb). You need DivX codecs which are available from
www.divx.com.
If you look close you’ll notice that there are no hub flanges. The spokes
just hang in space where there should be a flange. Since I’m not making the
wheels that was unimportant to me and wasn’t visually distracting enough for
me to spend the time making hub flanges.
If anyone is interested in the povray source here it is:
//Begin Povray Source
global_settings { assumed_gamma 2.2 }
#include “colors.inc”
#include “textures.inc”
#declare clock1=clock;
camera {
location <50, 100, -50>
right <4/3, 0, 0>
up <0, 1, 0>
sky <0, 1, 0>
direction <0, 0, 1.8>
look_at <0, 40, 0>
}
light_source { <50, 200, -100> colour Gray70 }
light_source { <-20, 40, -20> colour Gray70 }
light_source { <100, 80, -200> colour Gray70 }
background { color White }
plane { y, 0
pigment { White }
}
//Top Wheel Axle
cylinder
{
-3.6z, 3.6z, 5/8
translate<0,50,0>
texture{Chrome_Metal}
// open
}
//Crank Arm (L)
union{
box
{
<-0, -.5, -.5> // one corner position <X1 Y1 Z1>
< 5.5, .5, .5> // other corner position <X2 Y2 Z2>
}
cylinder
{
.5z, -.5z, .8
}
rotate 360zclock1
translate<0,50,-3>
pigment {color red 1}
}
//Crank Arm ®
union{
box
{
<-5.5, -.5, -.5> // one corner position <X1 Y1 Z1>
< 0, .5, .5> // other corner position <X2 Y2 Z2>
}
cylinder
{
.5z, -.5z, .8
}
rotate 360zclock1
translate<0,50,3>
pigment {color red 1}
}
box
{
<-1.5, -.5, -2> // one corner position <X1 Y1 Z1>
< 1.5, .5, 2> // other corner position <X2 Y2 Z2>
rotate zclock1-360
translate <5,0,-5.75>
rotate zclock1360
translate y50
pigment { color green 1 }
}
box
{
<-1.5, -.5, -2> // one corner position <X1 Y1 Z1>
< 1.5, .5, 2> // other corner position <X2 Y2 Z2>
rotate zclock1*-360
translate <-5,0,5.75>
rotate zclock1360
translate y*50
pigment { color green 1 }
}
//Rims bottom first
torus
{
9.3,.9
rotate <90,0,0>
translate<0,10,0>
texture{Chrome_Metal}
}
torus
{
9.3,.9
rotate <90,0,0>
translate<0,30,0>
texture{Chrome_Metal}
}
torus
{
9.3,.9
rotate <90,0,0>
translate<0,50,0>
texture{Chrome_Metal}
}
//Tires bottom first
torus
{
9.5,
1
rotate <90, 0, 0> // <dX dY dZ> (in degrees)
translate <0,10,0>
}
torus
{
9.5,
1
rotate <90, 0, 0> // <dX dY dZ> (in degrees)
translate <0,30,0>
}
torus
{
9.5,
1
rotate <90, 0, 0> // <dX dY dZ> (in degrees)
translate <0,50,0>
}
//Left fork blade
union {
box
{
<-25, -1, -1/8> // one corner position <X1 Y1 Z1>
< 26, 1, 1/8> // other corner position <X2 Y2 Z2>
// texture { Copper_Metal }
rotate<0,0,90>
translate<0,34,-2>
}
box
{
<-1, 0,-1/8>
< 1, 2, 1/8>
rotate x*45
translate <0,59.9,-2.05>
// pigment { Green }
}
box
{
<-1, 0,-1/8>
< 1, 6, 1/8>
translate <0,61.25,-.66>
// pigment { Yellow }
}
texture { Copper_Metal }
}
//Right fork blade
union{
box
{
<-25, -1, -1/8> // one corner position <X1 Y1 Z1>
< 26, 1, 1/8> // other corner position <X2 Y2 Z2>
// texture { Copper_Metal }
rotate<0,0,90>
translate<0,34,2>
}
box
{
<-1, 0,-1/8>
< 1, 2, 1/8>
rotate x*-45
translate <0,59.9,2.05>
// pigment { Green }
}
box
{
<-1, 0,-1/8>
< 1, 6, 1/8>
translate <0,61.25,.66>
// pigment { Yellow }
}
texture { Copper_Metal }
}
//Spokes
//Top
#declare Count=0;
#while (Count < 360)
cylinder
{
0x, 9.5x, .075
rotate y10
rotate z7
translate x*-9.5
rotate zCount
rotate z360clock1
translate y50
texture { Chrome_Metal }
// open
#declare Count=Count+(360/9);
}
#end
#declare Count=0;
#while (Count < 360)
cylinder
{
0x, 9.5x, .075
rotate y10
rotate z-7
translate x*-9.5
rotate zCount
rotate z18
rotate z360clock1
translate y*50
texture { Chrome_Metal }
// open
#declare Count=Count+(360/9);
}
#end
#declare Count=0;
#while (Count < 360)
cylinder
{
0x, 9.5x, .075
rotate y*-10
rotate z7
translate x-9.5
rotate zCount
rotate z9
rotate z360clock1
translate y*50
texture { Chrome_Metal }
// open
#declare Count=Count+(360/9);
}
#end
#declare Count=0;
#while (Count < 360)
cylinder
{
0x, 9.5x, .075
rotate y*-10
rotate z*-7
translate x*-9.5
rotate zCount
rotate z-9
rotate z360clock1
translate y*50
texture { Chrome_Metal }
// open
#declare Count=Count+(360/9);
}
#end
//Middle
#declare Count=0;
#while (Count < 360)
cylinder
{
0x, 9.5x, .075
rotate y10
rotate z7
translate x*-9.5
rotate zCount
rotate z-360clock1
translate y30
texture { Chrome_Metal }
// open
#declare Count=Count+(360/9);
}
#end
#declare Count=0;
#while (Count < 360)
cylinder
{
0x, 9.5x, .075
rotate y10
rotate z-7
translate x*-9.5
rotate zCount
rotate z18
rotate z*-360clock1
translate y30
texture { Chrome_Metal }
// open
#declare Count=Count+(360/9);
}
#end
#declare Count=0;
#while (Count < 360)
cylinder
{
0x, 9.5x, .075
rotate y*-10
rotate z7
translate x-9.5
rotate zCount
rotate z9
rotate z*-360clock1
translate y30
texture { Chrome_Metal }
// open
#declare Count=Count+(360/9);
}
#end
#declare Count=0;
#while (Count < 360)
cylinder
{
0x, 9.5x, .075
rotate y*-10
rotate z*-7
translate x*-9.5
rotate zCount
rotate z-9
rotate z*-360clock1
translate y30
texture { Chrome_Metal }
// open
#declare Count=Count+(360/9);
}
#end
//Bottom
#declare Count=0;
#while (Count < 360)
cylinder
{
0x, 9.5x, .075
rotate y10
rotate z7
translate x*-9.5
rotate zCount
rotate z360clock1
translate y10
texture { Chrome_Metal }
// open
#declare Count=Count+(360/9);
}
#end
#declare Count=0;
#while (Count < 360)
cylinder
{
0x, 9.5x, .075
rotate y10
rotate z-7
translate x*-9.5
rotate zCount
rotate z18
rotate z360clock1
translate y*10
texture { Chrome_Metal }
// open
#declare Count=Count+(360/9);
}
#end
#declare Count=0;
#while (Count < 360)
cylinder
{
0x, 9.5x, .075
rotate y*-10
rotate z7
translate x-9.5
rotate zCount
rotate z9
rotate z360clock1
translate y*10
texture { Chrome_Metal }
// open
#declare Count=Count+(360/9);
}
#end
#declare Count=0;
#while (Count < 360)
cylinder
{
0x, 9.5x, .075
rotate y*-10
rotate z*-7
translate x*-9.5
rotate zCount
rotate z-9
rotate z360clock1
translate y*10
texture { Chrome_Metal }
// open
#declare Count=Count+(360/9);
}
#end
cylinder
{
-2.2z, 2.2z, 1/4
translate y10
texture { Chrome_Metal }
}
cylinder
{
-2.2z, 2.2z, 1/4
translate y30
texture { Chrome_Metal }
}
//End Povray source