From b7c3b5a7875f0fc95cd5c8e0851d1edb998ada0d Mon Sep 17 00:00:00 2001 From: Thomas Oster <thomas.oster@rwth-aachen.de> Date: Wed, 31 Oct 2012 18:19:05 +0100 Subject: [PATCH] EpilogDriver Fix: Wrong resolutions for EpilogZing. Also split a job if the parts have different resolutions --- src/com/t_oster/liblasercut/drivers/EpilogCutter.java | 7 +++++-- src/com/t_oster/liblasercut/drivers/EpilogZing.java | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/com/t_oster/liblasercut/drivers/EpilogCutter.java b/src/com/t_oster/liblasercut/drivers/EpilogCutter.java index 6d8fb8b..a5cff64 100644 --- a/src/com/t_oster/liblasercut/drivers/EpilogCutter.java +++ b/src/com/t_oster/liblasercut/drivers/EpilogCutter.java @@ -339,13 +339,16 @@ abstract class EpilogCutter extends LaserCutter toDo.remove(0); } else - {//vector parts can be prepended by one raster part + {//vector parts can be prepended by one raster part, but one job has + //to have the same resolution everywhere (??? if you have time, feel + //free to experiment) + double currentDpi = toDo.get(0).getDPI(); if (toDo.get(0) instanceof RasterPart) { currentSplit.add(toDo.get(0)); toDo.remove(0); } - while (!toDo.isEmpty() && toDo.get(0) instanceof VectorPart) + while (!toDo.isEmpty() && toDo.get(0) instanceof VectorPart && toDo.get(0).getDPI() == currentDpi) { currentSplit.add(toDo.get(0)); toDo.remove(0); diff --git a/src/com/t_oster/liblasercut/drivers/EpilogZing.java b/src/com/t_oster/liblasercut/drivers/EpilogZing.java index b1d6c03..12e17a6 100644 --- a/src/com/t_oster/liblasercut/drivers/EpilogZing.java +++ b/src/com/t_oster/liblasercut/drivers/EpilogZing.java @@ -52,7 +52,7 @@ public class EpilogZing extends EpilogCutter private static final double[] RESOLUTIONS = new double[] { - 300, 500, 600, 1000 + 100, 200, 250, 400, 500, 1000 }; @Override -- GitLab