BRL-CAD
   HOME

TheInfoList



OR:

BRL-CAD is a constructive solid geometry (CSG)
solid modeling Solid modeling (or solid modelling) is a consistent set of principles for mathematical and computer modeling of three-dimensional shapes '' (solids)''. Solid modeling is distinguished within the broader related areas of geometric modeling and ...
computer-aided design Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve c ...
(CAD) system. It includes an interactive
geometry Geometry (; ) is a branch of mathematics concerned with properties of space such as the distance, shape, size, and relative position of figures. Geometry is, along with arithmetic, one of the oldest branches of mathematics. A mathematician w ...
editor, ray tracing support for graphics rendering and geometric analysis,
computer network A computer network is a collection of communicating computers and other devices, such as printers and smart phones. In order to communicate, the computers and devices must be connected by wired media like copper cables, optical fibers, or b ...
distributed
framebuffer A framebuffer (frame buffer, or sometimes framestore) is a portion of random-access memory (RAM) containing a bitmap that drives a video display. It is a memory buffer containing data representing all the pixels in a complete video frame. Mode ...
support, scripting, image-processing and signal-processing tools. The entire package is distributed in
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
and
binary Binary may refer to: Science and technology Mathematics * Binary number, a representation of numbers using only two values (0 and 1) for each digit * Binary function, a function that takes two arguments * Binary operation, a mathematical op ...
form. Although BRL-CAD can be used for a variety of engineering and graphics applications, the package's primary purpose continues to be the support of ballistic and electromagnetic analyses. In keeping with the
Unix philosophy The Unix philosophy, originated by Ken Thompson, is a set of cultural norms and philosophical approaches to Minimalism (computing), minimalist, Modularity (programming), modular software development. It is based on the experience of leading devel ...
of developing independent tools to perform single, specific tasks and then linking the tools together in a package, BRL-CAD is basically a collection of libraries, tools, and utilities that work together to create, raytrace, and interrogate geometry and manipulate files and data. In contrast to many other 3D modelling applications, BRL-CAD primarily uses CSG rather than
boundary representation In solid modeling and computer-aided design, boundary representation (often abbreviated B-rep or BREP) is a method for representing a 3D shape by defining the limits of its volume. A solid is represented as a collection of connected surface ...
. This means BRL-CAD can "study physical phenomena such as ballistic penetration and thermal, radiative, neutron, and other types of transport". It does also support boundary representation. The BRL-CAD libraries are designed primarily for the geometric modeler who also wants to tinker with software and design custom tools. Each library is designed for a specific purpose: creating, editing, and ray tracing geometry, and image handling. The application side of BRL-CAD also offers a number of tools and utilities that are primarily concerned with geometric conversion, interrogation, image format conversion, and command-line-oriented image manipulation.


History

In 1979, the U.S. Army
Ballistic Research Laboratory The Ballistic Research Laboratory (BRL) was a research facility under the U.S. Army Ordnance Corps and later the U.S. Army Materiel Command that specialized in ballistics as well as vulnerability and lethality analysis. Situated at Aberdeen Pr ...
(BRL) expressed a need for tools that could assist with the computer simulation and engineering analysis of combat vehicle systems and environments. When no CAD package was found to be adequate for this purpose, BRL software developers – led by
Mike Muuss Michael John Muuss (October 16, 1958 – November 20, 2000) was the American author of the freeware network tool Ping (networking utility), ping, as well as the first interactive ray tracing program. Career A graduate of Johns Hopkins Universit ...
– began assembling a suite of utilities capable of interactively displaying, editing, and interrogating geometric models. This suite became known as BRL-CAD. Development on BRL-CAD as a package subsequently began in 1983; the first public release was made in 1984. BRL-CAD became an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
project in December 2004. The BRL-CAD
source code repository In version control systems, a repository is a data structure that stores metadata for a set of files or directory structure. Depending on whether the version control system in use is distributed, like Git or Mercurial, or centralized, like Subv ...
is the oldest known public version-controlled codebase in the world that's still under active development, dating back to 1983-12-16 00:10:31
UTC Coordinated Universal Time (UTC) is the primary time standard globally used to regulate clocks and time. It establishes a reference for the current time, forming the basis for civil time and time zones. UTC facilitates international communica ...
.


See also

* PLaSM - Programming Language of Solid Modeling * Comparison of CAD editors *
Open Cascade Technology Open Cascade Technology (OCCT, formerly named CAS.CADE) is an object-oriented C++ class library for 3D computer-aided design (CAD), computer-aided manufacturing (CAM), computer-aided engineering (CAE), etc. It is developed and supported by Op ...


References


External links

* * {{CAD software Computer-aided design software for Linux Computer-aided design software Engineering software that uses Qt Free computer-aided design software Free software programmed in C Free software programmed in Tcl MacOS computer-aided design software Software that uses Tk (software) Software using the BSD license