summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgerber/excellon.py3
-rw-r--r--gerber/excellon_statements.py2
-rw-r--r--gerber/tests/test_gerber_statements.py9
3 files changed, 11 insertions, 3 deletions
diff --git a/gerber/excellon.py b/gerber/excellon.py
index 072bc31..9a5ef22 100755
--- a/gerber/excellon.py
+++ b/gerber/excellon.py
@@ -163,7 +163,7 @@ class ExcellonParser(object):
self.active_tool = self.tools[stmt.tool]
#self.active_tool = self.tools[int(line.strip().split('T')[1])]
self.statements.append(stmt)
-
+
elif line[0] in ['X', 'Y']:
stmt = CoordinateStmt.from_excellon(line, fmt, zs)
x = stmt.x
@@ -194,7 +194,6 @@ class ExcellonParser(object):
if self.ctx is not None:
self.ctx.drill(self.pos[0], self.pos[1],
self.active_tool.diameter)
-
else:
self.statements.append(UnknownStmt.from_excellon(line))
diff --git a/gerber/excellon_statements.py b/gerber/excellon_statements.py
index 09b72c1..caf1626 100644
--- a/gerber/excellon_statements.py
+++ b/gerber/excellon_statements.py
@@ -151,7 +151,7 @@ class ExcellonTool(ExcellonStatement):
else:
stmt += 'S%g' % self.rpm / 1000.
if self.diameter is not None:
- stmt += 'C%s' % decimal_string(self.diameter, 5, True)
+ stmt += 'C%s' % decimal_string(self.diameter, fmt[1], True)
if self.depth_offset is not None:
stmt += 'Z%s' % write_gerber_value(self.depth_offset, fmt, zs)
return stmt
diff --git a/gerber/tests/test_gerber_statements.py b/gerber/tests/test_gerber_statements.py
index 121aa42..7495ba7 100644
--- a/gerber/tests/test_gerber_statements.py
+++ b/gerber/tests/test_gerber_statements.py
@@ -87,6 +87,15 @@ def test_IPParamStmt_dump():
assert_equal(ip.to_gerber(), '%IPNEG*%')
+def test_OFParamStmt_factory():
+ """ Test OFParamStmt factory correctly handles parameters
+ """
+ stmt = {'param': 'OF', 'a': '0.1234567', 'b':'0.1234567'}
+ of = OFParamStmt.from_dict(stmt)
+ assert_equal(of.a, 0.1234567)
+ assert_equal(of.b, 0.1234567)
+
+
def test_OFParamStmt_dump():
""" Test OFParamStmt to_gerber()
"""