assygen.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:assygen 作者: twlostow 项目源码 文件源码
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()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号