def producePrintoutsForLayer(base_name, layer, canv):
ctmp = canvas.Canvas(base_name + "_assy.pdf")
ext = renderGerber(base_name, layer, ctmp);
scale1 = (gerberPageSize[0]-2*gerberMargin)/((ext[2]-ext[0]))
scale2 = (gerberPageSize[1]-2*gerberMargin)/((ext[3]-ext[1]))
scale = min(scale1, scale2)
gerberScale = (scale,scale)
# print("PS" , gerberPageSize[0], gerberMargin, gerberScale)
gerberOffset = (-ext[0]*scale + gerberMargin, -ext[1]*scale + gerberMargin)
# print "Offset (in.): (%4.2f, %4.2f)" % (gerberOffset[0]/inch,gerberOffset[1]/inch)
# print "Scale (in.): (%4.2f, %4.2f)" % gerberScale
pf = PickAndPlaceFileKicad(base_name+".CSV")
ngrp = pf.num_groups(layer)
for page in range(0, (ngrp+5)/6):
n_comps = min(6, ngrp - page*6)
canv.saveState()
canv.translate( gerberOffset[0], gerberOffset[1] )
if(layer == "Bottom"):
canv.scale( gerberScale[0], gerberScale[1] )
# canv.scale( -1, 1 )
# canv.translate(-0.5*gerberPageSize[0],0)
else:
canv.scale( gerberScale[0], gerberScale[1] )
renderGerber(base_name, layer, canv);
pf.draw(layer, page*6, n_comps, canv);
canv.restoreState()
pf.gen_table(layer, page*6, n_comps, canv);
canv.showPage()
评论列表
文章目录