def render_gerber_images(directory, outfolder, outfname): outfpath = os.path.join(outfolder, outfname) pcb = PCB.from_directory(directory) top = pcb.top_layers bottom = pcb.bottom_layers copper = pcb.copper_layers outline = pcb.outline_layer if outline: top = [outline] + top bottom = [outline] + bottom copper = [outline] + copper + pcb.drill_layers renderer = GerberCairoContext() renderer.render_layers(layers=top, theme=theme.THEMES['default'], max_height=1080, max_width=1920, filename='{0}.top.png'.format(outfpath)) renderer.render_layers(layers=bottom, theme=theme.THEMES['default'], max_height=1080, max_width=1920, filename='{0}.bottom.png'.format(outfpath)) renderer.render_layers(layers=copper, theme=theme.THEMES['Transparent Multilayer'], max_height=1080, max_width=1920, filename='{0}.devel.png'.format(outfpath))
from gerber.render import GerberCairoContext, theme GERBER_FOLDER = os.path.abspath( os.path.join(os.path.dirname(__file__), 'gerbers')) # Create a new drawing context ctx = GerberCairoContext() # Create a new PCB instance pcb = PCB.from_directory(GERBER_FOLDER) # Render PCB top view ctx.render_layers(pcb.top_layers, os.path.join( os.path.dirname(__file__), 'pcb_top.png', ), theme.THEMES['OSH Park'], max_width=800, max_height=600) # Render PCB bottom view ctx.render_layers(pcb.bottom_layers, os.path.join(os.path.dirname(__file__), 'pcb_bottom.png'), theme.THEMES['OSH Park'], max_width=800, max_height=600) # Render copper layers only ctx.render_layers(pcb.copper_layers + pcb.drill_layers, os.path.join(os.path.dirname(__file__), 'pcb_transparent_copper.png'),
import os from gerber import PCB from gerber.render import GerberCairoContext, theme GERBER_FOLDER = os.path.abspath(os.path.join(os.path.dirname(__file__), 'gerbers')) # Create a new drawing context ctx = GerberCairoContext() # Create a new PCB instance pcb = PCB.from_directory(GERBER_FOLDER) # Render PCB top view ctx.render_layers(pcb.top_layers, os.path.join(os.path.dirname(__file__), 'pcb_top.png',), theme.THEMES['OSH Park']) # Render PCB bottom view ctx.render_layers(pcb.bottom_layers, os.path.join(os.path.dirname(__file__), 'pcb_bottom.png'), theme.THEMES['OSH Park']) # Render copper layers only ctx.render_layers(pcb.copper_layers + pcb.drill_layers, os.path.join(os.path.dirname(__file__), 'pcb_transparent_copper.png'), theme.THEMES['Transparent Copper'])