From 0c687ed23484d29e608e6411275a5f20d27bd600 Mon Sep 17 00:00:00 2001 From: Sandy Noble Date: Sun, 25 Jun 2017 17:12:18 +0100 Subject: [PATCH] Fixed some gcode importing gotchas --- polargraphcontroller.pde | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/polargraphcontroller.pde b/polargraphcontroller.pde index 67c36d6..b4867d7 100644 --- a/polargraphcontroller.pde +++ b/polargraphcontroller.pde @@ -1297,6 +1297,7 @@ RShape loadShapeFromGCodeFile(String filename) { boolean reportStatus = true; while ((line = reader.readLine ()) != null) { lineNo++; + println("Line: " + line); if (reportStatus) { float percent = ((float)lineNo / (float)countLines) * 100.0; @@ -1320,10 +1321,8 @@ RShape loadShapeFromGCodeFile(String filename) { println(e.toString()); continue; } + println("Ins: " + ins); Integer code = Math.round(ins.get("G")); - if (code >= 2) { - continue; - } Float z = ins.get("Z"); if (z != null) { @@ -1366,19 +1365,6 @@ RShape loadShapeFromGCodeFile(String filename) { parent.addMoveTo(x, y); } } -// RPoint[][] points = parent.getPointsInPaths(); -// totalPoints = 0; -// if (points != null) { -// for (int i = 0; i unpackGCodeInstruction(String line) throws Exception { String[] splitted = line.trim().split(" "); for (int i = 0; i < splitted.length; i++) { String axis = splitted[i].substring(0, 1); - Float value = Float.parseFloat(splitted[i].substring(1)); + String sanitisedValue = splitted[i].substring(1); + println("BEfore:" + sanitisedValue); + sanitisedValue = sanitisedValue.replace(",", "."); + println("After: " + sanitisedValue); + + Float value = Float.parseFloat(sanitisedValue); if ("X".equalsIgnoreCase(axis) || "Y".equalsIgnoreCase(axis) || "Z".equalsIgnoreCase(axis) || "G".equalsIgnoreCase(axis)) { - instruction.put(axis, value); + instruction.put(axis.toUpperCase(), value); } } // println("instruction: " + instruction); if (instruction.isEmpty()) { - throw new Exception(); + throw new Exception("Empty instruction"); } } + catch (NumberFormatException nfe) { + println("Number format exception: " + nfe.getMessage()); + } catch (Exception e) { + println("e: " + e); throw new Exception("Exception while reading the lines from a gcode file: " + line + ", " + e.getMessage()); } + println("Instruction: " + instruction); return instruction; }