ThisIsNotRocketScience / GerberTools

Tools to load/edit/create/panelizer sets of gerber files
MIT License
725 stars 144 forks source link

Fix/accuracy improvements #90

Closed pysco68 closed 5 years ago

pysco68 commented 5 years ago

I was debugging a production issue with ARC commands (G74 and G75) being messed up by some chinese manufacturers with gerbers panelized with GerberPanelize lately. I still have not fully figured out what goes haywire, but the files out of my ECAD work flawlessly, once passed through Panelize they exhibit messed-up arcs in some viewers / older CAM software.

Anyhow, as I was figuring out what the GerberLibrary is doing exactly I noticed some small-ish issues and inconsistencies I fixed in the commits below.

The one slightly ugly issue was the mixing up of float and double values in multiplications and divisions resulting in rounding error. Which happened a lot because of the metric/imperial conversions happening all over the place. To fix I had to make PointD XML-serializable.

The changes seem to be non-breaking as far as I tested it. But you may want to double check.

Greetings, Yannic

pysco68 commented 5 years ago

Btw. the issue I started this because of is not resolved. Just wanted to share the improvements anyway.

This one is actually precisely what I'm looking after: https://github.com/ThisIsNotRocketScience/GerberTools/issues/89