GSoC/GCI Archive
Google Summer of Code 2009

BRL-CAD

Web Page: http://my.brlcad.org/wiki/Google_Summer_of_Code/2009/Project_Ideas

Mailing List: brlcad-users@lists.sourceforge.net

BRL-CAD is represented and developed by a consortium of individuals in the open source community from industry, academia, government, and private industry from all over the world. Our organizational interests in BRL-CAD vary across the project's primary focus areas including computer-aided design (CAD), computer-aided manufacturing (CAM), solid modeling, and computer graphics. We have about a half-dozen core developers that are active on a daily basis with the project and several dozen community contributors, modelers, artists, and engineers. Our developers predominantly interact over IRC and through our various mailing lists.

The BRL-CAD package is a powerful cross-platform open source solid modeling system that includes interactive solid geometry editing, ray-tracing support for rendering and geometric analysis, image and signal-processing tools, system performance analysis tools, a robust high-performance geometry engine, and much more. Currently standing at more than a million lines of code, 400 utilities, and hundreds of man-hours investment, BRL-CAD has more than 20 years of development history (since 1979) and is in production use by more than 2000 organizations around the world (this was our last verifiable "site license" statistic before we went open source).

Particular bragging rights and fun statistics, BRL-CAD was recognized by the Ohloh source code statistics site as having "the world's oldest source code repository". Ohloh is a site that tracks the commit activity for more than 12,000 open source repositories performing in-depth historical analyses and commit tracking. When they reviewed the project histories for all projects in their database, BRL-CAD came in as the oldest project that has had continuous uninterrupted activity even edging out Emacs and GCC: http://www.ohloh.net/blog/worlds_oldest_source_code_repositories

Released as open source software just a little over four years ago, BRL-CAD has received considerable attention from the CAD and solid modeling communities. We've had more than 250K downloads within last 12 months alone and our download rate is increasing. BRL-CAD is the only open source solid modeling system available with production-quality capabilities, in production use, actively developed, and available under an OSI-approved license.

The BRL-CAD user-base is primarily composed of individuals in the CAD industry where the modeling requirements are fundamentally different to those of content modelers (e.g., Blender) that are used for animation, gaming, and film purposes. Where content modelers include commercial products like Maya, Softimage, and 3D Studio; BRL-CAD's primary competitors are in an entirely separate industry where commercial products like Unigraphics, Solidworks, Pro/Engineer, CATIA, and AutoCAD dominate. See http://ftp.brlcad.org/Industry_Diagram.png for a visual overview of where BRL-CAD fits within the various CAD industries.

Our goal is to become the best solid modeling system available by encouraging collaboration throughout the CAD communities, improving recognition that we're a production-quality F/OSS project, providing effective/better user-friendly tools, and by continuing to work hard at implementing the features needed by our users.

Projects

  • Further OpenGL Geometry Editor GUI development I propose to continue the development of the OpenGL Geometry Editor GUI effort began during Summer of Code 2008 through modifying the existing application to take advantage of the Qt application and UI framework and then taking advantage of the wide array of development tools, widgets, and libraries offered by the framework to rapidly flesh out the front end, with the ultimate goal of preparing a powerful and intuitive CSG modeling GUI ready for connection to the geometry service.
  • Hybrid Representation through BREP on BREP CSG Constructive Solid Geometry(CSG) is a procedural modeling technique that represents solids as Boolean combinations of more primitive solids. Boundary Representation (B-REP) represents solids by their limits. Both of these systems have their own merits. My project will bring these two systems together by implementing methods for evaluating Boolean operations on B-REP. The algorithm to be implemented hinges upon calculating the intersection curves between Bezier patches.
  • MoRe.brlcad.org 2 The more.brlcad.org website (MoRe as in Model Repository) will help build a common repository of BRL-CAD models, which will allow BRL-CAD users to share their models and to easily locate useful models. An advantage of using Drupal both for the repository and the main site is that we can integrate the two sites (use the same code base, share users accounts, etc).