public ToolPathGeneratorPresenter( IStlReader stlReader, ISlicer slicer, IPather pather, IMeshHelper meshHelper, IGCodeGenerator generator) { _stlReader = stlReader; _generator = generator; _meshHelper = meshHelper; _pather = pather; _slicer = slicer; }
private void GenerateShapeCode(short typeGeometric, Geometric shape, bool simulate) { GCodeShapeFactory gcodeFactory = new GCodeShapeFactory(); IGCodeGenerator shapeGenerator = gcodeFactory.Build(typeGeometric); StringBuilder gCodeCmd = simulate ? shapeGenerator.GenerateSimulatorGCode(shape) : shapeGenerator.GenerateGCode(shape); if (gCodeCmd != null && gCodeCmd.Length > 0) { numberExpectedRespones = 0; txtLog.AppendText(gCodeCmd.ToString()); //GRBL returns ok/error for each line sent. This variable is used to know when the excecution has finished. numberExpectedRespones = gCodeCmd.ToString().Split('\n').Length - 1; SerialPortManager.ExecuteCommands(gCodeCmd); //TODO manage Input when GRBL Return error } }