# Simple GCode to KRL Parser import datetime import re FileName = ("wrench.nc") # File to convert. PathName = ("C:/Temp/") # Full directory path containing file. Remember to include the trailing slash. Use FORWRAD SLASHES / LineIndex = 0 TimeStamp = str(datetime.datetime.now()) OutFileName = FileName.lower() OutFileName = OutFileName.replace(".nc", ".dat") OutFileName = OutFileName.replace(" ", "_") R1File = open(PathName + OutFileName,"w") # Robot 1 output file # add headers and init to top of .SRC file R1File.write("&ACCESS RVO1"+"\r\n") R1File.write("&COMMENT "+"\r\n") R1File.write("DEFDAT " + FileName + "\r\n") R1File.write("; Created by simple GCode to KRL Parser" + "\r\n") R1File.write("; From Source File: " + PathName + FileName + "\r\n") R1File.write("; On " + TimeStamp + "\r\n") R1File.write("DECL FRAME CNCPointArray [32766]" + "\r\n") InputFile = open(PathName + FileName, "r") for InLine in InputFile: OutLine = InLine.rstrip() OutLine = OutLine.lstrip() OutLine = OutLine.upper() if (("X" in OutLine) or ("Y" in OutLine) or ("Z" in OutLine)): LineIndex = LineIndex + 1 if (OutLine.find("X") < 0): if (OutLine.find("Y") < 0): FirstIndex = OutLine.find("Z") else: FirstIndex = OutLine.find("Y") else: FirstIndex = OutLine.find("X") OutLine = OutLine[FirstIndex:] OutLine = OutLine.replace("X", "X ") OutLine = OutLine.replace("Y", ",Y ") OutLine = OutLine.replace("Z", ",Z ") if ("F" in InLine): OutLine = OutLine[: OutLine.find("F")] OutLine = "CNCPointArray[" + str(LineIndex) + "]={" + OutLine + "} " + "\r\n" OutLine = OutLine.replace("{,", "{") #print OutLine R1File.write (OutLine) R1File.write("END" + "\r" + "\n") R1File.close() InputFile.close()