#!/usr/bin/env python3 # -*- coding: utf-8 -*- import sys, getopt import pcbnew """ This program runs pcbnew and imports a Specctra SES file, then saves the result as a new KiCad PCB. """ def main(argv): board_file = '' output_file = '' session_file = '' try: opts, args = getopt.getopt(argv, "hb:s:o:",["board=","session=","output="]) except getopt.GetoptError: print ('import_ses.py -b -s -o ') sys.exit(2) for opt, arg in opts: if opt == '-h': print ('import_ses.py -b -s -o ') sys.exit() elif opt in ("-b", "--board"): board_file = arg elif opt in ("-s", "--session"): session_file = arg elif opt in ("-o", "--output"): output_file = arg print('Importing Specctra SES ', session_file,' for ', board_file) board = pcbnew.LoadBoard(board_file) pcbnew.ImportSpecctraSES(board, session_file) success = pcbnew.SaveBoard(output_file, board, True) if success: print('Saved output to ', output_file) else: print('Couldn\'t save output to ', output_file) if __name__ == "__main__": main(sys.argv[1:])