Ultimaker / Uranium

A Python framework for building Desktop applications.
GNU Lesser General Public License v3.0
328 stars 186 forks source link

Scaling-to-fit may suffer from float rounding artifacts #159

Open sevaa opened 8 years ago

sevaa commented 8 years ago

Uranium has logic to scale loaded meshes to fit into the printable area (in UM/Mesh/ReadMeshJob.run(), line 74 and below). Because of floating point math being inherently imprecise, the scaled mesh may still not fit into the printable area.

Please introduce a rounding tolerance factor to account for that. Forcibly multiply the calculated scaling factor by 0.99999 or something of that nature.

Ghostkeeper commented 8 years ago

Hmm, this one again. Our internal issue tracker says this was solved back in April. Must be a regression.

We have a bugfix planned for 2.4 and a rewrite for 3.1. I'll add this bug to be planned in as well.