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)
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)
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)
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)