diff options
author | Hamilton Kibbe <hamilton.kibbe@gmail.com> | 2016-01-21 03:57:44 -0500 |
---|---|---|
committer | Hamilton Kibbe <hamilton.kibbe@gmail.com> | 2016-01-21 03:57:44 -0500 |
commit | 5476da8aa3f4ee424f56f4f2491e7af1c4b7b758 (patch) | |
tree | 427dafda78ee21a1846a2b9c9747dd96afe7e8a3 /gerber/pcb.py | |
parent | 7a532514631384dbfc9d7fc2002cbbfe52433c9f (diff) | |
download | gerbonara-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.py | 15 |
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 - |