Ejemplo n.º 1
0
        public string PreprocessGCode(string filename, PrinterInfo printerInfo, InternalPrinterProfile printerProfile, IPreprocessor processor, JobDetails bounds, int number)
        {
            var    fileInfo      = new FileInfo(filename);
            var    directoryName = fileInfo.DirectoryName;
            var    name          = fileInfo.Name;
            var    length        = name.IndexOf('_');
            string str;

            if (length > 0)
            {
                str = name.Substring(0, length) + "_" + number + "_" + processor.Name + "_processed.gcode";
            }
            else
            {
                str = name.Substring(0, name.Length - fileInfo.Extension.Length) + "_" + number + "_" + processor.Name + "_processed.gcode";
            }

            var gcodefilename = directoryName + Path.DirectorySeparatorChar.ToString() + str;
            var input_reader  = new GCodeFileReader(filename);
            var output_writer = new GCodeFileWriter(gcodefilename);

            if (!processor.ProcessGCode(input_reader, output_writer, printerInfo.calibration, bounds, printerProfile))
            {
                return(null);
            }

            input_reader.Close();
            output_writer.Close();
            return(gcodefilename);
        }
Ejemplo n.º 2
0
        public bool RunProcessor(IPreprocessor processor, String inputFile, String outputFile)
        {
            var reader = new GCodeReader(inputFile);
            var writer = new GCodeWriter(outputFile);

            try
            {
                return(processor.ProcessGCode(reader, writer, getPrinterDetails(), getJobDetails()));
            }
            finally
            {
                reader.Close();
                writer.Close();
            }
        }