static DMesh3 GenerateTubeMeshesForGCode(string sPath, double pathWidth = 0.4) { GenericGCodeParser parser = new GenericGCodeParser(); GCodeFile gcode; using (FileStream fs = new FileStream(sPath, FileMode.Open, FileAccess.Read)) { using (TextReader reader = new StreamReader(fs)) { gcode = parser.Parse(reader); } } GCodeToLayerTubeMeshes make_tubes = new GCodeToLayerTubeMeshes() { TubeProfile = Polygon2d.MakeCircle(pathWidth / 2, 12), InterpretZChangeAsLayerChange = false }; make_tubes.WantTubeTypes.Add(ToolpathTypes.Travel); ThreeAxisCNCInterpreter interpreter = new ThreeAxisCNCInterpreter(); interpreter.AddListener(make_tubes); interpreter.Interpret(gcode, new InterpretArgs()); DMesh3 tubeMesh2 = make_tubes.GetCombinedMesh(1); return(tubeMesh2); }
static DMesh3 GenerateTubeMeshesForGCode(string sPath) { GenericGCodeParser parser = new GenericGCodeParser(); GCodeFile gcode; using (FileStream fs = new FileStream(sPath, FileMode.Open, FileAccess.Read)) { using (TextReader reader = new StreamReader(fs)) { gcode = parser.Parse(reader); } } GCodeToLayerTubeMeshes make_tubes = new GCodeToLayerTubeMeshes() { TubeProfile = Polygon2d.MakeCircle(0.2f, 12) }; MakerbotInterpreter interpreter = new MakerbotInterpreter(); interpreter.AddListener(make_tubes); interpreter.Interpret(gcode, new InterpretArgs()); DMesh3 tubeMesh2 = make_tubes.GetCombinedMesh(1); return(tubeMesh2); }