Hi people, Some comments after reading through the latest batch of posts: 2D Vs 3D Don't even consider doing 2D if you want a decent "general purpose" CAD package. If you have a 3D code base, it is very easy to include functionality that will lock one of the axis to 0.0 so that it "looks", ie you can't rotate around all three axes, 2D. You can't do the reverse if you only have a 2D code base. Text Vs binary There is no problem with using binary IF THE FILE FORMAT IS PUBLISHED. Yes you are correct in that you can't edit a binary file in a text editor, you use a hex editor for that, but to a CAD manager the concept of some drongo firing up Vi/Emacs/Nano/Pico to "fix a problem with a drawing", is just about enough to induce a heart attack. A point that must be considered when choosing a file format is if the system will be memory based, like AutoCAD, or file based, like MicroStation. If it is file based, then the only option is to use binary, it is much faster. MySQL Use a database interface such as ODBC/JDBC so that the user can decide what database they want to use. I don't think it is up to "us" to decide if the user is going to use MySQL/Oracle/Postgres/Interbase/Firebird/.../..../, use an interface and the user can decide Vector Vs Object You need both of these. You can't draw objects without vectors.....oh bugga, I had something deep and meaningful for this bit but I just forgot it :( Cascade Open Cascade is a set of libraries, not an appliation. You have to build all of the menu, mouse, layers etc etc yourself. A lot of the stuff needed for a CAD system is there, but you need a lot more for UI VRML It is NOT suitable to use as a file format for a CAD system. Forget you ever heard of it in this context Regards, Andrew Lowe