Open Source CAD/CAE Framework
QtOPENCASCADE, or QtOCC (cute-ock) for short, will be a framework for development of Computer Aided Design and Engineering Applications. Its primary goal is to free developers, engineers and researchers from the tedious nature of integrating computational geometry into their applications, leaving them to focus on their specialist domains. The major elements of the framework are the OpenCascade solids modelling libraries for the geometry engine, and Trolltech's Qt4 toolkit for the user interface. These are both open source libaries that have been proved to work well together, but a standard reference application has never been published that uses these libaries to their fullest extent.
TrollTech's Qt4 product (www.trolltech.com) has made substantial penetration into the scientific and enginnering community as an excellent multi-platform environment for the development of applications, and this is enhanced by forthcoming changes to its licensing model for programming Windows applications on Microsoft technologies. OpenCascade (www.opencascade.org) is a extremely powerful geometry engine, unfortunately not adopted entirely by the open source community due to its non-Debian compliant open source license. However, developers across the world believe that a well designed framework built on these two technologies will provide a basis for many diverse application projects in the fields of CAD and CAE.
Since the original release of a multi-platform Qt widget that provided a 3D rendering of OpenCascade BREP, IGES or STEP geometries, the work has been targetted at developing an interactive CAD application. One of the team members has also been working on a Win32 port of SALOME's GEOM module at sourceforge.net/projects/salomegeometry and this shows the promise as the core geometry engine for QtOCC. The QtOCC team have been able to make an early release of a multi-platform Qt widget that provides a 3D rendering of OpenCascade BREP, IGES or STEP geometries. This was a redesign that was completely layered on Qt4, without any Qt3 support classes. This harness shows the potential for the framework, but it is also valid in its own right as an easy to use starter application for new OpenCascade projects.
So what's next...
The current proposition is the next step should be to develop a sketcher program that builds upon the current code to give a standardised MVC type pattern for the user interface.