fix a genarating closed path issue

This commit is contained in:
opiopan 2019-04-24 22:55:23 +09:00
parent 0d91ed834d
commit 6ec5884203
2 changed files with 21 additions and 4 deletions

View file

@ -173,9 +173,20 @@ class DxfPath(object):
def generate_closed_paths(statements, error_range=0):
from gerberex.dxf import DxfLineStatement, DxfArcStatement
paths = [DxfPath(s, error_range) \
for s in filter(lambda s: isinstance(s, DxfLineStatement) or \
isinstance(s, DxfArcStatement), statements)]
unique_statements = []
redundant = 0
for statement in statements:
for target in unique_statements:
if not isinstance(statement, DxfLineStatement) and \
not isinstance(statement, DxfArcStatement):
break
if statement.is_equal_to(target, error_range):
redundant += 1
break
else:
unique_statements.append(statement)
paths = [DxfPath(s, error_range) for s in unique_statements]
prev_paths_num = 0
while prev_paths_num != len(paths):

View file

@ -10,7 +10,7 @@ def read(fname):
METADATA = {
'name': 'pcb-tools-extension',
'version': "0.1.4",
'version': "0.1.5",
'author': 'Hiroshi Murayama <opiopan@gmail.com>',
'author_email': "opiopan@gmail.com",
'description': ("Extension for pcb-tools package to panelize gerber files"),
@ -24,10 +24,16 @@ METADATA = {
"Development Status :: 3 - Alpha",
"Topic :: Utilities",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python",
"Programming Language :: Python :: 2",
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
],
}