From faaf921ccc512e83527db351b121de9894547414 Mon Sep 17 00:00:00 2001 From: Dan White Date: Mon, 16 Jan 2012 12:31:51 -0600 Subject: [PATCH] Footprinter uses PCB's native nm units. --- test-pcb/fp/footprinter.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/test-pcb/fp/footprinter.py b/test-pcb/fp/footprinter.py index 9030425..51caec0 100644 --- a/test-pcb/fp/footprinter.py +++ b/test-pcb/fp/footprinter.py @@ -8,21 +8,22 @@ Licence: Creative Commons Attribution 3.0 Unported License ''' +def um(x): + '''Get standard units from a measurement in micrometers.''' + return int(x * 1000) + def mm (x): '''Get standard units from a measurement in millimeters.''' - return x * 1e5 / 25.4 + return int(x * 1000000) def mil (x): '''Get standard units from a measurement in thousandths of an inch.''' - return x * 100 + return int(x * 25400) def inch (x): '''Get standard units from a measurement in inches.''' - return x * 1e5 + return int(x * 25400000) -def hmil (x): - '''For completeness: Get standard units from a measurement in hundreths of a mil.''' - return x class Footprint (object): def __init__ (self, padpins=None, linearcs=None, sflags='', description=''): @@ -46,7 +47,7 @@ class Footprint (object): self.write (f) def write (self, f): - f.write ('Element ["%s" "%s" "" "" %d %d %d %d %d %d "%s"]\n' + f.write ('Element ["%s" "%s" "" "" %dnm %dnm %dnm %dnm %d %d "%s"]\n' % (self.sflags, self.description, self.mx, self.my , self.tx, self.ty, self.tdir, self.tscale, self.tsflags) ) @@ -85,7 +86,7 @@ class Pad (object): self.sflags = sflags def write (self, f): - f.write ('Pad [%d %d %d %d %d %d %d "%s" "%s" "%s"]\n' + f.write ('Pad [%dnm %dnm %dnm %dnm %dnm %dnm %dnm "%s" "%s" "%s"]\n' % (self.rx1, self.ry1, self.rx2, self.ry2 , self.thickness, self.clearance, self.mask , self.name, self.number, self.sflags @@ -106,7 +107,7 @@ class Pin (object): self.sflags = sflags def write (self, f): - f.write ('Pin [%d %d %d %d %d %d "%s" "%s" "%s"]\n' + f.write ('Pin [%dnm %dnm %dnm %dnm %dnm %dnm "%s" "%s" "%s"]\n' % (self.rx, self.ry , self.thickness, self.clearance, self.mask, self.drill , self.name, self.number, self.sflags @@ -122,7 +123,7 @@ class ElementLine (object): self.thickness = thickness def write (self, f): - f.write ('ElementLine [%d %d %d %d %d]\n' + f.write ('ElementLine [%dnm %dnm %dnm %dnm %dnm]\n' % (self.rx1, self.ry1, self.rx2, self.ry2, self.thickness) ) @@ -137,6 +138,6 @@ class ElementArc (object): self.thickness = thickness def write (self, f): - f.write ('ElementArc [%d %d %d %d %d %d %d]\n' + f.write ('ElementArc [%dnm %dnm %dnm %dnm %d %d %dnm]\n' % (self.rx, self.ry, self.width, self.height, self.start_angle, self.delta_angle, self.thickness) ) -- 2.25.1