Thursday, October 12, 2006

Part 2 (Constructive Solid Geometry) - Open Source Software in Mechanical Computer-Aided Design/Drafting

Welcome back to the 2nd part of my review of open source software in mechanical computer-aided design/drafting. In this post I will identify open source (OS) constructive solid geometry projects (CSG). Keep in mind that when I talk about CSG I will focus on projects specific to Mechanical CAD (MCAD) solid modeling. If you are interested in knowing what I mean by those terms visit Wikipedia (Computer-aided design, Solid Modeling, Constructive Solid Geometry). This means that I will not go into details about Povray, even though it is a CSG tool it is not often used for Solid Modeling. If I am mistaken please correct me by dropping me a comment.

Open CASCADE (http://www.opencascade.org)

Open CASCADE is probably the most well known of all OS CSG projects. It also seems the most mature in terms of age of project, documentation and scale of use.


Open CASCADE Technology (3D modeling and simulation software)

Open CASCADE is primarily a set of libraries (or components) that allow others to build CAD/CAE Computer-aided Engineering) systems. To download Open Cascade go to the download center to select the right package for your operating system. Fortunately Open Cascade is multi-platform and available for Windows, Linux and Solaris. I chose the current version (at the time of this post current version was 6.1) for Windows as that is my main development platform. You download a self-extracting executable. Execute the downloaded file and extract the contents to a temporary folder and as Administrator execute "install.bat" in that temporary folder.

Upon install you see the following menus in your Windows Start menu.

Open Cascade Menus in Windows

If you need support for custom development you can purchase support from the commercial wing Open Cascade S.A.S.

But keep in mind that Open Cascade is a development platform i.e. no system exists for use by modelers. Modelers who need a CAD system depend on freely available software such as FreeCAD hosted on sourceforge.net that are based on Open Cascade. A list of all such projects is available from Open CASCADE's Project page. I will delve into developing applications using Open Cascade in another post. The current series is focused towards Modelers and not developers.

FreeCAD (http://free-cad.sf.net/)

Since I was looking for as complete an OS solid modeling tool as possible, I decided to give FreeCAD a try. The description for this software on sourceFORGE states:

"FreeCAD is an OpenSource CAD/CAE, based on OpenCasCade, QT and Python. It features some key concepts like Macro recording, Workbenches, ability to run as a server and dynamicly lodabel Application extensions and its designed to be platform independend (sic)"

I downloaded the Windows version of FreeCAD from sf.net available in MSI format and installed it. On starting the GUI version you can see the following menus in your Start menu:

FreeCAD Menus in Windows Start Menu

After playing with FreeCAD for about a half an hour trying to read the User Manuals and trying to find and help files I finally gave up. Upon program startup there are very few options available to the user. But FreeCAD does allow users to import BREP, STEP and IGES files.

FreeCAD window

FreeCAD is still in development (current version is 0.5) and does not do much yet in terms of solid modeling. In many ways it offers a platform for others to develop solid modeling capabilities. While this is quite useful, modelers would not be able to use this program just yet. From reading the User Manual that was provided with FreeCAD it implied that the goal is a Feature-based parametric modeler providing numerous workbenches such as Sketcher, Part Design, Surface Design, Assembly and 2D drawing extraction. These are commonly observed functionalities that one would expect from a solid modeling tool but I was unable to find any of these workbenches in FreeCAD. I guess that this is the goal that FreeCAD hopes to achieve.

So as far as FreeCAD is concerned: - the short answer to the question - "is it a useful solid modeling tool?" - is - "check back later!"

BRL-CAD (http://brlcad.org)

The U.S. Army Ballistic Research Laboratory (BRL) developed BRL-CAD in 1979 and in its current state is claimed to be a powerful CSG modeling package. BRL-CAD is also hosted on sourceFORGE and can be found at this link. The project's description on sourceFORGE is:

"BRL-CAD is a powerful cross-platform constructive solid geometry solid modeling system that includes an interactive geometry editor, ray-tracing for rendering & geometric analyses, network distributed framebuffer support, image & signal-processing tools."

The project's home page is at http://brlcad.org and is a good site for an overview of BRL-CAD, introduction and application development information. Just keep in mind that most documents available on http://brlcad.org are in PDF format.

Once again I downloaded the Windows version (which at the time of this post was version 7.8.0). It comes in a zip format which needs to be extracted. Once extracted just double click on setup.exe as Administrator to install BRL-CAD. On install you will find the following menus in Windows Start menu.

BRL-CAD menu in Windows Start menu

On starting MGED (Multiple-Device Geometry Editor) which is BRL-CAD's graphics editor you are presented with two windows - a command window and a graphics window.

BRL-CAD command and graphics windows

BRL-CAD is unlike any commercial solid modeling tool I have used. First there are no workbenches to speak of. There isn't a sketcher tool nor are there any tools to create your regular features such as extrusions, cuts or holes etc. BRL-CAD does allow you to create some standard pre-defined shapes but I found little use for that. And for being a CSG tool the default view is wireframe. BRL-CAD does offer a Raytracing tool that shows you what the solid model would look like but you cannot edit the objects in that mode. Overall I found BRL-CAD rather lacking in features that I am accustomed to and would not use this as my CAD system, but I must say that it has a lot more features than FreeCAD.

BRL-CAD is also extensible and you can find information on the following page regarding developing BRL-CAD applications.

If you are interested in learning more about BRL-CAD then there are some Tutorials (in PDF) format available for download from the Military site:
  1. BRL-CAD Tutorial Series: Volume I - Overview and Installation
Conclusion

From this brief survey all I can tell is that if modelers are looking for off-the-shelf open source solid modeling (CSG) CAD systems then they will be disappointed. I will continue my hunt for a full-featured solid modeling tool and will continue this series if I have any luck. For now modelers have no option but to use commercial CAD systems.

Next post in this series will detail my survey of OS 2D drafting tools.

1 comment:

  1. It is very much interesting to note about Open source in your Blog. The collaborative CAD software namely CollabCAD (www.collabcad.com- National Informatics Centre, India) developed using number of Open sources is not a "Open Source", That is the Irony!

    ReplyDelete