BRL-CAD
businessMailing List: https://lists.sourceforge.net/lists/listinfo/brlcad-devel
BRL-CAD is a powerful cross-platform 3D solid modeling computer-aided design (CAD) system
BRL-CAD provides geometry editing, ray-tracing, geometric analysis, image and signal-processing, performance analysis tools, networking infrastructure, a high-performance geometry engine, and much more. It's more than a million lines of code, 400+ binary applications, dozens of libraries, and has been under development for more than 30 years.
So it's a graphics system, but not like Blender or 3D Studio Max. We focus on solid modeling and engineering analysis needs (CAD, CAM, CAE) where users need verifiable scientific accuracy. If you've heard of them, we're a little more like AutoCAD, Solidworks, Pro/Engineer, or CATIA just without the polish.
See our industry diagram for a visual overview of where BRL-CAD fits within the various CAD industries.
Help improve open source CAD! We have tons of tasks that are doable within a couple hours even with practically no experience. Some are programming (C, C++, Tcl, shell scripting, PHP, ...) while others involve creating diagrams, writing, modeling, or testing.
Completed Tasks
- Add a command-line option that sets an object color temporarily
- Add a primitive surface area function ... for polyhedron with 4 to 8 sides (ARB8)
- Add a primitive surface area function ... for right hyperbolic cylinders (RHC)
- Add a primitive surface area function ... for triangle meshes (BOT)
- Add missing documentation for any one command (#2)
- Add missing documentation for any one command (#4)
- Append CMake build flags to the end of a compile line
- Calculate plate-mode triangle mesh (BOT) surface areas
- Categorize all of BRL-CAD's commands into a spreadsheet
- cmake case cleanup
- Code cleanup to rename uses of rt_nmg_ to nmg_
- Combine letters for "BRL-CAD" into one 3D model
- Compile and run BRL-CAD on a Raspberry Pi
- Compile BRL-CAD on Windows using Cygwin
- Compile BRL-CAD on Windows using Cygwin (attempt #2)
- Compile BRL-CAD on Windows using Visual Studio Express
- Compile BRL-CAD using Dev-C++
- Compile BRL-CAD using GCC 4.8
- Compile BRL-CAD using LLVM 3.1
- Compile BRL-CAD using LLVM trunk
- Compile BRL-CAD using the Intel Compiler
- Compile BRL-CAD with GCC 4.7+ on Raspberry Pi
- Compile with -Wold-style-definition, fix warnings that ensue
- Compile with -Wstrict-prototypes, fix warnings that ensue
- Compile with -Wwrite-strings, fix warnings that ensue
- Convert 24 other man pages to valid Docbook
- Convert 38 src/fb man pages to valid Docbook
- Convert 43 src/conv man pages to valid Docbook
- Convert bu_free((char*)...) casts to bu_free((genptr_t)...) casts
- Convert Gallery to Piwigo
- Convert NEAR_ZERO() macro calls to NEAR_EQUAL() and EQUAL()
- Convert remaining manual pages to Docbook XML
- Convert src/util manual pages to Docbook XML
- Crash MGED reliably
- Create a "Pill" Model and Diagram
- Create a 2D Sketch Model and Diagram
- Create a COMPREHENSIVE unit test for bn_dist_pt3_pt3()
- Create a flex+bison tutorial
- Create a Hyperbolic Cylinder Model and Diagram
- Create a numerics library (LIBBN) API unit test ... for msr.c
- Create a numerics library (LIBBN) API unit test ... for poly.c
- Create a numerics library (LIBBN) API unit test ... for vert_tree.c
- Create a Parabolic Cylinder Model and Diagram
- Create a technical screenshot
- Create a Torus Model and Diagram
- Create a utility library (LIBBU) API unit test ... for argv.c
- Create a utility library (LIBBU) API unit test ... for avs.c
- Create a utility library (LIBBU) API unit test ... for backtrace.c
- Create a utility library (LIBBU) API unit test ... for vlb.c
- Create a utility library (LIBBU) API unit test ... for vls.c
- Create an "MGED Interface" reference sheet (#2)
- Create an artistic screenshot
- Create an awesome screenshot
- Create an Elliptical Hyperboloid Model and Diagram
- Create an Elliptical Paraboloid Model and Diagram
- Create an Extrusion Model and Diagram
- Create an Halfspace Model and Diagram
- Create an Hyperboloid Model and Diagram
- Create an RTWizard screenshot
- Create Blender-to-BRL-CAD tutorial
- Create BRL-CAD-to-Blender tutorial
- Create ellipsoid model and diagram
- Create geometry database with one of every primitive
- Create numerics library (LIBBN) API unit test ... for complex.c
- Create numerics library (LIBBN) API unit test ... for list.c
- Create prototype 2D CAD drawing(s)
- Create prototype CAD GUI layout diagram
- Create test for thread creation on Windows
- Create the BRL-CAD Logo in BRL-CAD (#3)
- Decouple LIBDM from LIBGED
- Design a "Commercial CAD Comparison" diagram
- Design a commercial CAD comparison diagram
- Design a prototype CAD GUI layout
- Design a prototype CAD GUI layout (#2)
- Design an MGED command spreadsheet
- Determine why solids.sh fails on 64-bit
- Doxygen cleanup ... for LIBBN
- Enable our fbthreadtest tool for compilation
- Enable our pictx tool for compilation
- Enable our test_density tool for compilation
- Enable walk_example for compilation
- Find and Fix 10 spelling mistakes in at least 10 different files (#2)
- Find and fix at least 10 spelling mistakes in at least 10 different files
- Find and fix at least 20 spelling mistakes in at least 5 different files
- Find and fix at least 5 spelling mistakes in at least 40 different files
- Fix 20+ LLVM clang static analysis defects
- Fix <author> tags in our Docbook documentation
- Fix and Validate Docbook XML
- Fix CMake build system auto-disabling of GLEW
- Fix Cygwin configuration warnings/errors
- Fix documentation XML errors in doc/docbook/articles
- Fix documentation XML errors in doc/docbook/lessons/en
- Fix documentation XML errors in doc/docbook/system (except mann)
- Fix documentation XML errors in doc/docbook/system/mann
- Fix Mac OS X compilation errors under Buildbot
- Fix some LLVM Clang compilation warnings (#2)
- Graph our geometry conversion logs
- Identify 10 places to post an open source solicitation
- Implement a function to convert triangle meshes to solid polygon mesh
- Implement a portable bu_gethostname() function
- Implement a primitive centroid function ... for elliptical hyperboloids (EHY)
- Implement a primitive centroid function ... for extruded bitmaps (EBM)
- Implement a primitive centroid function ... for hyperboloids of one sheet (HYP)
- Implement a primitive centroid function ... for polyhedron with 4 to 8 sides (ARB8)
- Implement a primitive volume function ... for gridded volumes (VOL)
- Implement a primitive volume function ... for hyperboloids of one sheet (HYP)
- Implement a primitive volume function ... for right hyperbolic cylinders (RHC)
- Implement mutex locking for Windows
- Implement runtime detection of SSE
- Implement thread creation for Windows
- Integrate new thread affinity interface into LIBBU and LIBRT
- Interview BRL-CAD's maintainer, Jordi Sayol
- Investigate GMP integration
- Investigate performance of setting thread affinity
- Layout "MGED Interface" Reference Document
- Link all of our orphaned website wiki pages
- Make mged 'tables' command not call system()
- Make tables.c not call system("cat ...")
- Migrate ALL our MySQL databases
- Migrate our MySQL databases from v4 to v5
- Mock up new BRL-CAD website interface design
- Mock up new BRL-CAD website interface design (#2)
- Mock up new BRL-CAD website interface design (#3)
- Mock up new BRL-CAD website interface design (#4)
- Mock up new BRL-CAD website interface design (#5)
- Model a "A" using BRL-CAD
- Model a "B" using BRL-CAD
- Model a "C" using BRL-CAD
- Model a "D" using BRL-CAD
- Model a Fresnel lens
- Model an "L" using BRL-CAD
- Model an "R" using BRL-CAD
- Model BRL-CAD logo in BRL-CAD (alan one)
- Model new BRL-CAD Logo using BRL-CAD
- Modify IRC notifier output
- Move comments from source to header files ... move LIBBN comments
- Move comments from source to header files ... move LIBRT comments for files beginning with 'a-c' and 'e-o'
- Move comments from source to header files ... move LIBRT comments for files beginning with 'q' through 'z'
- Move comments from source to header files ... move LIBRT comments for files beginning with the letter 'd'
- Move comments from source to header files ... move LIBWDB comments
- NURBS BibTeX reference file
- Post "BRL-CAD Ray Tracing Shaders" tutorial to our wiki
- Publish two Eclipse write-ups to our wiki
- Reduce duplicate code in htonf.c
- Remove (void) before sscanf/scanf/fprintf/printf/bu_log function calls
- Reorganize MGED menu
- Research offset macro consolidation
- Research status of compiling BRL-CAD on MINGW
- Review and post "Blender to BRL-CAD" tutorial on our wiki
- Review and update preprocessor macro calls, NEAR_ZERO() and NEAR_EQUAL()
- Separate LIBNURBS files into one class per file
- Set up a Buildbot continuous integration compile slave for Linux
- Set up a Buildbot continuous integration compile slave for Mac OS X
- Set up a Buildbot continuous integration compile slave for Windows
- Set up BRL-CAD for continuous integration within Jenkins
- Set up BRL-CAD nightly downloads within Buildbot
- Set up BuildBot continuous integration for BRL-CAD
- Set up Jenkins continuous integration for BRL-CAD
- Set up QEMU deployment testing
- Set up StatSVN
- Set up SvnPlot
- Update our VM disk image
- Upgrade Drupal website
- Upgrade Gallery website
- Upgrade Mediawiki website
- Validate remaining Docbook XML
- Verify and/or Fix setting cflags/cppflags/ldflags during Cmake
- Web interface (AJAX?) to MGED
- Write "MGED Interface" reference document
- Write a "BRL-CAD Ray Tracing Shaders" tutorial
- Write a BRL-CAD showcase article
- Write a BRL-CAD showcase article #2
- Write a tutorial on compiling BRL-CAD with Eclipse on Linux
- Write a tutorial on compiling BRL-CAD with XCode on Mac OS X
- Write a tutorial on compiling BRL-CAD with XCode on Mac OS X
- Write a tutorial on manually creating an Eclipse project around BRL-CAD
- Write BRL-CAD News article on .deb/.rpm builds
- Write solicitation for new website designer