I am interested in developing a CAD software using C, C++ and
Java. (C++ as the base, with high performance intensive code in C, and
a lot of other code like GUI in Java). I want to take suggestions from
experienced people. I want to release that as an Open Source software.
And the software will be submitted as my project work.
Currently, I want to develop a software which can achieve the
1) Client/Server based, with server capable of Grid computing
(ready for second or third version)
2) Module based, with majority of the services provided by the
software itself. All the modules will just interact with the main
software (which is actually a client) with the help of messages and
3) The software will not stick on to a single branch of
engineering, instead it will be developed so that modules can be
developed for any branch of engineering.
4) XML will be used for everything. Like data storage,
software configuration, and anything else that comes up.
5) Database will be provided at the server end so that team
work is possible.
6) And many more to follow, but everything is not intended for
the first release.
I have following doubts, I will appreciate if anybody can help
me with their valuable suggestions.
1) I am thinking of using Boundary Representation for
representing the models. As the software is intended for every sort of
module, will this representation suit for analysis software's as well?
2) What is the best way of representing the models?
3) If I use database to store models, Will I have to store them
in the same way as I store the files?
4) I want to take IGES into consideration while designing my
own file storage format. Although, I would like my software to support
IGES, I want to use XML instead, because it offers many advantages in
both storing and using. Is there any other file format that I can
5) Will module based design work out the problem of a platform
for every sort of engineering design?
I will be glad if anybody can give me a link OR suggest me some
techniques, OR give ideas. (Sorry for such a long message)
Thanks in advance.