Exemple #1
0
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))
Exemple #2
0
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'])