One other import thought comes to mind, and it really does not have to do with CAD programs. I’m assuming by what you mentioned that you own a ranch home that you want to add a second floor to. I would like to point out that there is no guarantee that the foundation and walls of the rancher are sufficient to carry the weight of a second floor, and no CAD program will tell you that.
You will need to get it all checked out by a qualified individual before you start designing. Your municipality will require this before any permit is even considered. They should know of someone, or maybe even have the appropriate engineer on staff.