BRL-CAD Overview
What Is BRL-CAD?
The BRL-CAD Package is a powerful Constructive Solid Geometry (CSG)
based solid modeling system. BRL-CAD includes an interactive geometry
editor, a ray tracing library, two ray-tracing based lighting models,
a generic framebuffer library, a network-distributed image-processing
and signal-processing capability, and a large collection of related
tools and utilities. The software
has been undergoing continuous development since 1979.
BRL-CAD supports a great variety of geometric representations, including
an extensive set of traditional CSG primitive solids such as blocks,
cones and torii, solids made from closed collections of Uniform B-Spline
Surfaces as well as Non-Uniform Rational B-Spline (NURBS) Surfaces,
purely faceted geometry, and n-Manifold Geometry (NMG). All geometric
objects may be combined using boolean set-theoretic operations such as
union, intersection, and subtraction.
Material properties and other attribute properties can be associated
with geometry objects. This combining of material properties with
geometry is a critical part of the link to applications codes. BRL-CAD
supports a rich object-oriented set of extensible interfaces by means of
which geometry and attribute data are passed to applications.
BRL-CAD is used at over 800 sites located throughout the world.
It is provided in source code form only, and totals more than 280,000
lines of "C" code.
A few of the applications linked to BRL-CAD include:
- Optical Image Generation (including specular/diffuse reflection,
refraction, multiple light sources, and articulated animation)
- An array of military vehicle design and evaluation V/L Codes
- Bistatic laser analysis
- Predictive Synthetic Aperture Radar Codes (including codes due to ERIM)
- High-Energy Laser Damage
- High-Power Microwave Damage
- Weights and Moments-of-Inertia
- Neutron Transport Code
- PATRAN [TM] and hence to ADINA, EPIC-2, NASTRAN, etc.
for structural/stress analysis
- X-Ray image calculation
System Requirements
BRL-CAD requires the UNIX(tm) operating system. It has been ported to more
than a dozen product lines from workstations to supercomputers, including:
- Alliant FX/8 and FX/80, Alliant FX/2800
- Apple Macintosh II running AUX
- Convex C1
- Cray-1, Cray X-MP, Cray Y-MP, Cray-2
- Digital Equipment VAX
- Gould/Encore PN 6000/9000
- IBM RS/6000
- Intel-based ``PC'' machines running:
- BSD/OS
- FreeBSD/OpenBSD/NetBSD
- Linux
- Pyramid 9820
- Silicon Graphics 3030 through O2/Origin Series
- Sun Microsystems Sun-3 and Sun-4 ``SparcStation''.
Porting to other UNIX systems is
very easy, and generally requires only one or two man-days of effort.
Some users report being able to build the package under VAX/VMS(tm)
with some expenditure of effort.