| 123456789101112131415161718192021222324252627282930 |
- 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))
|