Community Publication Portal

Revision as of 10:18, 9 December 2010 by Sean (talk | contribs) (publication date of dec22 for nurbs)

Welcome to the BRL-CAD community publication portal. This page is dedicated to the preparation and editing of community publications for BRL-CAD.

This is the place to learn what publications are proposed or upcoming, which are actively being worked on, and their individual editorial status. You are welcome and encouraged to help share news about recent events or current activities taking place within the BRL-CAD community.

Note: if you see a comment indicating that a section is FROZEN, any changes you make in that section may go unnoticed. If you find errors in a FROZEN article, contact Sean (brlcad on freenode IRC) who may be able to incorporate changes during final publication.

Formatting & Editing Standards:

Feel free to fix if you see something non-standard.

  • Beginning quotations are italicized and placed between double quotes (wiki formatting requires 2 single quotes, space, double quote to achieve this)
  • All acronyms need to be defined (Like This) upon first use; further use can use the acronym only
  • Titles and Section Headings are bold (achieved by placing text between three single quotes); each should be Title Case (Meaning UpperCase the Major Words)
  • Use the serial comma. One, two, and three; not one, two and three.
  • Prefer first person for release notes, third person for everything else.
  • Do not abbrev. words.
  • Cite references and/or include hyperlinks.
  • Keep it brief.

Distribution Channels:

For release publications, follow HACKING. For everything else, distribute to the following:

Ready for Publication

These are articles ready for publication. Release notes should follow a release and get published within the first week of the month. Other publications should be scheduled one or two weeks later, ideally on the third week of the month.

Cliff Yapp, 2010DEC9: Release 7.18.0

We are pleased to announce the availability of BRL-CAD 7.18.0. Since our previous public release announcement, there was another 7.16 stabilization release and there have been more than 50 user-visible changes to BRL-CAD. Among those changes include significant development on NURBS support, MGED enhancements, geometry conversion, Windows portability, documentation, and more.

BRL-CAD's support for NURBS boundary representation geometry continues to be a primary development focus area so BRL-CAD may faithfully represent external CAD models without having to convert to a polygonal representation. Support for NURBS ray tracing continues to advance steadily with improved wireframes, enhanced surface evaluation, and overall robustness improvements. Enhancements to NURBS wireframes provides a much better visualization of surface contours and ray tracing improvements resolve the majority of previously observed rendering problems.

Numerous MGED command bugs have been fixed including an output formatting problem with 'nirt' ; a problem with 'red' deleting attributes; garbage output in results from 'idents' , 'solids' , and 'regions' ; and much more. By popular request, the 'rt' command is now capable of outputting directly to the PNG image file format along with support for PPM, BMP, and BW images. A new albeit preliminary Bag of Triangles (BoT) editing interface has been developed for Archer and MGED to consolidate and organize the various BoT processing commands into a unified easy-to-use interface. Also included is the conclusion of a phenomenal effort by Jesica Guidice who meticulously translated approximately 150 pages of MGED tutorial documentation from English to Spanish. The 16 tutorials are now fully converted while work continues on the technical side towards publishing corresponding PDF documents on the BRL-CAD website.

Other fixes include numerous NMG/BoT robustness improvements supporting geometry conversion and export. In support of this robustness work, a new sophisticated '' test script is available that attempts to convert all geometry in specified .g files to NMG and BoT format with results reported in a concise and organized manner. With repeatable metrics and numerous failure cases in hand, work can begin towards systematically addressing common problems that affect geometry conversion and export.

Special thanks go out to Östen Lundahl, Rob Shinn, Jesica Giudice, Luciano Lamaita, John Anderson, Nicholas Reed, Cliff Yapp, Richard Weiss, Erik Greenwald, Bob Parker, Sean Morrison, and Keith Bowman for their contributions to this release. Since release 7.16.8, the categorized changes include:


  • improved NURBS wireframes with interior surface lines
  • improved support for unlimited object counts in mged
  • fixed 'erase_all' behavior so 'who' gives correct lists
  • fixed idents, solids, and regions output
  • fixed running mged external tools (e.g., rt) after 'cd'
  • new BoT editing interface for mged and archer
  • fixed mged zap crash while using preview
  • added ability to toggle mged status bar via .mgedrc
  • new mged 'bot' command for accessing BoT properties
  • fixed nirt output formatting in MGED
  • mged 'red' command no longer deletes custom attributes
  • fixed crash using bot_split on non-"plate mode" BoTs
  • improved NURBS curve evaluation for mged brep command
  • fixed OpenGL framebuffer Mac refresh bug

Ray Tracing & Analysis

  • rt can now output directly to PNG, among others
  • additional NURBS raytracing robustness improvements
  • fixed NURBS raytrace bug grazing nearly flat surfaces
  • fixed 'pnts' point cloud primitive memory access bug
  • improved robustness of CSG boolean tree processing
  • added ray bundle shooting capability to rtshot
  • increased optimized package run-time performance
  • fixed crash when raytracing multiple frames


  • increased performance of facetization and export
  • fixed infinite loop bug converting to NMG and BoT
  • fixed crash during BoT decimation
  • improved robustness of facetization and export
  • cleaner logging of facetize command BoT failures
  • fixed crash-on-exit bug with iges-g importer
  • fixed crash tessellating pipes with maximum bends
  • fixed extrude object tessellation failures


  • ported benchmark suite to Windows (requires 'sh')
  • improved Windows installer desktop shortcut creation
  • improved loading of Pro/E export plugin on Windows
  • added all remaining shape tools to the Windows build

External Dependencies

  • libpng updated from version 1.4.1 to 1.4.3
  • Tcl/Tk updated from 8.5.6 to 8.5.8
  • added Tktable 2.10 external dependency for archer


  • expanded rtarea documentation with examples and detail
  • spanish translation for tutorials 4-5 and 7-16
  • added manual page for 'random' number generator tool


  • restored archer view commands to work without a .g file
  • improvements to the primitive creation menu in archer
  • improved archer object list view


  • removed pl-sgi plot tool
  • removed 'query' command line prompting tool
  • fixed framebuffer shutdown and memory management bugs
  • fixed pixhalve memory leak and corruption on exit
  • fixed heap corruption writing NURBS sketch objects
  • added fullscreen display mode via F5 keybinding to ISST
  • fixed memory leak in ISST during window resizing
  • fixed running multiple framebuffer servers concurrently

Please visit the Sourceforge project website to download the latest version:

See the BRL-CAD website at for more information.

Final Editorial Review

These should be "complete" articles. The author is done with the content and all that remains is a review of structure, grammar, voice, punctuation, and spelling. Images may be added as well.

Initial Drafts

These are incomplete articles being worked on. Most articles should be between 250 and 500 words (not counting tables, labels, and diagrams) before they have enough content to be considered complete.

Cliff Yapp, 2010DEC22: NURBS Ray Tracing in BRL-CAD

Over the past year, an intense development effort by BRL-CAD's development team has successfully implemented raytracing of Non-Uniform Rational BSpline (NURBS) geometry within the BRL-CAD Computer-Aided Design (CAD) package. NURBS surfaces are very general, very complex mathematical shapes used by virtually all modern commercial CAD software packages. Because BRL-CAD did not originally support this type of geometry, commercial models could only be imported into BRL-CAD after a labor-intensive and difficult conversion process from NURBS form to triangle-base geometry (referred to in BRL-CAD as Bags-of-Triangles or BoTs). The new NURBS raytracing capability builds on work by many developers over a period of years, who in turn built on the open source library OpenNURBS. Support for this primitive type means BRL-CAD can now store and raytrace data from commercial models without requiring preliminary conversion to another type of geometry.

The last major feature needed to make import of commercial models in BRL-CAD straightforward is conversion support for ISO’s "Standard for the Exchange of Product model data" or STEP file format. STEP uses NURBS geometry in its definition, making support for NURBS geometry a necessary prelude to support for STEP import. Most commercial CAD modelers support this file format as an output option, hence STEP support in BRL-CAD would allow a direct path for moving geometric descriptions from a variety of commercial modelers to BRL-CAD. Considerable progress has already been made on STEP import support, but more work is need to bring the code and feature set to "production quality". If anyone would like to join the BRL-CAD open source development effort and has a little familiarity with C++, the step-g converter and its supporting libraries have some simple-yet-useful tasks that would be an excellent and very useful way to explore the project - join BRL-CAD's IRC channel or development email list if you are interested!

Idea Hopper

These are ideas for interesting or useful publications. We need someone to at least write a draft.

Erik Greenwald: ADRT/ISST Visualization

Article introducing ADRT/ISST core capability.

Bob Parker: Alpha Archer: Working Towards Next Generation MGED

Article introducing Archer's core new features that will be "coming" to MGED. Undo, interactive editing, tree view, and info panels come to mind.

Finding the Hot Spots

Article on the rt lighting model Stephen Kennedy developed that visualizes the time spent per-pixel.

Point Clouds

Article introducing the new point cloud primitive.

bn_mat_inv: singular matrix

Article on the v4 format and binary compatibility.

Model Showcase: Goliath

Article talking about the making of the Goliath model.

Model Showcase: Chumaciera

Article on Pedro Baptista's bearing model.

Model Showcase: Proyecto Catapulta

Article on a model developed by André Santos, António Almeida, and Pedro Ferreira.

Model Showcase: Union Coupling Tool

Article on a model developed by Inês de Matos under teacher Luís Ferreira. The project focuses on a tool, union coupling, based on the book, , page 122 of the original book and page 128 of the file, figures 108 and 109.

Geometry Service FAQ

FAQ summarization of the GS as it pertains to the wider open source community.

BRL-CAD's 3rd Generation Build System

Article on the new CMake build system.

BRL-CAD's Open Source Vision

Article introducing the Project Priorities diagram and overall project vision.

BRL-CAD Primitives Showcase

Article summarizing all of BRL-CAD's primitives and their current status.

BRL-CAD Geometry Converter Showcase

Article summarizing all of BRL-CAD's geometry converters.

Release Schedule

Explain our release schedule and versioning system.


Article on Nick's point-based visualization mode.

BRL-CAD Quick Reference Card

Article on a BRL-CAD QRC similar to the existing MGED QRC.

BRL-CAD Bibliography

After the .bib gets published to the website, an article announcing it and soliciting additions.

Revolve Primitive

Article on Timothy Van Ruitenbeek's work implementing 'revolve'.

Parametrics and Constraints

Article on Dawn Thomas' work to integrate parametric equation and constraint evaluation support.

Converting Implicit to Explicit: CSG to BREP NURBS

Article on the work by Cliff Yapp, Joe Doliner, and Ben Poole converting primitives with an implicit representation into an explicit NURBS representation.

Online Model Repository

Article on Elena Băutu's work developing the model repository website.

Project Statistics for 2010

Article on our current stats similar to previous years.

Next Generation BRL-CAD

Article on our super secret awesome new GUI.