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.
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.
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 benchma
Homepage
Download
Recent Releases
7.40.016 Oct 2024 00:05
major feature:
This major release of BRL-CAD improves the robustness of the facetize
Command. Building on work begun in 7.38.0, for the first time BRL-CAD
is able to successfully facetize all of BRL-CAD's example geometries.
This involves a major change to the processing pipeline of the
Facetize command, allowing handling of individual primitives to be
Fault tolerant and automatically attempting fallback methods.
Historically BRL-CAD facetize has attempted to produce output meshes
Even when individual operations fail by silently skipping over failing
Inputs, but now this behavior is changed to a stricter policy of
Halting when individual elements of the process do not succeed.
This release also incorporates the tool 'gist' for generating a one.
Page graphical overview and summary of the contents of a.g database.
This tool is the culmination of work by multiple student teams from
Texas A M University and incorporates automatic layout features to
Produce geometry-appropriate visual arrangements.
Also new in this release are capabilities for testing and repairing.
Triangle meshes. The lint command will now validate solid BoT
Behavior with the raytracer, and the 'bot repair' command is able to
Perform hole filling operations on some categories of non-manifold
BoTs. Another related new feature allows users to generate explicit
Volumetric BoTs using plate mode BoTs as inputs via the 'bot extrude'
Command.
This release introduces a major change in the management of 3rd party.
Dependencies. The src/other directory has been replaced by an
External repository specifically tasked with the job of managing 3rd
Party libraries. By default BRL-CAD will download and build necessary
Dependencies as part of its build automatically. However, note that
an internet connection is required by default to access this
Repository. See the INSTALL file for more details and options for
Preparing to build without internet availability.
Developers requiring only a subset of BRL-CAD (for example,
7.38.220 Mar 2024 20:25
minor feature:
Added "rtsurf" exterior surface area tool prototype - Sean Morrison.
Updated sqlite3 to version 3.45.1 - Cliff Yapp.
Updated libpng to version 1.6.43 - Cliff Yapp.
Updated zlib to version 1.3.1 - Cliff Yapp.
Updated and corrected dbconcat man page - Cliff Yapp.
Improved ambient occlusion rt during -k cut planes - Sean Morrison.
Changed rt ambient occlusion randomization default - Sean Morrison.
Added ambient occlusion example to rt manual pages - Sean Morrison.
Rtweight output display inside MGED - Chris McGregor.
Added shipping container example geometry model - Josh Baker.
Added traffic light example geometry model - Chris McGregor.
Improved rtwizard command-line option reporting - Sean Morrison.
Added self-intersecting torus ray tracing support - Sean Morrison.
rt crash rendering to -F/dev/null - Sean Morrison.
Added mater man page density table example - Chris McGregor.
Adjusted default ghosting intensity in rtwizard - Josh Baker.
MGED command line handling of objects named 'y' - Cliff Yapp.
Double printing of last 'search -exec' result - Chris McGregor.
Improve 'search -v' to support multiple levels - Chris McGregor.
Update 'search -v' to report # of objects found - Chris McGregor.
Added a "bots only" mode to conversion.sh script - Cliff Yapp.
Asc2g/g2asc support for brep primitives - Cliff Yapp.
Added brep and bot versions of pinewood.g model - Josh Baker.
Added new.g example file "Annual Gift Man" - Josh Baker.
Dsp terrain file data loading for relative paths - Cliff Yapp.
Updated Manifold lib for improved facetize robustness - Cliff Yapp.
7.38.002 Nov 2023 06:05
major bugfix:
This major release of BRL-CAD introduces significant improvements to
The robustness of the facetize command. Facetization is an operation
That converts boolean CSG hierarchies to evaluated triangle meshes,
Commonly used as a preliminary step in geometry export). Leveraging
The Manifold library for boolean evaluation of meshes, this release
Shows significant improvement in the overall success rate of facetize
When processing BRL-CAD's example geometry files:
Also in this release is an alpha version of the new "gist" tool, which.
Leverages the OpenCV library to create one page summaries of the
Geometric information present in.g files.
Add 'brep dump' subcommand to write out brep objects - Cliff Yapp.
Improve 'x' default behavior in MGED - Chris McGregor.
'edcolor' and 'color -e' on Windows - Chris McGregor.
Ported fbcolor, fblabel, fbpoint, fbzoom to Windows - Sean Morrison.
New 'gist' tool for generating 1-page geometry info summary reports.
- Allyson Hoskinson, Andrew Plant, Mark Sturtevant.
- Danny Chen, Michael Tao, Sean Morrison.
Add support for dbconcat -O (overwrite) - Chris McGregor.
Improved 'lc' -d and -m interactions with aircodes - Chris McGregor.
'make bot' inverted face normals - Chris McGregor.
'l' evaluation for pathed objects - Chris McGregor.
Improved MGED faceplate params control, added font_size - Cliff Yapp.
MGED 'brep' command crashing without database open - Cliff Yapp.
MGED 'pnts read' and 'make_pnts' commands - Chris McGregor.
Improved NURBS editing functionality - Gregory Li.
MGED 'listval' crashing with max path lengths - Chris McGregor.
Garbage_collect MGED command on Windows - Cliff Yapp.
Archer crashing with 'make' command - Cliff Yapp.
Improved and restructured rtwizard's manual page - Sean Morrison.
E command in MGED - Cliff Yapp.
Made improvements to a variety of manual pages - Josh Baker.
Remove bundled burst tool (DEPRECATED 7.32) - Cliff Yapp.
7.36.027 Jul 2023 15:08
minor feature:
This major release of BRL-CAD introduces significant updates to geometry conversion support. The update includes modernization for NURBS importing and interaction, BoT manipulation, and incorporates many new formats for importing and exporting to BRL-CAD database files. The geometry conversion tool (GCV) now supports mesh importing. from: 3D, 3DS, 3MF, AC, AMF, ASE, ASSBIN, B3D, BVH, COB, COLLADA, CSM, FBX, GLTF/GLB 1.0 + 2.0, HMP, IFC-STEP, IQM, IRR, IRRMESH, LWO, LWS, M3D, MD2, MD3, MD5, MDC, MDL, MMD, MS3D, NDO, NFF, OFF, OGRE, OPENGEX, Q3BSP, Q3D, RAW, SIB, SMD, TERRAGEN, X, X3D, XGL. Additionally, GCV now supports mesh exporting to: 3DS, 3MF, ASSBIN, ASSJSON, ASSXML, COLLADA, GLTF, PBRT, STEP, X, X3D. This release also introduces new BoT subcommands to improve. manipulation and preparation. The subdivision "subd" command incorporates 5 new subdivision algorithms. The "flip" command will flip surface normals - effectively turning the BoT 'inside out'. Lastly, the "smooth" command will smooth the BoT's topology. Added a point-inside-object subcmd "inside" to analyze - Cliff Yapp. Added "flip" "subd" and "smooth" subcommands to BoT - Cliff Yapp. g-ply converter on Windows - Chris McGregor. infinite loop in noise generation - Sean Morrison. analyze in/out test for multi-segment ray hits - Cliff Yapp. analyze cmd crash when specifying invalid objects - Cliff Yapp. search -attr behavior with names having spaces - Cliff Yapp. nirt hanging on hits with a lot of output - Chris McGregor. nirt -b is now default behavior - Chris McGregor. Updated OpenNURBS library, 3dm-g now supports ver. 7 files. - Cliff Yapp, Chris McGregor. Updated OpenMesh library to version 9.0 - Cliff Yapp. Updated Open Asset Import Library - v5.2.5 + - Chris McGregor. Updated Tcl/Tk to version 8.6.13 - Cliff Yapp. Updated NETPBM library to version 10.73.42 - Cliff Yapp. Updated GDAL library to version 3.6.3 - Cliff Yapp. Updated PROJ library to version 9.2.0 - Cliff Yapp. Updated PNG library to vers
7.28.021 Mar 2019 13:41
minor feature:
7.26.424 Apr 2018 00:58
minor feature: