from koko.lib.shapes import * # Render boundaries cad.xmin = -1 cad.xmax = 18 cad.ymin = -1 cad.ymax = 12 cad.zmin = 0 cad.zmax = 3.1 cad.mm_per_unit = 25.4 # inch units w = 5. stock = cube(-1, 18, -1, 12, -1, 3) handle = cube(0,10, -.5,.5, 0,1) handleheight = 3/2-.5 mallet = cylinder(0,0,0,3, 14)-cube(-20,10,-20,20,-10,10) mallet = mallet - cube(10, 20, w/2, 20, 0, 3) mallet = move(mallet-cube(10,20, -20,-w/2, 0,3), -10,0) handlehole = cube(0,11,0,w, handleheight+1,3) stock = stock-handlehole - move(handle, 1 ,w/2, handleheight) stock = stock - move(mallet, 11.5,w/2) silhole = cylinder(0,0, 0,5,1) silhole = rotate_y(silhole, -90) stock = stock-move(silhole,1,7, 3) stock = stock-move(handle,0,7,2.5) stock = stock-move(silhole,1,10, 3) stock = stock-move(handle,0,10,2.5) silbath = cube(0,3.1, 0, 4.1, 0, 1.5) stock = stock - move(silbath,12, 6, 1.5) stock = stock - cube(3,3.5,6.75,7.25, -20,20) c = stock # cad.function = c