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