44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
|
import os
|
||
|
import sys
|
||
|
|
||
|
dir_path = None
|
||
|
|
||
|
# Gerber files generated by Kicad are content- compatible with those
|
||
|
# made in EAGLE but naming convention is different, which can be problematic
|
||
|
# Renaming GERBERS to EAGLE convention eg. enables OSHPark to parse them
|
||
|
|
||
|
# Remember to megre PTH and NPTH drillings to one .drl file
|
||
|
|
||
|
EAGLE_counterparts = {
|
||
|
"-F.Cu.gbr": ".GTL", # Top Layer
|
||
|
"-B.Cu.gbr": ".GBL", # Bottom Layer
|
||
|
"-F.Mask.gbr": ".GTS", # Top Soldermask
|
||
|
"-B.Mask.gbr": ".GBS", # Bottom Soldermask
|
||
|
"-F.SilkS.gbr": ".GTO", # Top Silkscreen
|
||
|
"-B.SilkS.gbr": ".GBO", # Bottom Silkscreen
|
||
|
# "": ".G2L",
|
||
|
# "": ".G3L",
|
||
|
"-Edge.Cuts.gbr": ".GKO", # Board Outline
|
||
|
".drl": ".XLN" # Drills
|
||
|
}
|
||
|
|
||
|
|
||
|
def eaglize_file(filename):
|
||
|
for k_format in EAGLE_counterparts.keys():
|
||
|
if filename.endswith(k_format):
|
||
|
k = filename.rfind(k_format)
|
||
|
new_filename = filename[:k] + EAGLE_counterparts[k_format]
|
||
|
os.rename(filename, new_filename)
|
||
|
return new_filename
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
try:
|
||
|
dir_path = sys.argv[1]
|
||
|
except IndexError:
|
||
|
dir_path = '.'
|
||
|
|
||
|
for root, dirs, files in os.walk(dir_path):
|
||
|
for file_name in files:
|
||
|
eaglize_file(file_name)
|