from koko.lib.shapes import * # Render boundaries cad.xmin = -1 cad.xmax = 20 cad.ymin = 0 cad.ymax = 35 cad.mm_per_unit = 25.4 # inch units #PCB dimensions: 2.33; 1.44 thick = .25 r = 3 w = 2.5 l = 3.5 axel = 1./16 c = circle(0, 0, r) c = c - circle(0,0,axel) n_treads = 40 for i in range(n_treads): th = 2.*pi/n_treads*i c = c+circle(cos(th)*r,sin(th)*r, .125) c = rectangle(-r-1,r+1, -r-1, r+1)-c-rectangle(r, r+1, r, r+1) c = c#+move(c, 2*(r+1)+.1, 0) d = c for i in range(4): c = c+move(rotate(d,2.*i*pi/80), 0, i*2*(r+1.1)) c = move(c, r+1, r+1)+move(c, 3*(r+1)+.1, r+1) c = c+circle(3*(r+1)+.1,r+1,r+1) c = c+circle((r+1),r+1,r+1) c = c-circle(3*(r+1)+.1,r+1,.3) c = c-circle(3*(r+1)+.1,r+1+2,.3) cad.function = c