// Mikes Object Pusher // V 1.0 // Object Distributed from http://www.thingiverse.com/ by mamclain // Please examine the copyright license there for more information // // I try to keep most models free of magic numbers via variables, however often times near the end of making something I sometimes use magic numbers... Tray_Length=156; Tray_Side_Length=12; Tray_Thickness=5; Tray_Width=36; Tray_Side_Height=36+Tray_Thickness; Pusher_Radius=(Tray_Length-Tray_Side_Length)/2; Edge_Roundness=100; Handle_Radius=15; Pusher(); module Pusher() { union() { cube(size = [Tray_Length,Tray_Width,Tray_Thickness], center = false); translate([0,0,0]) { cube(size = [Tray_Side_Length,Tray_Width,Tray_Side_Height], center = false); } translate([Pusher_Radius+Tray_Side_Length,Tray_Thickness-5+Tray_Width,0]) { rotate([90,0,0]) { difference() { cylinder (h = Tray_Thickness+3, r=Pusher_Radius, center=false, $fn=Edge_Roundness); translate([-Pusher_Radius,-Pusher_Radius,-1]) { cube(size = [Tray_Length-Tray_Side_Length,Pusher_Radius,Tray_Thickness+3+2], center = false); } } } } translate([Tray_Side_Length+Pusher_Radius,Tray_Width,Pusher_Radius/2]) { rotate([90,0,0]) { cylinder (h = Tray_Width+40, r=Handle_Radius, center=false, $fn=Edge_Roundness); } // Sorry... about the magic numbers translate([-15,-20,-35]) { cube(size = [30,20,60], center = false); } } } }