//---------------------------------------------------------------
#macro Newtons_Cradle_Frame ( R_min, // minor radius
R_maj, // major radius
Frame_H, // height in y
Frame_W, // width in x
Frame_L // length in z
) //-------------------------
#if (R_maj <= R_min) #local R_maj= R_min+D; #end
//-----------------------------------------------------
#local F_H = Frame_H -2*R_min ; // inner height in y
#local F_W = (Frame_W -2*R_min)/2 ; // inner width in x
#local F_L = (Frame_L -2*R_min)/2 ; // inner length in z
#local F_Quart = // -----------------------------
object{ Segment_of_Torus( R_maj,R_min, 90) } //
// ----------------------------------------------
union{
// tubes in x
cylinder{<-(F_W-R_maj),0,0>,<(F_W-R_maj),0,0>,R_min translate<0,0,-F_L>}
cylinder{<-(F_W-R_maj),0,0>,<(F_W-R_maj),0,0>,R_min translate<0,0, F_L>}
// tubes in z
cylinder{<0,0,-(F_L-R_maj)>,<0,0,(F_L-R_maj)>,R_min translate< F_W,F_H,0>}
cylinder{<0,0,-(F_L-R_maj)>,<0,0,(F_L-R_maj)>,R_min translate<-F_W,F_H,0>}
// tubes vertical
cylinder{<0,R_maj,0>,<0,F_H-R_maj,0>,R_min translate< F_W,0, F_L>}
cylinder{<0,R_maj,0>,<0,F_H-R_maj,0>,R_min translate< F_W,0,-F_L>}
cylinder{<0,R_maj,0>,<0,F_H-R_maj,0>,R_min translate<-F_W,0, F_L>}
cylinder{<0,R_maj,0>,<0,F_H-R_maj,0>,R_min translate<-F_W,0,-F_L>}
// round tube corners:
// low
object{ F_Quart rotate<-90, 0, 0> translate< F_W-R_maj,R_maj,-F_L>}
object{ F_Quart rotate<-90, 0, 0> translate< F_W-R_maj,R_maj, F_L>}
object{ F_Quart rotate<-90,180,0> translate<-F_W+R_maj,R_maj,-F_L>}
object{ F_Quart rotate<-90,180,0> translate<-F_W+R_maj,R_maj, F_L>}
// high
object{ F_Quart rotate< 90, 90,0> translate< F_W,F_H-1*R_maj,-F_L+R_maj>}
object{ F_Quart rotate< 90,-90,0> translate< F_W,F_H-1*R_maj, F_L-R_maj>}
object{ F_Quart rotate< 90, 90,0> translate<-F_W,F_H-1*R_maj,-F_L+R_maj>}
object{ F_Quart rotate< 90,-90,0> translate<-F_W,F_H-1*R_maj, F_L-R_maj>}
translate<0,R_min,0>
} // end of union ---------------------------------------------------------
#end // ------------------------------------------------------ end of macro |