Aug 23, 2008

Needed: Open Software for Open Hardware

Currently engineering companies are forced to pay high prices for 3D mechanical design software. Although quality 3D CAD systems for feature-based mechanical design have been on the commercial market for many years, there is still no open software that provides even the basic functionality that an engineer would need to design 3D mechanical parts (trust me I've looked!). This surprises me since we have seen many great open source programs in other areas such as Open Office. In fact, many of the necessary libraries already exist. In particular, the powerful open source 3D geometry software OpenCASCADE can provide the basis for a fully featured mechanical design program.

In an attempt to overcome this situation I've written these specifications for a first prototype of an application which I call "Open3Design". Open3Design is intended to be used in collaborative projects where the design engineer wants to share the real "design intent" rather than just the geometric data (a major limitation in current products).


This is an itch I've wanted to scratch for a long time... I'm an engineer with some experience programming. Unfortunately, I reached a point where I didn't have the programming skills to go any further, or the energy and time needed to learn them. I waited more than 5 years for an open source product that met my needs... unfortunately, it still hasn't arrived. Therefore, I've decided to try and establish a new open source project myself by putting the problem out in the cloud.


The prototype of Open3Design described in my specifications supports just three simple types of solid modeling features. The specifications also include a simple Use Case to test the application. The idea is that once the basic architecture for the software exists, it can be extended with relative ease to provide any features that are desired. Ultimately, I'd like to see it used to design real hardware that reaches the Moon as part of the GLXP!

To create the prototype application, I'm looking for developers with the following:

  • Experience developing C++ classes and applications
  • Experience working with Integrated Development Environments for simple forms and controls.
  • Some experience with 3D graphics systems (or willingness to learn!)
  • A copy of the OpenCASCADE software (an open source available from http://www.opencascade.org/)
  • Willingness to read through documentation and examine the OpenCASCADE example applications in order to figure out how to link OpenCASCADE with the C++ classes developed for this project.

This might be a great one for the FREDNET GLXP team, or perhaps for an engineering or computer science student looking for an interesting final year project.

If you'd like to contribute to this project visit our Google Group and take a look at the specifications.

Related Posts :



6 comments:

The Red Fox said...

This is a truely awesome idea. And, I think you're right, a long time in coming.
I've looked into the topic of Open Source Engineering before and found a few things:
CAELinux: http://www.caelinux.com/
Which is a whole linux distro for Computer Aided Engineerin.g
SCILAB: http://www.scilab.org/
Which is an Open Source Matlab equivelent.
SALOME: http://www.salome-platform.org/
Which is an open source simulation integration platform.

White Label Space said...

Hi Red Fox,
Thanks for you comment. You have mentioned some good software programs but unfortunately they don't meet the needs of a mechanical design engineer -
CAELinux and SALOME are primarily for Finite Element Analysis (FEM), and SCILAB is a powerful tool for numerical scientific/engineering analsys.
The open3design specifications I posted are for a CAD design program, which would typically be used to create the inputs (i.e. geometric data) for the analytical software tools you mention. In the future however, I expect there will be a synergy of the geometric and analytical tools.. this has already been happening in commercial software.

Remco said...

Too late for this year, but if you'd be able to get an open source project up and running you might get google summer of code people next year. Personally I hace only VBA for AutoCAD experience, but I have a strong feeling that computer science people don't see the need for 3D CAD software, while mechanical engineering people don't have the time and/or skills, and/or interest to really pursue such a project. Yes, I've been looking too, found nothing that doesn't suck, so if I ever have to do 2D again I'll have AutoCAD please, and for 3D Solidworks :-)

White Label Space said...

Thanks Remco,
I your comment hit the nail on the head. Mechanical CAD software is too hard for engineers to write but not interesting or motivating for computer scientists to develop.
I just hope that the Goole Lunar X Prize help the computer science types realize that their skills are needed in this area :)

Marcelo G. said...

Sorry for the dum question, but why would you spend time, monney and effort to redevelop a software?
Are the licences that expensive?

White Label Space said...

Hi Marcelo,
The problem is the same as for any software. In the case of mechanical CAD, the high quality products cost an extraordinary amount of money.. a full license for one year of CATIA V5 almost as much as paying an engineer's salary for a year!

Post a Comment