MatCad isn't bad.