I've been developing a CAD/CAM kernel for a couple of years and I would
like to make is as extendable as possible. It already has a run-time
type information subsystem, which makes it possible to save,
dynamically create and load objects, which are derived from the general
modeling class. An extendable command architecture with user inputs, a
messaging system and a multi-platform GUI (based on <a
href="http://www.wxwindows.org">wxWindows</a> ) offers entry points for
3rd party applicatons under Win32 and Linux/GTK . I've decided to open -
almost- all kernel classes for the 3rd party developers and not to
shrink the possibilities down.
The C++ interface for such applications is working fine (I'm using it
for the NC toolpath generator, STEP/PDES, IGES, VRML interface and for
3D modeling applications).
Commands, GUI elements and international message strings are loaded
from ASCII resource files this time and they are linked to each other
through a naming mechanism. (the 'ADK Editor' has not been implemented
yet). Applications are stored in dynamically linked libraries and being
loaded at run-time.
But, I've found, that most of my customers and partners would prefer to
extend or customize it in a 'lighter' development environment (Java or
Delphi), instead of C++.
A CORBA-based API seems to be the best solution, but I would like to
collect information, how to start to rewrite my code to have its
kernel a CORBA-based API.
I know, that it is possible, a simulation package based on CORBA is
being developed at <a
href="http://hpcc.lerc.nasa.gov/hpcc2/oop_sys_sw.shtml">NASA</a>, but I
haven't cotacted them yet.
My kernel's code is written in C++ (cca. 690-700 header files, 1000+
classes) and about 450-500 000 lines of source code, so I'm aware of
jumping into it without asking CORBA experts, what to begin with.
So, my questions are the following :
- Is CORBA a good choice to open up a CAD/CAM kernel? (what is the
performance of CORBA calls on the same machine compared to a DLL or a
- Which ORB to use on Win32 and on Linux to avoid headache when porting
- Is there a tool, which helps creating IDL files from class
definitions/header files? (I'm worrying about the amount of typing and
- Which book/tutorial to buy/read. (next week I will buy one copy
of "Advanced CORBA Programming with C++" by Michi Henning and Steve
Thank you in advance
"Always look on the bright side of CAM"
Sent via Deja.com http://www.deja.com/
Before you buy.