diff options
author | Garret Fick <garret@ficksworkshop.com> | 2016-05-28 17:03:40 +0800 |
---|---|---|
committer | Garret Fick <garret@ficksworkshop.com> | 2016-05-28 17:03:40 +0800 |
commit | ea97d9d0376db6ff7afcc7669eec84a228f8d201 (patch) | |
tree | 624bf71a375f1d52798d4cd76f3de6cad839e834 /gerber/render/rs274x_backend.py | |
parent | 5a20b2b92dc7ab82e1f196d1efbf4bb52a163720 (diff) | |
download | gerbonara-ea97d9d0376db6ff7afcc7669eec84a228f8d201.tar.gz gerbonara-ea97d9d0376db6ff7afcc7669eec84a228f8d201.tar.bz2 gerbonara-ea97d9d0376db6ff7afcc7669eec84a228f8d201.zip |
Fix issue with switching between ROUT and normal drill modes
Diffstat (limited to 'gerber/render/rs274x_backend.py')
-rw-r--r-- | gerber/render/rs274x_backend.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gerber/render/rs274x_backend.py b/gerber/render/rs274x_backend.py index 2ca7014..bb784b1 100644 --- a/gerber/render/rs274x_backend.py +++ b/gerber/render/rs274x_backend.py @@ -331,7 +331,11 @@ class Rs274xContext(GerberContext): def _hash_amacro(self, amgroup): '''Calculate a very quick hash code for deciding if we should even check AM groups for comparision''' - hash = '' + # We always start with an X because this forms part of the name + # Basically, in some cases, the name might start with a C, R, etc. That can appear + # to conflict with normal aperture definitions. Technically, it shouldn't because normal + # aperture definitions should have a comma, but in some cases the commit is omitted + hash = 'X' for primitive in amgroup.primitives: hash += primitive.__class__.__name__[0] @@ -348,6 +352,11 @@ class Rs274xContext(GerberContext): hash += str(primitive.height * 1000000)[0:2] elif isinstance(primitive, Circle): hash += str(primitive.diameter * 1000000)[0:2] + + if len(hash) > 20: + # The hash might actually get quite complex, so stop before + # it gets too long + break return hash @@ -361,7 +370,7 @@ class Rs274xContext(GerberContext): if macroinfo: - # We hae a definition, but check that the groups actually are the same + # We have a definition, but check that the groups actually are the same for macro in macroinfo: # Macros should have positions, right? But if the macro is selected for non-flashes |