arpruss / gcodeplot

Use a 3-axis machine as a pen plotter
Other
167 stars 60 forks source link

"Drawing out of range" with negative coordinates #16

Open TheNitek opened 4 years ago

TheNitek commented 4 years ago

My plotter has (0, 0) at the center, so I want to be able to use negative X and Y values. So I set Left and Buttom to negative values. Unfortunately this gives my a "Drawing out of range" showing coordinates that are NOT. I had a look at the code, but I couldn't find a obvious reason.

TheNitek commented 4 years ago

I found the problem: scale.offset = (plotter.xyMin[0],plotter.xyMin[1]) breaks scale.scalePoint(point) for negative values.

arpruss commented 4 years ago

Does your svg file have negative coordinates?

TheNitek commented 4 years ago

Yes, because my plottable area is -40 to 40 in both directions

arpruss commented 4 years ago

Have you tried using positive coordinates and letting gcodeplot offset it to the negative area?

TheNitek commented 4 years ago

No I didn't yet, because that doesn't seem to be available within the UI. Also I find it to be more intuitive to have the same coordinates in Inkscape as on my plotter.

arpruss commented 4 years ago

That's I think the source of the problem: the plugin automatically adjust the drawing location so that the drawing's 0,0 corresponds to the minX,minY on the plotter.

nylen commented 4 years ago

That's I think the source of the problem: the plugin automatically adjust the drawing location so that the drawing's 0,0 corresponds to the minX,minY on the plotter.

I think this is a bug. This program should be looking at the min and max coordinates of the SVG, not assuming they are 0,0.