@mjd I don't know how much it fits your needs, but @FreeCAD checks all thosepoints and more, much much more.