Created by: Moult
Please don't merge this PR! It is a work in progress!
https://forum.freecadweb.org/viewtopic.php?f=39&t=36663