コード例 #1
0
        public GCodeFile Parse(TextReader input)
        {
            GCodeFile file = new GCodeFile();

            int lines = 0;

            while (input.Peek() >= 0)
            {
                string line     = input.ReadLine();
                int    nLineNum = lines++;

                GCodeLine l = ParseLine(line, nLineNum);
                file.AppendLine(l);
            }

            return(file);
        }
コード例 #2
0
        public virtual void Interpret(GCodeFile file, InterpretArgs args)
        {
            IEnumerable <GCodeLine> lines_enum =
                (args.HasTypeFilter) ? file.AllLines() : file.AllLinesOfType(args.eTypeFilter);

            listener.Begin();

            foreach (GCodeLine line in lines_enum)
            {
                if (line.type == GCodeLine.LType.GCode)
                {
                    Action <GCodeLine> parseF;
                    if (GCodeMap.TryGetValue(line.code, out parseF))
                    {
                        parseF(line);
                    }
                }
            }

            listener.End();
        }
コード例 #3
0
 public GCodeFileAccumulator(GCodeFile useFile = null)
 {
     File = (useFile != null) ? useFile : new GCodeFile();
 }
コード例 #4
0
        public void SaveGCode(TextWriter output, GCodeFile file)
        {
            StandardGCodeWriter writer = new StandardGCodeWriter();

            writer.WriteFile(file, output);
        }
コード例 #5
0
 public void Reset()
 {
     File = new GCodeFile();
 }
コード例 #6
0
 public virtual void SaveGCodeToFile(TextWriter output, GCodeFile file)
 {
     Writer.WriteFile(file, output);
 }