From 5476da8aa3f4ee424f56f4f2491e7af1c4b7b758 Mon Sep 17 00:00:00 2001 From: Hamilton Kibbe Date: Thu, 21 Jan 2016 03:57:44 -0500 Subject: Fix a bunch of rendering bugs. - 'clear' polarity primitives no longer erase background - Added aperture macro support for polygons - Added aperture macro rendring support - Renderer now creates a new surface for each layer and merges them instead of working directly on a single surface - Updated examples accordingly --- examples/pcb_example.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'examples/pcb_example.py') diff --git a/examples/pcb_example.py b/examples/pcb_example.py index 5341da0..bba030e 100644 --- a/examples/pcb_example.py +++ b/examples/pcb_example.py @@ -24,6 +24,7 @@ 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')) @@ -33,7 +34,7 @@ ctx = GerberCairoContext() # Create a new PCB pcb = PCB.from_directory(GERBER_FOLDER) -pcb.theme = theme.THEMES['OSH Park'] -ctx.render_layers(pcb.top_layers, os.path.join(os.path.dirname(__file__), 'pcb_top.png')) -ctx.render_layers(pcb.bottom_layers, os.path.join(os.path.dirname(__file__), 'pcb_bottom.png')) +# Render PCB +ctx.render_layers(pcb.top_layers, os.path.join(os.path.dirname(__file__), 'pcb_top.png',), theme.THEMES['OSH Park']) +ctx.render_layers(pcb.bottom_layers, os.path.join(os.path.dirname(__file__), 'pcb_bottom.png'), theme.THEMES['OSH Park']) -- cgit From 5df38c014fd09792995b2b12b1982c535c962c9a Mon Sep 17 00:00:00 2001 From: Hamilton Kibbe Date: Thu, 28 Jan 2016 12:19:03 -0500 Subject: Cleanup, rendering fixes. fixed rendering of tented vias fixed rendering of semi-transparent layers fixed file type detection issues added some examples --- examples/pcb_example.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'examples/pcb_example.py') diff --git a/examples/pcb_example.py b/examples/pcb_example.py index bba030e..d09c17a 100644 --- a/examples/pcb_example.py +++ b/examples/pcb_example.py @@ -1,7 +1,7 @@ #! /usr/bin/env python # -*- coding: utf-8 -*- -# Copyright 2015 Hamilton Kibbe +# Copyright 2016 Hamilton Kibbe # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -27,14 +27,25 @@ 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 +# Create a new PCB instance pcb = PCB.from_directory(GERBER_FOLDER) -# Render PCB -ctx.render_layers(pcb.top_layers, os.path.join(os.path.dirname(__file__), 'pcb_top.png',), theme.THEMES['OSH Park']) -ctx.render_layers(pcb.bottom_layers, os.path.join(os.path.dirname(__file__), 'pcb_bottom.png'), theme.THEMES['OSH Park']) +# 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']) -- cgit