Skip to content

Releases: BRL-CAD/brlcad

BRL-CAD 7.40.2

01 Oct 15:20
Compare
Choose a tag to compare

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, if a
project only needs librt and its dependencies) can now define subsets
of BRL-CAD to build with the BRLCAD_COMPONENTS variable. See INSTALL
for more information.

  • improved obj-g import naming - Chris McGregor
  • added importer attr to stl-g and obj-g BoT objects - Cliff Yapp
  • improved object name generation for stl-g importer - Cliff Yapp
  • updated 3dm-g input attribute: converter -> importer - Cliff Yapp
  • fixed mged 'search -or' filter behavior - Cliff Yapp, Chris McGregor
  • major improvements to 'gist' features and usability
    - Rohan Dhawan, Leo Feng, Sam Hollenbeck, Timothy Pham,
    - Yida Zou, Chris McGregor
  • updated pinewood.g test model - Josh Baker
  • updated edcodes man page and help text - Josh Baker
  • update mvall man page - Josh Baker
  • updated OpenCV library to version 4.10.0 - Cliff Yapp
  • updated GDAL library to version 3.9.0 - Cliff Yapp
  • improved 3dm-g error message when file does not exist - Cliff Yapp
  • added new BoT raytracing validity checks to lint cmd - Cliff Yapp
  • removed upper limit on MGED pnts cmd point count - Cliff Yapp
  • added a -t option to bot flip to check BoT orientation - Cliff Yapp
  • fixed shaded drawing of CW BoT solids - Cliff Yapp
  • added reair man page - Josh Baker
  • added 'help reair' mged command help text - Josh Baker
  • added experimental 'imgdiff' command-line tool - Cliff Yapp
  • updated OpenNURBS library to version 8.8.24166.15000 - Cliff Yapp
  • improved 'help lc' mged command help text - Josh Baker
  • added 'help lint' mged command help text - Josh Baker
  • added man pages for 'bot check' and 'bot extrude' cmds - Cliff Yapp
  • enhanced bot extrude command to output a BoT mesh - Cliff Yapp
  • added bot check manifold cmd for bot validity testing - Cliff Yapp
  • added bot repair command for filling holes in meshes - Cliff Yapp
  • added Utah RLE image reading and writing to libicv - Cliff Yapp
  • added "standardize" option to GED attr command - Cliff Yapp
  • added -L option to dbconcat for lazy prefix/suffix use - Cliff Yapp

BRL-CAD 7.40.0

16 Aug 13:46
Compare
Choose a tag to compare

2024-08-16 Release 7.40.0

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, if a project only needs librt and its dependencies) can now define subsets of BRL-CAD to build with the BRLCAD_COMPONENTS variable. See INSTALL for more information.

  • improved obj-g import naming - Chris McGregor
  • added importer attr to stl-g and obj-g BoT objects - Cliff Yapp
  • improved object name generation for stl-g importer - Cliff Yapp
  • updated 3dm-g input attribute: converter -> importer - Cliff Yapp
  • fixed mged 'search -or' filter behavior - Cliff Yapp, Chris McGregor
  • major improvements to 'gist' features and usability
    - Rohan Dhawan, Leo Feng, Sam Hollenbeck, Timothy Pham,
    - Yida Zou, Chris McGregor
  • updated pinewood.g test model - Josh Baker
  • updated edcodes man page and help text - Josh Baker
  • update mvall man page - Josh Baker
  • updated OpenCV library to version 4.10.0 - Cliff Yapp
  • updated GDAL library to version 3.9.0 - Cliff Yapp
  • improved 3dm-g error message when file does not exist - Cliff Yapp
  • added new BoT raytracing validity checks to lint cmd - Cliff Yapp
  • removed upper limit on MGED pnts cmd point count - Cliff Yapp
  • added a -t option to bot flip to check BoT orientation - Cliff Yapp
  • fixed shaded drawing of CW BoT solids - Cliff Yapp
  • added reair man page - Josh Baker
  • added 'help reair' mged command help text - Josh Baker
  • added experimental 'imgdiff' command-line tool - Cliff Yapp
  • updated OpenNURBS library to version 8.8.24166.15000 - Cliff Yapp
  • improved 'help lc' mged command help text - Josh Baker
  • added 'help lint' mged command help text - Josh Baker
  • added man pages for 'bot check' and 'bot extrude' cmds - Cliff Yapp
  • enhanced bot extrude command to output a BoT mesh - Cliff Yapp
  • added bot check manifold cmd for bot validity testing - Cliff Yapp
  • added bot repair command for filling holes in meshes - Cliff Yapp
  • added Utah RLE image reading and writing to libicv - Cliff Yapp
  • added "standardize" option to GED attr command - Cliff Yapp
  • added -L option to dbconcat for lazy prefix/suffix use - Cliff Yapp

BRL-CAD 7.38.2

19 Mar 20:59
Compare
Choose a tag to compare
  • 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
  • fixed 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
  • fixed 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
  • fixed MGED command line handling of objects named 'y' - Cliff Yapp
  • fix 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
  • fixed 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
  • fixed dsp terrain file data loading for relative paths - Cliff Yapp
  • updated Manifold lib for improved facetize robustness - Cliff Yapp

A note about the binaries uploaded for this release - they have been compiled using the new "bext" method for third party library management, which means that the third party files included may be slightly different than what is produced by building with the standard src/other third party sources.

BRL-CAD 7.38.0

07 Nov 01:07
Compare
Choose a tag to compare

This major release of BRL-CAD introduces significant improvements to
the robustness of the facetize command by leveraging the Manifold
library for boolean evaluation of meshes. Facetization is an operation
that converts boolean CSG hierarchies to evaluated triangle meshes,
commonly used as a preliminary step in geometry export. As an
example, the following results show before-and-after differences when
processing high level assemblies in BRL-CAD's example geometry files:

% success, old: 88.9% (249 of 280) Time elapsed: 7256 seconds
% success, new: 98.9% (277 of 280) Time elapsed: 1044 seconds

BRL-CAD 7.36.0

27 Jul 02:09
Compare
Choose a tag to compare

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
  • Fixed g-ply converter on Windows - Chris McGregor
  • Fixed infinite loop in noise generation - Sean Morrison
  • Fixed analyze in/out test for multi-segment ray hits - Cliff Yapp
  • Fixed analyze cmd crash when specifying invalid objects - Cliff Yapp
  • Fixed search -attr behavior with names having spaces - Cliff Yapp
  • Fixed 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 + fix - 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 version 1.6.39 - Cliff Yapp

BRL-CAD 7.34.2

22 May 14:52
Compare
Choose a tag to compare
  • fixed a problem with matrix editing - Chris McGregor
  • fixed gcv reading of .g files as input - Cliff Yapp
  • add support to nirt non-drawn objects - Chris McGregor
  • reduced 'l' cmd verbosity for bot/brep primitives - Chris McGregor
  • fixed man page scrolling on Windows - Chris McGregor
  • fixed MGED file creation not applying extension - Chris McGregor
  • create 'reair' to quickly set aircode (like remat) - Chris McGregor
  • fixed 'search' of attribute equal to 0 - Chris McGregor
  • improve nirt output printing within MGED - Chris McGregor
  • fixed nirt -A (attribute) to work within MGED - Chris McGregor
  • fixed nirt -f (fmt) to work within MGED - Chris McGregor
  • fixed nirt of objects with hyphens in name - Chris McGregor
  • correct facetall.sh to automatically restart on failure - Cliff Yapp

BRL-CAD 7.34.0

29 Nov 18:13
Compare
Choose a tag to compare

With development efforts spanning several years, this major update to
BRL-CAD includes considerable progress on infrastructure for graphical
user interface improvements, geometry conversion, and physically-based
rendering. It also includes hundreds of logic and memory management
bug fixes, potential code vulnerability updates, and other issues
reported by Coverity and Clang Static Analysis.

This release also overhauls the way 3rd-party dependencies are managed
in BRL-CAD. Native build systems are now used in order for updates to
be more readily applied, to reduce maintenance overhead, and to set
the stage for the aforementioned major feature developments.

  • fixed perspective to orthogonal view toggling in archer - Cliff Yapp
  • removed 'nburst' rewrite with burst now deprecated - Cliff Yapp
  • fixed bot_merge with oriented plate mode bots - Sean Morrison
  • bot_dump infers output type from filename extension - Sean Morrison
  • readded MGED viewring, sweep, collab, & rateknob menus - Cliff Yapp
  • fixed a crash when shaded NURBS brep drawing fails - Cliff Yapp
  • added new man pages for brep, process, and ps commands - Cliff Yapp
  • added new man page for 3dm-g Rhino3D importer - Cliff Yapp
  • improved bot_dump default command help - Chris McGregor
  • improved suffix handling for 3dm-g converted primitives - Cliff Yapp
  • added -N view obj name option to overlay command - Cliff Yapp
  • added man page for MGED Overlaps Tool - Chris McGregor
  • major STEPcode updates, using unmodified upstream 0.8.1 - Cliff Yapp
  • added aircode reporting support to the lc command - Sean Morrison
  • 3dm-g now converts as encountered, not alphabetized - Chris McGregor
  • updated Tcl/Tk to version 8.6.12 - Cliff Yapp
  • updated netpbm to version 10.73.40 - Cliff Yapp
  • updated zlib to version 1.2.13 - Cliff Yapp
  • fixed mged -c 'unknown variable' warning dialogs - Sean Morrison
  • fixed and improved gqa grid spacing - Daniel Roßberg
  • improved mged & archer html command help formatting - Sean Morrison
  • fixed archer empty string ("") loading behavior - Cliff Yapp
  • rt* tools' -P option accepts negative #core counts - Sean Morrison
  • added text label size & rotation angle support to annotation objects
    - Ali Haydar, Himanshu Nayak, and Daniel Roßberg
  • gqa -Ae exposed air report no longer has gapped air - Sean Morrison
  • fixed rt framebuffer bug with -g/-G cellsize options - Sean Morrison
  • added new idents(5) file format manual page - Sean Morrison
  • preserved path prefixes on search cmd results - Cliff Yapp
  • new 'material' command and material object infrastructure
    - Dinges, Connelly, Olivarez, McGregor, Studwell, Wilson

BRL-CAD 7.32.6

09 May 03:03
Compare
Choose a tag to compare
  • reduced mged & archer max image size and memory use - Sean MOrrison
  • fixed librt handling of object names with '/' chars - Cliff Yapp
  • changed fast4-g to not make references to empty regions - Cliff Yapp
  • fixed gcv option handling - Cliff Yapp
  • updated bundled Eigen dependency to v3.4.0 - Cliff Yapp
  • fixed bot_merge crash when bots are of different types - Cliff Yapp
  • fixed nirt -L to not require database and objects - Sean Morrison
  • fixed bug reading older VOL objects with file data - Sean Morrison
  • fixed pixscale bug when scaling images down - Sean Morrison

BRL-CAD 7.32.4

29 Jul 15:15
Compare
Choose a tag to compare
  • Added -matrix search filter for finding comb matrices - Cliff Yapp
  • fixed MGED handling of long running subprocesses in script mode
    - Cliff Yapp, Sean Morrison
  • improve documentation for bot modes in bot and search - Cliff Yapp
  • added -o output option to GED stat command - Cliff Yapp
  • fixed overlay support for drawing multiple files - Cliff Yapp
  • fixed file creation for tire command - Cliff Yapp
  • fixed mixing object and full path searches in MGED - Cliff Yapp
  • fixed launching of ISST graphical viewer - Cliff Yapp

BRL-CAD 7.32.2

20 Mar 14:36
Compare
Choose a tag to compare
----------------------------------------------------------------------
--- 2021-02-06  Release 7.32.2                                     ---
----------------------------------------------------------------------

* fixed OSX g-iges crash due to improper memory freeing - Cliff Yapp
* fixed GQA multithreaded plotting file corruption - Cliff Yapp
* added -S structural diff option to MGED gdiff command - Cliff Yapp
* added -v verbosity option to MGED tree command - Cliff Yapp
* added -? option to MGED which command - Cliff Yapp
* updated Archer to set cwd=HOME when run without args - Cliff Yapp
* updated rtwizard to set cwd=HOME when run without args - Cliff Yapp
* updated MGED to set cwd=HOME when run without args - Cliff Yapp
* fixed reporting of MGED "vars" command - Cliff Yapp
* updated MGED to not open non-.g-files as databases - Cliff Yapp
* fixed MGED I/O when running GED subcommands - Cliff Yapp
* added decimation control examples to facetize man page - Cliff Yapp
* changed gcv converter to append to existing .g files - Cliff Yapp
* removed obscure MGED menu entries for unused features - Cliff Yapp
* fixed crash when trying to shade invalid breps - Cliff Yapp
* improved librt CPU timer behavior - Cliff Yapp
* fixed example in saveview manual page - Sean Morrison
* added support for in-database vol primitive data - Sumagna Das
* changed 'mvall' to rename all refs even w/ no object - Sean Morrison
* updated MGED Overlap GUI to run reliably on Windows - Cliff Yapp
* fixed MGED search command crash on empty database - Sean Morrison
* improved performance calculating BoT bounding boxes - Vikram Atreya
* fixed MGED crash closing multiple rt views on Windows - Cliff Yapp
* fixed 'n' key binding override with MGED key forwarding - Cliff Yapp
* fixed mged crash when there are no display managers - Sean Morrison
* added pixcmp -n length flag for subset comparisons - Sean Morrison
* added pixcmp -s same and -d different printing flags - Sean Morrison
* updated non-shape objects list for search shape filter - Cliff Yapp
* added volume type to search -type filters - Cliff Yapp
* applied shorter default title in fast4-g conversions - Cliff Yapp
* improved pixcmp support for subset image comparisons - Sean Morrison
* added subtract subcommand to MGED analyze command - Cliff Yapp
* added intersect subcommand to MGED analyze command - Cliff Yapp
* added summarize subcommand to MGED analyze command - Cliff Yapp
* added quiet (-q) flag to MGED kill command - Cliff Yapp
* added MGED stat command for reporting of object info - Cliff Yapp
* corrected examples in gdiff man page - Cliff Yapp
* fixed help message for -F option on gdiff command - Cliff Yapp
* fixed mged -c bomb attaching to graphical displays - Sean Morrison
* fixed titlebar bug opening .g with filename spaces - Sean Morrison
* added a new 'N' graphics window keybinding to run nirt - Cliff Yapp