30 lines
967 B
Python
30 lines
967 B
Python
|
from camlib import *
|
||
|
|
||
|
|
||
|
def gerber_find(filename, coords, frac_digits=5, tol=0.1):
|
||
|
g = Gerber()
|
||
|
f = open(filename)
|
||
|
current_x = None
|
||
|
current_y = None
|
||
|
line_num = 0
|
||
|
for line in f:
|
||
|
line_num += 1
|
||
|
try:
|
||
|
match = g.lin_re.search(line)
|
||
|
if match:
|
||
|
# Parse coordinates
|
||
|
if match.group(2) is not None:
|
||
|
current_x = parse_gerber_number(match.group(2), frac_digits)
|
||
|
if match.group(3) is not None:
|
||
|
current_y = parse_gerber_number(match.group(3), frac_digits)
|
||
|
|
||
|
if distance(coords, (current_x, current_y)) <= tol:
|
||
|
print line_num, ":", line.strip('\n\r')
|
||
|
except Exception as e:
|
||
|
print str(e)
|
||
|
print line_num, ":", line.strip('\n\r')
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
filename = "/home/jpcaram/flatcam_test_files/ExtraTrace_cleanup.gbr"
|
||
|
gerber_find(filename, (1.2, 1.1))
|