I used it once and really liked it. There is a geometric modeling editor GUI called `mged`. But in general you define your model based on textual input. BRL-CAD has its own DSL. To get a feeling, have a look on the reference card: http://brlcad.org/w/images/5/52/MGED_Quick_Reference_Card.pd...
I would say that this is not a tool for everyone, but everone who appreciates time-proven UNIX principles & tooling could find a hidden gem here.
could you compare to other common, current CAD-systems? From what I got out of the it, it's focussed on bridging between pure CAD and analysis (e.g. focus on meshes over geometry construction).
Does it have an assembly module?
From what I get from it, it's more similar contemporary (80ies) CAD systems. Once found a manual for EUCLID in my fathers engineering time-stuff and it looked similar.
No, I can't really compare. Back then, I needed to model a not too complicated geometry for some scientific programming applying raytracing to calculate some view factors. BRL-CAD provided all the tools I wanted (raytracing with `nirt` command: http://brlcad.org/w/images/f/fe/Interactive_Raytracing_-_The...) and I could finish that job in quite short time, this was really nice. But I have no wider CAD experience.
When I as messing with this program around 1999/2000 I found the tarball was missing some of the example models shown on the website. I emailed asking about them and he wrote me back with the models attached. This must have been shortly before he died :(
> Fun fact: the originator of this software also wrote ping. He was slightly miffed that ping got more attention.
ping got more attention because the original brl cad was only available from a .mil domain and you need to ask for a key to decrypt it. When it was finaly opened it was no more interesting .
Sad thing is that in this day and age I have become so accustomed to more modern tools that the stack of sourceforge, svn, mailinglists and irc is to big of a hurdle for me to put in time to contribute. :/
You cannot immediately inspect the code or check out the type of discussion the devs on this project have around code reviews, issues etc...
I'm all in favor of open-source CAD. But BRL-CAD is not very interesting to me. At least from a cursory look at the website I can't really tell what kind of features it has.
I'd like to recommend FreeCAD to the audience, which is a fairly feature-rich CAD Software. FreeCAD is particularly good at parametric modeling. It's mainly C++ with Qt, and enjoys pervasive scriptability through Python. I've also written a Jupyter notebook integration, but it can be a bit tricky to install.
The bad parts: The GUI is very usable, but tends to annoy me quite often. It's also relatively easy to crash. There does not seem to be a clear formal structure behind the overall project, leading to forking and the co-existence of modules that don't play that well with each other. There is no clear path to learn the Software, but the effort is worth it. There are a lot of tutorials, though the ones I found the best where often in German, sometimes English by Germans.
I tried FreeCAD over a year ago and it was so crashy it was useless.
My goto for doing CAD stuff on Linux is currently SolveSpace. It's pretty great except it becomes unusably slow once models get complicated with lots of instancing through step+repeat operations.
Otherwise, its UI is minimal and stays out of the way for the most part, the way it encourages components residing in separate files then be linked into assemblies is very intuitive for a programmer like me, and it's proven to be quite stable.
I hope SolveSpace can get more attention to improve the performance problems, because I often find myself making models too complicated for it to handle before it gets bogged down then I end up halting progress on the project adding another "profile solvespace and optimize whatever is preventing further progress here" entry to my endless TODO list.
Edit:
Here's some context on the kind of SolveSpace limitations I've encountered...
The most recent thing was modeling a heat exchanger made of transversely stacked Coroplast sheets. I modeled the channel details of Coroplast w/a large step+repeat between two layers, then linked that sheet into an assembly twice in the two transverse orientations, those were then each step+repeated with a 1-sheet gap to accommodate one another to form the entire stack. It quickly degenerated into half-hour redraws and I gave up finishing the assembly. It's really too bad, because putting something like that together is otherwise super fast and easy in SolveSpace. I love using it for quick engineering project mockups.
If anyone is looking for a parametric CAD optimization rabbit hole to go down, please geek on on SolveSpace! I'm sure others would appreciate it.
>> If anyone is looking for a parametric CAD optimization rabbit hole to go down, please geek on on SolveSpace.
There are actually a few people that know quite a bit and can help people wanting to get involved. It all volunteers so be patient and willing to dig. Go through the open issues, there's a lot of variety.
Another fact I like to mention is that BRL-CAD is really a showcase for the UNIX philosophy (modularity&composition): There are 349 single programs in /usr/brlcad/bin. Man page says "brlcad - BRL-CAD programs for solid modeling, raytracing, graphics, and image processing" and lists 14 main categories of programs (comprising then many commands).
I haven't scrutinized the implementation of FreeCAD, but the various "workbenches" (if memory serves, I think that's what they were called) feel like they're implemented essentially as separate programs that just share some common frontend piece switching between them.
Yep it maximized reuse and testability. Little shell programs can be tested easily, used at the CLI, and then called from the UI, which just becomes a wrapper. Makes sense to me.
It looks similar and appears to have some of the same challenges to opencascade which has a python module. Pythonocc.
http://www.pythonocc.org/
As a heavy CAD user who wants to do some computer aided engineering I've found things like FreeCAD, OpenSCAD, and LibreCAD are great but not necessarily straightforward to work with programmatically. Pythonocc is easier but then lacks all the GUI tools for creating more detailed models.
Good to see BRL CAD get some attention, it has been around for a while. I wonder if the "trusted by the US Military" line still sells - most people who are CAD users looking for a viable alternative are looking for productivity, features and format/export compatibility. Also, parametric modeling has been around for a long time but BRL CAD still works with primitives - not that this isn't useful, but perhaps parametric modeling is an essential feature of modern CAD.
29 comments
[ 2.1 ms ] story [ 45.3 ms ] threadI would say that this is not a tool for everyone, but everone who appreciates time-proven UNIX principles & tooling could find a hidden gem here.
Does it have an assembly module?
From what I get from it, it's more similar contemporary (80ies) CAD systems. Once found a manual for EUCLID in my fathers engineering time-stuff and it looked similar.
When I as messing with this program around 1999/2000 I found the tarball was missing some of the example models shown on the website. I emailed asking about them and he wrote me back with the models attached. This must have been shortly before he died :(
ping got more attention because the original brl cad was only available from a .mil domain and you need to ask for a key to decrypt it. When it was finaly opened it was no more interesting .
This software has quite a bit of history.
You cannot immediately inspect the code or check out the type of discussion the devs on this project have around code reviews, issues etc...
I'd like to recommend FreeCAD to the audience, which is a fairly feature-rich CAD Software. FreeCAD is particularly good at parametric modeling. It's mainly C++ with Qt, and enjoys pervasive scriptability through Python. I've also written a Jupyter notebook integration, but it can be a bit tricky to install.
The bad parts: The GUI is very usable, but tends to annoy me quite often. It's also relatively easy to crash. There does not seem to be a clear formal structure behind the overall project, leading to forking and the co-existence of modules that don't play that well with each other. There is no clear path to learn the Software, but the effort is worth it. There are a lot of tutorials, though the ones I found the best where often in German, sometimes English by Germans.
My goto for doing CAD stuff on Linux is currently SolveSpace. It's pretty great except it becomes unusably slow once models get complicated with lots of instancing through step+repeat operations.
Otherwise, its UI is minimal and stays out of the way for the most part, the way it encourages components residing in separate files then be linked into assemblies is very intuitive for a programmer like me, and it's proven to be quite stable.
I hope SolveSpace can get more attention to improve the performance problems, because I often find myself making models too complicated for it to handle before it gets bogged down then I end up halting progress on the project adding another "profile solvespace and optimize whatever is preventing further progress here" entry to my endless TODO list.
Edit:
Here's some context on the kind of SolveSpace limitations I've encountered...
The most recent thing was modeling a heat exchanger made of transversely stacked Coroplast sheets. I modeled the channel details of Coroplast w/a large step+repeat between two layers, then linked that sheet into an assembly twice in the two transverse orientations, those were then each step+repeated with a 1-sheet gap to accommodate one another to form the entire stack. It quickly degenerated into half-hour redraws and I gave up finishing the assembly. It's really too bad, because putting something like that together is otherwise super fast and easy in SolveSpace. I love using it for quick engineering project mockups.
If anyone is looking for a parametric CAD optimization rabbit hole to go down, please geek on on SolveSpace! I'm sure others would appreciate it.
There are actually a few people that know quite a bit and can help people wanting to get involved. It all volunteers so be patient and willing to dig. Go through the open issues, there's a lot of variety.
they too were a collection of programs unlike MS MFC based applications that were a set of dll and a single interface
However, that's got to be a very hard to google name
BRL-CAD is the relation between the Brazilian and Canadian currency https://finance.yahoo.com/chart/BRLCAD%3DX