cleanCoordinate function

double cleanCoordinate(
  1. double v
)

v rounded to 1e-6 mm, with -0 made 0: the dust of a rotation (1e-13 off a whole millimetre) never reaches a library. A sub-micrometre value is never meaningful in a symbol.

Implementation

double cleanCoordinate(double v) {
  final r = (v * 1e6).roundToDouble() / 1e6;
  return r == 0 ? 0 : r;
}