Was BRL-CAD the tool I was looking for?

Was BRL-CAD the tool I was looking for?


It seems like it’s been almost half a year since I wrote TFME4: Tools of the Trade in which I explored the serious options for 3D CAD on GNU/Linux, and didn’t think we had much. I advocated building something on top of Blender, which may still be a decent idea.

But I’m starting to think I gave really short shrift to the US Army Research Lab’s BRL-CAD, which has recently released a new version (7.8.0) with support for Windows and a number of user interface and modeling tool improvements.

BRL-CAD’s design is based on the idea of “Constructive Solid Geometry” (CSG), a CAD representation model which has become less stylish in recent years. The more popular system these days is called “Boundary Representation” (BREP) which is what you see in Blender, for example. This is at least partly because BRL-CAD traces its origins back to 1979 at the US Army Research Laboratory. The program has been under continuous development during all that time, although it was only a few years ago that it was released under a free license.

BRL-CAD is a CSG-based CAD system developed by the US Army Research Lab. (Original caption: “Stryker ICV w/ Slat Armor rendered with ADRT/RISE”)BRL-CAD is a CSG-based CAD system developed by the US Army Research Lab. (Original caption: “Stryker ICV w/ Slat Armor rendered with ADRT/RISE”)

Given these facts, I was quick to dismiss BRL-CAD as incapable of representing a large amount of modern CAD data, and therefore somewhat questionable as a common interchange tool. However, the notes in the BRL-CAD Overview make a pretty strong case for why I should love CSG (and I have to admit that CSG seems more intuitive to me):

Why CSG Modeling?. Although BRL-CAD has been used for a wide variety of engineering and graphics applications, the package’s primary purpose continues to be the support of (1) ballistic and (2) electromagnetic analyses. Accordingly, developers have found CSG modeling to be the best approach in terms of model accuracy, storage efficiency, precision, and speed of computational analysis. . While polygonal and boundary representation (B-rep) modeling often focuses on just the surfaces of objects, CSG modeling focuses on the entire volume and content of objects. This gives BRL-CAD the capability to be “more than skin deep” and build objects with real-world materials, densities, and thicknesses so that analysts can study physical phenomena such as ballistic penetration and thermal, radiative, neutron, and other types of transport..

Wow. I hadn’t thought of that, but it’s obviously true. If you want to model the solid body properties of a system, then you need a model that defines the interior composition. As a system for space development (the main focus of my TFME series), I’m starting to think I should’ve written a more in-depth analysis of how to use BRL-CAD, and I suppose I will have to do that now.

BRL-CAD’s MGED is the main tool for modelling. CSG, because it models the interior of objects, is good for simulation models involving electromagnetic or other mass properties of materials.BRL-CAD’s MGED is the main tool for modelling. CSG, because it models the interior of objects, is good for simulation models involving electromagnetic or other mass properties of materials.
BRL-CAD has definitely been around for awhile! (Original caption: “Mike Muuss working with BRL-CAD on the PDP-11/70”)BRL-CAD has definitely been around for awhile! (Original caption: “Mike Muuss working with BRL-CAD on the PDP-11/70”)

BRL-CAD 7.8.0 is available as a source distribution from Sourceforge, along with pre-compiled binaries for Linux, BSD, Solaris, Irix, OS X, and Windows. I’m downloading a binary now to try out—maybe I’ll actually write a review after I’ve had a chance to play with it. I haven’t fully figured out if this was the tool I was looking for all along, but I am starting to wonder. I’d love to hear from anyone advocating BREP as to whether CSG is really a problem, as well as on the subject of integrating BRL-CAD models with other types of CAD and 3D models (Nurbana looks like an interesting lead, though there isn’t much written about it).

Category: 
Tagging: 

Comments

Terry Hancock's picture

While I'm sure it's possible, that sort of thing is what Blender is specifically designed to do, and by all accounts it is much better equipped.

Despite the complaints about the interface, the program is really very powerful, and once you get used to it, even the interface is not so bad (I'd compare it to using some of the venerable old programmer's editors like vi and emacs -- lots of hotkeys to learn).

In general, I don't learn programs by carefully following tutorials, but Blender is an exception -- I really recommend that you do start by following some of the available tutorials, as it is otherwise easy to get in over your head.

However, I did produce some nice renderings and animations using it awhile back (unfortunately I then proceeded to forget quite a bit of it, so I'll have some re-learning to do next time I try it out).

However, Blender is not so good for technical applications which is what BRL-CAD is good for. I'm not really sure what the status is, but I have even heard some discussions of compatibility tools to get information from one into the other (although they use quite different internal models, so this isn't trivial to do). I hope to look into that further.

(Both are free-licensed, of course).

Terry Hancock's picture

My blog entries at Free Software Magazine may be reprinted with this notice:
Copyright (C)2004-2006 Terry Hancock / License CC-By-SA 2.5+
http://creativecommons.org/licenses/by-sa/2.5
Originally at http://www.FreeSoftwareMagazine.com

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

It looks like the Blender folk were able to incorporate much of the Nurbana code.

http://mediawiki.blender.org/index.php/BlenderDev/NurbsCurvesNurbana

-Sebastien Bailard
reprap.org - self-reproducing 3D printer project

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Terry Hancock,

Am I allowed to translate this blog entry to the dutch language for our www.cad4linux.nl portal. I will put your Copyricht notice under the translated text:
Copyright (C)2004-2006 Terry Hancock / License CC-By-SA 2.5+
http://creativecommons.org/licenses/by-sa/2.5
Originally at http://www.FreeSoftwareMagazine.com

Thanks in advance,

Emiel van Rossum

http://www.cad4linux.nl

Terry Hancock's picture

Yes absolutely, that's one of the main reasons I like to use the By-SA.

I do appreciate being told, because everybody likes props, but it's not actually required by the license.

claymore1977's picture

Greets all, just wanted to give you some detailed info as I work with BRL-CAD daily and am very involved with the development team.

The windows distro of BRL-CAD is nowhere near completely ported. BRL-CAD has its roots in the *nix systems and the distros of those platforms are very very complete. As it stands, BRL-CAD for windows 7.8.0 has the ability to convert ASCII, FASTGEN-4, STL and IGES to BRL-CAD native format (.g). 7.8.0 for Irix, for instance, can convert ASCII, AutoCad DXF, Elysium Neutral Facetted, ELUCID, FASTGEN-4, IGES, Jack, NASTRAN, Pro/E, STL, TANKILL, Unigraphics and Viewpoint to BRL-CAD native format. Details on this reside on the brlcad.org website at: http://ftp.brlcad.org/VolumeIV-Converting_Geometry.pdf

The most refined of the converters is the AutoCad DXF and since most commercial CAD packages, both CSG and BREP, will export to DXF. There is currently efforts in motion to port more of the converters over tothe windows version. Work is also underway to implement NURB support natively in BRL-CAD and allow for conversion of STEP file format to BRL-CAD native format... but its still a year or so away.

As BRL-CAD is an open sourced project, community contributions are always welcomed... including gripes and complaints. The dev team spends a substantial amount of time creating custom scripts and functionality for job specific tasks, so if there is something that doesn’t exist and you need it to, just ask!

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Hi,

I'm looking for open source C++ libraries that convert iges files to another format which enables easier comparison of 2 models. I was wondering if the BRL format might be good option. Also, can the open source C++ libraries included in the BRL-CAD package be used in VC++ on Windows XP.

I need libraries (open source) that I can use - just the converting software won't suffice for my work.

Any help will be greatly appreciated !

Thanks a bunch,

-Karthik

Author information

Terry Hancock's picture

Biography

Terry Hancock is co-owner and technical officer of Anansi Spaceworks. Currently he is working on a free-culture animated series project about space development, called Lunatics as well helping out with the Morevna Project.

Most forwarded

Interview with Dave Mohyla, of DTIDATA

Dave Mohyla is the president and founder of dtidata.com, a hard drive recovery facility based in Tampa, Florida.

TM: Where are you based? What does your company do?
DTI Data recovery is based in South Pasadena, Florida which is a suburb of Tampa. We have been here for over 10 years. We operate a bio-metrically secured class 100 clean room where we perform hard drive recovery on all types of hard disks, from laptop hard drives to multi drive RAID systems.

Anybody up to writing good directory software?

Since the very beginning, directories (of any kind) have had a very central role in the internet. (I have recently grown fond of Free Web Directory. Even Slashdot can be considered a directory: a collection of great news and invaluable user-generated comments. As far as software is concerned, doing a quick search on Google about software directories will return the free (as in freedom) software directories like Savannah, SourceForge, Freshmeat and so on, followed by shareware and freeware sites such as FileBuzz, PCWin Download Center and All Freeware (great if you're looking for shareware and freeware, but definitely less comprehensive than their free-as-in-freedom counterparts).

Interview with Mark Shuttleworth

Mark Shuttleworth is the founder of Thawte, the first Certification Authority to sell public SSL certificates. After selling Thawte to Verisign, Mark moved on to training as an astronaut in Russia and visiting space. Once he got back he founded Ubuntu, the leading GNU/Linux distribution. He agreed on releasing a quick interview to Free Software Magazine.

Is better education the key to finding better software?

I read David Jonathon's article Anybody Up To Writing Good Directory Software? the other day, which got me thinking about software directories in general. As David mentioned, many of the software directories one finds when doing a quick google search are free as in beer, not as in freedom. But what interests me is the software directories that already exist, providing a combination of both free as in beer software, and open source software. Sites such as Freeware Downloads and Shareware Download don't advertise themselves as providing free as in liberty software, but each of them have a good selection of open source software available... if you know where to look.

Most emailed

Free Open Document label templates

If you’ve ever spent hours at work doing mailings, cursed your printer for printing outside the lines on your labels, or moaned “There has got to be a better way to do this,” here’s the solution you’ve been looking for. Working smarter, not harder! Worldlabel.com, a manufacture of labels offers Open Office / Libre Office labels templates for downloading in ODF format which will save you time, effort, and (if you want) make really cool-looking labels

Creating a user-centric site in Drupal

A little while ago, while talking in the #drupal mailing list, I showed my latest creation to one of the core developers there. His reaction was "Wow, I am always surprised what people use Drupal for". His surprise is somehow justified: I did create a site for a bunch of entertainers in Perth, a company set to use Drupal to take over the world with Entertainers.Biz.

Update: since writing this article, I have updated the system so that the whole booking process happens online. I will update the article accordingly!

So, why, why do people and companies develop free software?

More and more people are discovering free software. Many people only do so after weeks, or even months, of using it. I wonder, for example, how many Firefox users actually know how free Firefox really is—many of them realise that you can get it for free, but find it hard to believe that anybody can modify it and even redistribute it legally.

When the discovery is made, the first instinct is to ask: why do they do it? Programming is hard work. Even though most (if not all) programmers are driven by their higher-than-normal IQs and their amazing passion for solving problems, it’s still hard to understand why so many of them would donate so much of their time to creating something that they can’t really show off to anybody but their colleagues or geek friends.

Sure, anybody can buy laptops, and just program. No need to get a full-on lab or spend thousands of dollars in equipment. But... is that the full story?

Fun articles

Santa Claus - the most successful open source project

It dawned on me the other day, as I was shopping for the dozens of gifts it seems I have to buy every December, that Santa Claus is the most successful open source project in history. (Bridget @ Illiterarty would agree with that). Santa Claus is essentially a marketing development that is embodied by everyone who stuffs a sock, gives a gift, hosts a dinner or wishes Merry Christmas over the holiday season.

Most emailed

Editorial

When I first started thinking about Free Software Magazine, I was feeling enthusiastic about the dream. I had Dave, Gianluca, and Alan willing to help me, I had established members of the free software community willing to help me out, I had writers volunteering their time and energy for free, and I had a generous offer from OpenHosting for servers, all before I'd proved myself. There was a sense of excitement in the air, and I thought maybe, just maybe, I could make this work.

Free Software Magazine uses Apollo project management software and CRM for its everyday activities!