//--------------------------------------------------------------//
#include "RW_System/RW_Axis_11.inc"
#local Axis =
object{ RW_Axis_11(
2*Wheel_R, // wheel diameter, // in meter
12, // Number_Of_Spokes, //
0.20, // Connector Radius // 0 or >wheel diameter/2
// must be between: < 0 and < 0.5 wheel diameter
0.15, // counterweight depth, // 0=non, < wheel radius
Gauge_, // gauge in meter
) //------------------------------------------//
rotate<0,0,Wheel_Angle>
} //------------------------------------------------------//
#include "RW_System/RW_Coupling_Rod_00.inc"
#declare Coupling_Rod =
union{
object{ RW_Coupling_Rod_00(
Conjunction_Len,// coupling rod length x+(link to link)
0.12, // rod height in y
0.06, // depth in -z //
0.09, // Rod_End_R // radius end links, >Rod_H/2 !
1, // Oil_Fillers_On // 0 = non, 1= On
) //-----
scale <-1,1,1≶// mirrowed to x-
}
// coupling rod axes
cylinder{<0,0,-0.05>,<0,0,0.05>,0.03 texture{ Rod_Metal_1} }
cylinder{<0,0,-0.05>,<0,0,0.05>,0.03 texture{ Rod_Metal_1}
translate<-Conjunction_Len,0,0> }
} // end union Coupling_Rod ------------------------------------//
//--------------------------------------------------------------//
#include "RT_System/RT_Track_Straight_00.inc" //
#declare Rail_Spikes_On = 1; // optional, default = 0,
#declare Track =
object{ RT_Track_Straight_00(
Wheel_Circ , // track length in x+ in meter
2.00 , // number of ties per meter; ~1.5
) //----------------------------------------
} //------------------------------------------------------//
//--------------------------------------------------------------//
union{ // ---- 2 axes with connecting rods:
object{ Axis translate<-Conjunction_Len,0,0>}
object{ Axis translate< 0,0,0>}
object{ Coupling_Rod translate<+Con_X,+Con_Y,-Gauge_/2-0.12>}
object{ Coupling_Rod scale<1,1,-1>
translate<-Con_X,-Con_Y,+Gauge_/2+0.12>}
translate<0,Wheel_R,0>
translate<-Wheel_Move,0,0> // move it by clock to the right!
translate<0,Height_Rail_Top,0> // lift it to rail top
} // end of union ----------------------------------------------//
union{ // ----- adding the rail tracks:
#local Nr = -3; // start
#local EndNr = 4; // end
#while (Nr < EndNr)
object{ Track translate< Nr*Wheel_Circ,0,0 >}
#local Nr = Nr + 1; // next Nr
#end // --------------- end of loop
} // end of union ----------------------------------------------//
//--------------------------------------------------------------//
// animated 'camera':
#declare Camera_Position = Camera_Position+<-Wheel_Move,0,0>;
#declare Camera_Look_At = Camera_Look_At +<-Wheel_Move,0,0>;
//-----------------------------------------
camera{ location Camera_Position
right x*image_width/image_height
angle Camera_Angle
look_at Camera_Look_At
} //------------------------------------------------------//
//--------------------------------------------------------------// |