def main():
    setup()

    GERBER_FOLDER = os.path.abspath(
        os.path.join(os.path.dirname(__file__), INPUT_DIR))

    # Create a new drawing context
    ctx = GerberCairoContext()

    # Create a new PCB instance
    # pcb = PCB.from_directory(GERBER_FOLDER)
    outline = load_layer(INPUT_DIR + 'axiom_beta_mixed_panel.boardoutline.ger')
    outline.layer_class = "outline"
    top_layer = load_layer(INPUT_DIR + 'axiom_beta_mixed_panel.toplayer.ger')
    top_layer.layer_class = "toppaste"
    # top_soldermask_layer = load_layer(INPUT_DIR + 'axiom_beta_mixed_panel.topcream.ger')
    # top_soldermask_layer.layer_class = "toppaste"
    top_silkscreen_layer = load_layer(
        INPUT_DIR + 'axiom_beta_mixed_panel.topsilkscreen.ger')
    top_silkscreen_layer.layer_class = "topsilk"
    drill = load_layer(INPUT_DIR + 'axiom_beta_mixed_panel.drills.xln')

    # Render PCB top view
    ctx.render_layers({outline, top_layer, top_silkscreen_layer},
                      OUTPUT_DIR + 'pcb_top.png',
                      theme.THEMES['OSH Park'],
                      verbose=True,
                      max_width=4000,
                      max_height=3000)
Exemplo n.º 2
0
from gerber import PCB
from gerber.render import theme
from gerber.render.cairo_backend import GerberCairoContext


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'),
                  theme.THEMES['Transparent Copper'], max_width=800, max_height=600)

Exemplo n.º 3
0
from gerber.render import RenderSettings, theme
from gerber.render.cairo_backend import GerberCairoContext
from gerber.render.theme import COLORS

GERBER_FOLDER = os.path.abspath(
    os.path.join(os.path.dirname(__file__), 'not-working'))

# Create a new drawing context
ctx = GerberCairoContext()

pcb = PCB.from_directory(GERBER_FOLDER, verbose=True)
# Draw the copper layer. render_layer() uses the default color scheme for the
# layer, based on the layer type. Copper layers are rendered as
red_theme = theme.Theme(topmask=RenderSettings(COLORS['red soldermask'],
                                               alpha=0.8,
                                               invert=True),
                        bottommask=RenderSettings(COLORS['red soldermask'],
                                                  alpha=0.8,
                                                  invert=True))

#Rendering layers using the red_theme
ctx.render_layers(layers=pcb.top_layers,
                  filename=os.path.join(
                      os.path.dirname(__file__),
                      'pcb_top_test.png',
                  ),
                  theme=red_theme)
ctx.render_layers(layers=pcb.bottom_layers,
                  filename=os.path.join(os.path.dirname(__file__),
                                        'pcb_bottom_test.png'),
                  theme=red_theme)
Exemplo n.º 4
0
import os
from gerber import *

from gerber.render import RenderSettings, theme
from gerber.render.cairo_backend import GerberCairoContext

GERBER_FOLDER = os.path.abspath(
    os.path.join(os.path.dirname(__file__), 'not-working'))

# Create a new drawing context
ctx = GerberCairoContext()

# Create a new PCB instance
pcb = PCB.from_directory(GERBER_FOLDER)

# Render PCB bottom view
ctx.render_layers(pcb.bottom_layers,
                  os.path.join(os.path.dirname(__file__),
                               'not-working-bottom.png'),
                  max_width=800,
                  max_height=600)
ctx.render_layers(pcb.top_layers,
                  os.path.join(os.path.dirname(__file__),
                               'not-working-top.png'),
                  max_width=800,
                  max_height=600)