summaryrefslogtreecommitdiff
path: root/gerber/pcb.py
diff options
context:
space:
mode:
authorHamilton Kibbe <hamilton.kibbe@gmail.com>2016-01-21 03:57:44 -0500
committerHamilton Kibbe <hamilton.kibbe@gmail.com>2016-01-21 03:57:44 -0500
commit5476da8aa3f4ee424f56f4f2491e7af1c4b7b758 (patch)
tree427dafda78ee21a1846a2b9c9747dd96afe7e8a3 /gerber/pcb.py
parent7a532514631384dbfc9d7fc2002cbbfe52433c9f (diff)
downloadgerbonara-5476da8aa3f4ee424f56f4f2491e7af1c4b7b758.tar.gz
gerbonara-5476da8aa3f4ee424f56f4f2491e7af1c4b7b758.tar.bz2
gerbonara-5476da8aa3f4ee424f56f4f2491e7af1c4b7b758.zip
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
Diffstat (limited to 'gerber/pcb.py')
-rw-r--r--gerber/pcb.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/gerber/pcb.py b/gerber/pcb.py
index 0518dd4..92a1f28 100644
--- a/gerber/pcb.py
+++ b/gerber/pcb.py
@@ -63,13 +63,15 @@ class PCB(object):
@property
def top_layers(self):
- board_layers = [l for l in reversed(self.layers) if l.layer_class in ('topsilk', 'topmask', 'top')]
+ board_layers = [l for l in reversed(self.layers) if l.layer_class in
+ ('topsilk', 'topmask', 'top')]
drill_layers = [l for l in self.drill_layers if 'top' in l.layers]
return board_layers + drill_layers
@property
def bottom_layers(self):
- board_layers = [l for l in self.layers if l.layer_class in ('bottomsilk', 'bottommask', 'bottom')]
+ board_layers = [l for l in self.layers if l.layer_class in
+ ('bottomsilk', 'bottommask', 'bottom')]
drill_layers = [l for l in self.drill_layers if 'bottom' in l.layers]
return board_layers + drill_layers
@@ -78,10 +80,16 @@ class PCB(object):
return [l for l in self.layers if l.layer_class == 'drill']
@property
+ def copper_layers(self):
+ return [layer for layer in self.layers if layer.layer_class in
+ ('top', 'bottom', 'internal')]
+
+ @property
def layer_count(self):
""" Number of *COPPER* layers
"""
- return len([l for l in self.layers if l.layer_class in ('top', 'bottom', 'internal')])
+ return len([l for l in self.layers if l.layer_class in
+ ('top', 'bottom', 'internal')])
@property
def board_bounds(self):
@@ -91,4 +99,3 @@ class PCB(object):
for layer in self.layers:
if layer.layer_class == 'top':
return layer.bounds
-