BRL-CAD
Title(s): BRL-CAD - BRL-CAD geometry
Version ID: 7.14.0
Date released: 2008-11-04
Date: 1984-01-01 (First public release)
Creator(s): U.S. Army Ballistic Research Laboratory
Contributor(s): N/A
Relationships: N/A
- Previous Version(s): N/A
- Contains: N/A
- Syntax Format(s): N/A
- Family Format(s): N/A
Description: BRL-CAD is a powerful cross-platform Open Source combinatorial Constructive Solid Geometry (CSG) solid modeling system that includes interactive 3D solid geometry editing, high-performance ray-tracing support for rendering and geometric analysis, network-distributed framebuffer support, image and signal-processing tools, path-tracing and photon mapping support for realistic image synthesis, a system performance analysis benchmark suite, an embedded scripting interface, and libraries for robust high-performance geometric representation and analysis.
BRL-CAD supports a great variety of geometric representations including an extensive set of traditional CSG primitive implicit solids such as boxes, ellipsoids, cones, and tori, as well as explicit solids made from closed collections of Uniform B-Spline Surfaces, Non-Uniform Rational B-Spline (NURBS) surfaces, n-Manifold Geometry (NMG), and purely faceted mesh geometry. All geometric objects may be combined using boolean set-theoretic CSG operations including union, intersection, and difference.
BRL-CAD has been under active development with a portability heritage that includes systems such as a DEC VAX-11/780 running 4.3 BSD; DECStations running ULTRIX; Silicon Graphics 3030, 4D "IRIS", O2, Onyx, and Origin systems running various versions of IRIX; Sun Microsystems Sun-3 and Sun-4 Sparcs running SunOS; the Cray 1, Cray X-MP, Cray Y-MP, and Cray 2 running UNICOS; DEC Alpha AXP running OSF/1; Apple Macintosh II running A/UX; iPSC/860 Hypercube running NX/2; the Alliant FX/8, FX/80, and FX/2800; Gould/Encore SEL PowerNode6000/9000 and NP1; NeXT workstations; IBM RS/6000; HPPA 9000/700 running HPUX; Ardent/Stardent; Encore Multi-Max; and much more.
BRL-CAD is a collection of more than 400 tools, utilities, and applications comprising more than a million lines of source code. The package is intentionally designed to be extensively cross-platform and is actively developed on and maintained for many common operating system environments including for BSD, Linux, Solaris, Mac OS X, and Windows among others. BRL-CAD is distributed in binary and source code form as free open source software (FOSS), provided under Open Source Initiative (OSI) approved license terms.
History: For more than 20 years, BRL-CAD has been the primary tri-service solid modeling CAD system used by the U.S. military to model weapons systems for vulnerability and lethality analyses. The solid modeling system is frequently used in a wide range of military, academic, and industrial applications including in the design and analysis of vehicles, mechanical parts, and architecture. The package has also been used in radiation dose planning, medical visualization, computer graphics education, CSG concepts and modeling education, and system performance benchmark testing among other purposes.
Mike Muuss began the initial architecture and design of BRL-CAD back in 1979. Development as a unified package began in 1983. The first public release was made in 1984. BRL-CAD became an open source project on December 21, 2004, with portions licensed under the LGPL and BSD licenses.
Example(s): Example file from a BRL-CAD database outputted as ASCII. This file contains two objects: a pipe and an ellipse.
title {Untitled BRL-CAD Database}
units mm
attr set {_GLOBAL}
put {ellipse} ehy V {0 0 -1000} H {0 0 2000} A {0 1 0} r_1 1000 r_2 500 c 500
put {pipe} pipe V0 { 0 0 -1000 } O0 500 I0 250 R0 500 V1 { 0 0 1000 } O1 500 I1 250 R1 500
Identifier: http://brlcad.org/
Documentation: BRL-CAD Documentation
File Extensions: g
Applications:
- Native application(s): BRL-CAD
- Interoperable applications: N/A
Magic numbers: N/A
Format(s): Unknown
Sustainability Factors:
- Standardization: None
- Adoption: None
- Licensing and patent claims: None
- Self-documentation: None
- External dependencies: None
- Technical protection considerations: None
Typical use: CAD
File classification:
- Type {Binary, Text}: Binary
- Raster data:
- Raster data 2D:
- Is Supported: false
- Description: Only supports shapes which are within the tool set provided with the program.
- Raster data 3D:
- Is Supported: false
- Description: Only supports shapes which are within the tool set provided with the program.
- Raster data 2D:
- Geometric representation:
- Implicit representation:
- Implicit surfaces:
- Is Supported: true
- Description: Can specifically define planes.
- Implicit curves:
- Is Supported: true
- Description: Arcs can be created using the arc tool.
- Point set:
- Is Supported: false
- Description: Points are not supported, only preselected shapes.
- Implicit surfaces:
- Mesh:
- Manifold surface meshes:
- Is Supported: true
- Description: Any type of manifold surface.
- Manifold volume meshes:
- Is Supported: true
- Description: Purely faceted mesh surfaces.
- Non-manifold meshes:
- Is Supported: false
- Description: Must be manifold.
- Manifold surface meshes:
- Parametric representation:
- Parametric surfaces:
- Is Supported: true
- Description: Parameters can be set when creating the object.
- Parametric curves:
- Is Supported: true
- Description: Parameters can be set when creating the curve.
- Parametric surfaces:
- Contour sets:
- Is Supported: false
- Description: Does not support any sets.
- NURBS:
- Is Supported: true
- Description: It supports Uniform B-Spline and NURBS.
- Implicit representation:
- Multi-resolution models:
- Is Supported: false
- Description: All models are at the same resolution.
- Dynamics:
- Kinematics:
- Is Supported: true
- Description: Any object can be rotated.
- Assembly:
- Is Supported: false
- Description: No way to enter text.
- Force(s):
- Is Supported: false
- Description: Everything is static.
- Kinematics:
- Boundary representation
- Manifold surface boundary representations:
- Is Supported: false
- Description: Objects can be placed inside one another.
- Manifold volume boundary representations:
- Is Supported: false
- Description: Objects can be placed inside one another.
- Non-manifold boundary representations:
- Is Supported: false
- Description: Non-manifolds are not supported.
- Manifold surface boundary representations:
- Material transparency:
- Is Supported: false
- Description: Skins are not supported.
References: None