BRL-CAD 7.8.4 review

by on

BRL-CAD project is a powerful Constructive Solid Geometry (CSG) solid modeling system

License: GPL (GNU General Public License)
File size: 0K
Developer: Sean Morrison
0 stars award from

BRL-CAD project is a powerful Constructive Solid Geometry (CSG) solid modeling system. BRL-CAD includes an interactive geometry editor, ray tracing support for rendering and geometric analysis, network distributed framebuffer support, image-processing and signal-processing tools. The entire package is distributed in source code form.

Since the late 1950s, computers have been used to assist with the design and study of combat vehicle systems. The result has been a reduction in the amount of time and money required to take a system from the drawing board to full-scale production as well as increased efficiency in testing and evaluation.

In 1979, the U.S. Army Ballistic Research Laboratory (BRL) (now the U.S. Army Research Laboratory [ARL]) expressed a need for tools that could assist with the computer simulation and engineering analysis of combat vehicle systems and environments. When no existing computer-aided design (CAD) package was found to be adequate for this purpose, BRL software developers began assembling a suite of utilities capable of interactively displaying, editing, and interrogating geometric models. This suite became known as BRL-CAD.

Now comprising over one-half million lines of C code, BRL-CAD has become a powerful constructive solid geometry (CSG) modeling package that has been licensed at over 2,000 sites throughout the world. It contains a large collection of tools, utilities, and libraries including an interactive geometry editor, raytracing and generic framebuffer libraries, a network-distributed image-processing and signal-processing capability, and a customizable embedded scripting language. In addition, BRL-CAD simultaneously supports dual interaction methods, one using a command line and one using a graphical user interface (GUI).

A particular strength of the package lies in its ability to build and analyze realistic models of complex objects using a relatively small set of "primitive shapes." To do this, the shapes are manipulated by employing the basic Boolean operations of union, subtraction, and intersection. Another strength of the package is the speed of its raytracer, which is one of the fastest in existence. Finally, BRL-CAD users can accurately model objects on scales ranging from the subatomic through the galactic and get "all the details, all the time."

The application side of BRL-CAD also offers a number of tools and utilities. They primarily concern (1) geometric conversion, (2) geometric interrogation, (3) image format conversion, and (4) command-line-oriented image manipulation. The following is a list of the major BRL-CAD tools and utilities.

- MGED (Multiple-Device Geometry Editor) � BRL-CAD's graphics editor. (For detailed guidance on the use of MGED as well as a list of all the MGED commands currently available, see Butler et al. [2001].)

- Tools for raytracing and interrogating raytraced geometric objects.

- rt � the main raytracer for rendering images in BRL-CAD.

- nirt � a package for firing rays interactively and getting information about what the rays run into.

- remrt � a network-distributed raytracing package.

- An assortment of geometric converters to convert to and/or from other geometry formats, including Euclid, ACAD, AutoCAD DXF, TANKILL, Wavefront OBJ, Pro/ENGINEER, JACK (the human factors model for doing workload/usability studies), Viewpoint Data Lab, NASTRAN, Digital Equipment's Object File Format (OFF), Virtual Reality Mark-up Language (VRML), Stereo Lithography (STL), Cyberware Digitizer data, and FASTGEN4.

- bwish � a Tcl/Tk interpreter in a windowing shell with enhancements compiled into it for accessing BRL-CAD libraries. It also includes various other extensions to the Tcl language.

- irprep � produces input to the PRISM (Physically Realistic Infrared Simulation Model) code.

- JOVE (Jonathan's Own Version of Emacs) � a fast, light implementation of Emacs.

- Applications for displaying images of various types on the framebuffer application and retrieving data from that framebuffer into images of various types.

- Tools for generating geometry for common objects such as fences, walls, and geometric mathematical oddities (e.g., the sphereflake shown in Figure 2 in Section 4).

- Data manipulation programs to (1) convert integers to floats, floats to doubles, etc. (e.g., cv); (2) perform mathematical operations on file elements (e.g., imod, umod, and dmod); (3) compute statistics of file elements (e.g., istat, ustat, and dstat); etc.

- Utilities for building animation scripts � keeping track of columnar data and interpolating it to allow one to produce input to the rt program to render multiple items for animation.

- Utah Raster Tool Kit � image manipulation of all RLE-based images.

- Programs for manipulating images and converting between different image file types. The two primary BRL-CAD types are pix (24-bit red, green, and blue [RGB] color images) and bw (8-bit greyscale images). Converters exist for various image formats including alias, png, ppm, etc.

- Programs for filtering images, doing histograms on the image data, and extracting rectangles from the images.

- Tools for combining two images and blending them together. (These tools were created before good image editing tools for video production were available; today users would typically load the images directly into a video editing package.)

What's New in This Release:
support for handling larger hierarchies in archer - Doug Howard
added distance measurement tool to archer - Bob Parker
added component selection capabilites to archer - Bob Parker
new script to extract gforge task items - Lee Butler, Sean Morrison
substantial additions and mods to source documentation - Lee Butler
added scripts to facetize all regions in a database - Lee Butler
added script to expand combinations to multiple objects - Lee Butler
prevent infinite loop on classic mged attach prompt - Sean Morrison
ctrl-d on empty shell line now quits mged - Sean Morrison
added archer geometry/view loading via command-line arg - Bob Parker
mged tree command now supports -o/-i, matches docs - John Anderson
improved beginning-of-line input processing in stl-g - John Anderson
improved end-of-line input processing in dxf-g - John Anderson
support for longer Fastgen object names in fast4-g - Sean Morrison
improved 'ted' mged command text editor support - Sean Morrison
support mged EDITOR environment override on Windows - Sean Morrison
fixed mged crash on P binding when not in edit mode - Sean Morrison
improved FreeBSD 64bit support, fixes AMD64 crash - Erik Greenwald
allow unlimited light samples during ray tracing - Sean Morrison
new script for computing BRL-CAD file line counts - Sean Morrison
fixed mged extrude of empty sketch display crash - Sean Morrison
re-enabled png-ipu, pix-ipu, ipustat, ipuscan - Sean Morrison
updated archer splash screen - Bob Parker
archer enhancements for displaying view parameters - Bob Parker
improved mged grid zooming using pixel size - John Anderson
fixed mged hang caused by extreme grid zooming bug - John Anderson
ported jove to SGI Altix platform, fixed crash bug - Sean Morrison
increase default mged scrollback to 10k lines - Sean Morrison
improved support for Mac "delete" keys in mged - Sean Morrison
mged vi-mode command edit history searching - James (swcto)
bigger, better vi command line editing in mged - James (swcto)
rt command script 'ae' no longer resets view scale - Sean Morrison
fixed asc-nmg manual page usage examples - Sean Morrison

BRL-CAD 7.8.4 search tags