MCad was developed as university assignment. It's written in C++ and requires wxWindows and libxerces-c. Mcad works fine on Linux (screenshot), Windows (screenshot) and Solaris (screenshot).