Friday 28 June 2013

BRL-CAD

From Wikipedia, the free encyclopedia Jump to: navigation, search Screenshot  MGED Screenshot of Moss World Original author(s) Mike Muuss Developer(s) Army Research Laboratory Initial release 1984 Stable release 7.22.0 / June 26, 2012; 11 months ago (2012-06-26) Operating system Cross-platform Type CAD License BSD, LGPL Website www.brlcad.org

BRL-CAD is a constructive solid geometry (CSG) solid modeling computer-aided design (CAD) system. It includes an interactive geometry editor, ray tracing support for graphics rendering and geometric analysis, computer network distributed framebuffer support, scripting, image-processing and signal-processing tools. The entire package is distributed in source code and binary 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 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 uses Constructive Solid Geometry rather than Boundary Representation. This means BRL-CAD can "study physical phenomena such as ballistic penetration and thermal, radiative, neutron, and other types of transport"

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 raytracing 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.

BRL-CAD data flow structure

History

Lead developer Mike Muuss works on the XM-1 tank in BRL‑CAD at a PDP‑11/70 terminal, circa 1980.

In 1979, the U.S. Army Ballistic Research Laboratory (BRL) (now the United States Army Research Laboratory) 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—led by Mike Muuss—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 project on December, 2004.

The BRL-CAD source code repository is believed to be the oldest public version-controlled codebase in the world that's still under active development, dating back to 1983-12-16 00:10:31 UTC.

Navigation menu

Personal tools Create accountLog in Namespaces Article Talk Variants Views Edit View history Actions Search Navigation Main page Contents Featured content Current events Random article Donate to Wikipedia Interaction Help About Wikipedia Community portal Recent changes Contact Wikipedia Toolbox What links here Related changes Upload file Special pages Permanent link Page information Cite this page Print/export Create a book Download as PDF Printable version Languages Česky Deutsch Français Italiano Русский Українська Edit links This page was last modified on 27 June 2013 at 02:19. Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization. Privacy policy About Wikipedia Disclaimers Contact Wikipedia Mobile view /**/if(window.mw){ mw.loader.state({"site":"loading","user":"ready","user.groups":"ready"}); } if(window.mw){ mw.loader.load(,null,true); }