// Last edited on 2021-04-04 03:12:38 by jstolfi #macro compost_bin_base( tagg, dim, wood_th ) // The base of the compost bin. // {tagg} Prefix for part names. // {dim} Size vector. // {wood_th} Wood thickness. // The base is a box without top or bottom, with an opening in front // and two horz plates ('shelf' and 'ramp') inside. The lower corner // is at the origin. #local ramp_z = 500; // Z coord of bottom surf of discharge ramp at front surf of base. #local ramp_my = 100; // Y width of frame on each side of ramp hole. #local shelf_z = 100; // Z coord of bottom surf of shelf. #local shelf_my = 150; // Y width of frame on each side of shelf hole. #local obj = union{ object{ compost_bin_stage_side( concat( tagg, ".s0" ), dim.x, dim.z, wood_th ) translate -50*xplode*y } object{ compost_bin_stage_side( concat( tagg, ".s1" ), dim.x, dim.z, wood_th ) scale <+1,-1,+1> translate dim.y*y translate +50*xplode*y } object{ compost_bin_stage_back( concat( tagg, ".bk" ), dim.y, dim.z, wood_th ) translate -50*xplode*x } object{ compost_bin_base_front( concat( tagg, ".fr" ), dim.y, dim.z, shelf_z, shelf_my, ramp_z, ramp_my, wood_th ) scale <-1,+1,+1> translate dim.x*x translate +50*xplode*x } // object{ // compost_bin_base_shelf( concat( tagg, ".sh"), dim.x, dim.y, shelf_my, wood_th) // translate shelf_z*z // } // object{ // compost_bin_base_ramp( concat( tagg, ".ra"), dim.x, dim.y, ramp_my, wood_th) // translate ramp_z*z // } } obj #end