same as export_image3d, but there is no output file, PIL object is returned instead

def pil_image3d(input, size=(800, 600), pcb_rotate=(0, 0, 0), timeout=20, showgui=False):
    '''
    same as export_image3d, but there is no output file, PIL object is returned instead
    '''
    f = tempfile.NamedTemporaryFile(suffix='.png', prefix='eagexp_')
    output = f.name

    export_image3d(input, output=output, size=size,
                   pcb_rotate=pcb_rotate, timeout=timeout, showgui=showgui)

    im = Image.open(output)
    return im