Burr Tools
This (set of) program(s) will help you solve a certain kind of puzzle. Namely puzzles that
are made out "glued" together basic units. As basic units the program currently supports:
square or dice shaped units, spheres, prisms with an equilateral triangle as base
or an oddly shape tetrahedron.
The problem of the puzzle must be to assemble them into a certain shape. An additional
constraint says that the pieces within the result shape must again aligned relative to the
grid of the basic unit.
To whet your appetite here are some screenshots that show off all the important features of the
program. If you click the images a normal sized version of the window will be loaded.
This image shows the window in shape editing mode editing one of the pieces of the example
puzzle "Broken Sticks". It uses the anaglyph mode for red-cyan/blue glasses |
This image displays the window in problem editing mode. It shows the Puzzle "Draculas Dental Desaster"
designed by Ronald Kint Bruynseels which is included as an example |
This image shows the window in solution mode. It has been done with the OSX port of BurrTools. It shows
"More MazeN Cube" by Derek Bosch" |
This image contains the image export window with the solution of the included puzzle"Cube in Cage"
by Mineyuki Uyematsu |
This image shows the example puzzle with the triangle grid: "Bermuda" designed by Bill Cutler |
And one example with the sphere grid: "Ball Room" by Stewart Coffin |
Finally an example with the rhombic grid. Again a puzzle designed by Stewart Coffin: "Permutated
Third Stellation" |
This is no actual screenshot of BurrTools but a view of
the spheres exported to STL. You can see the rounded connections
between spheres |
There are also 2 videos available that show how a puzzle is entered and solved using
BurrTools. The puzzle that is used can be found
here .
The video is divided
into 2 parts. Part 1 contains
the creation of the shapes and solves the puzzle the first time.
Part 2 adds colours to the shapes to make the
puzzle complete and the solution unique. The files are 2 and 1.5MBytes big.
You can also find a tutorial made by Lee Krasnow that explains the Rhombic Grid.
So what are the features
- Does nearly all that PuzzleSolver 3D which is
- You can enter all puzzles that are assembled out of dice shaped units
- Find assemblies for you puzzle
- Disassemble the found assemblies
- Show everything in a 3 dimensional image
- Animate how the puzzle has to be assembled
- Toggle the visibility of pieces in the solution to have a look at the inner workings of
a puzzle. This is especially helpful for box packing puzzles
- Runs on Windows, OSX, Linux, FreeBSD and probably other Unix variants as well.
- Has several different grids (Cubes, Triangles, Spheres, Rhombics)
- You can specify which cubes to fill and which can be empty or full. PuzzleSolver 3D has
only 2 modes. Either all cubes may be left empty in the solution, or the cubes that have
an empty neighbour must be filled. BurrTools are more flexible here.
- More than one problem in one file (e.g. have several Soma Cube problems in the
same file)
- Constraints to piece placements (like checkerboard)
- Group pieces together to tell the disassembler that they don't need to be taken apart.
This is necessary for puzzles like "Cube In Cage" where the cage can not be taken apart
but has 3 movable pieces
- No limits (or at least very high limits) to sizes and number of shapes. As long as your
computer has the memory and
you the patience the program will do it for you, even if it takes aeons.
- Create images
that contain the pieces, or an instruction how to assemble the puzzle, or create
vector images for further processing
- Create files suitable for STL aware hard and software (e.g. 3D printer)
- Free as in beer. It doesn't cost you anything
- Free as in speech. The source is available, so you can do your own programming
or help me writing this software or even continue improving the program in case
I have to stop working on it.
- Save puzzles with solutions in compressed XML-files. This allows you to create
puzzles with other means (like your own burrgrower, ...)
- A library is provided that helps you to write your own software for puzzle
design and analysis
I've been asked many times why I don't sell the program. For
those that are interested I put up a small text explaining here
News
| News |
| 11.5.2008 |
Version 0.4.1 has been released. This version is mainly a bugfix release. It fixes the following
problem:
- The program could not assembler trivial problems with
the new rhombic grid. This could result in some solutions
not found when your problem contains very simple pieces
- The 255 piece limitation is now only applied when the
disassembler is used. The assembler can handle more
pieces. It is just the disassembler that is right now
limited to 255 pieces.
|
| 27.4.2008 |
Version 0.4.0 is released. This version features a brand new grid. With this grid it
is possible to model puzzles that contain diagonally cut cubes, but more importantly it
it possible to model puzzles that are based on the rhombic dodecaheron. You can now model
and solve many of the famous Stewart Coffin puzzles, like "Broken Sticks", "Diagonal Cube",
"12 Piece Separation", "Hexsticks" and many many more. The design of the basic unit for this
space came from Lee Krasnow. He did the research into the matter, if the shapes work as
expected and if they allow us to do all the things we want. He also wrote a comprehensive
section in the documentation that explains all the details and design decision that went
into this grid. Please read the documentation as this new grid is not as straight forward
as the other grids of BurrTools.
I also want to thank Stewart Coffin. He allowed me to include his puzzles as examples.
So there are a lof of his puzzles included within the release.
Besides this new grid the version also contains the following improvements:
- Improved STL export. You can now export spheres as well. Also the STL export now
supports binary STL besides the ASCII variation. The binary STL files are quite a bit
smaller
- A new way to export images has been added. It is possible to export to vector images
besides the already available bitmapped images. The vector export is a bit simpler. It only
exports the image currently visible in the 3D window.
- The Userguide pdf file is gone. The help is now included within the program. It is
an html document. If you want to print it you can export the help into separate html files
and print those
- Some smaller things like: the status window allows you to remove shapes, a function
to fill internal holes, a speed-up in the 3D view for those unfortunate of use that don't
have such fast computers and finally some bugs were also found
This release will be the final release for a long period of time. Only important bug fixes
will be done for the time being.
BurrTools has gained so many features that the GUI no longer can properly handle the many
buttons. That is why a completely new GUI will be developed. The new GUI will be more modular
to allow for future new features.
|
| 29.7.2007 |
Version 0.3.1 has been released. This version is mainly a bugfix release. It fixes the following
problems:
- The assembler sometimes didn't find existing solutions. This happened when the total of
all voxels defined by lower ranges was larger than the number of normal voxels in the result
- The solver did abort in cases when piece ranges were used and some pieces didn't have
a mirror partner piece
- A Possible crash with very larger grids
- A missing symmetry in the triangle grid
- A crash in the sphere grid when empty (no used spheres) pieces were used
- A crash when animating a solution while the solver is running and that
solution has already been dropped due to a limit on the number of solutions
There are also a lot of improvements to the built system. BurrTools can now properly
crosscompile, includes its NSIS-script, doesn't build unneeded table generators, contains
better checks for OpenGL. Volker Grabsch did most of that work.
Joe Becker edited the whole manual and fixed a lot of Ronalds and mine Germanizmen within
the document.
The new assembly method was improved so that is is quite a bit faster in some (rare) situations
Finally the program also contains a new feature. It is now possible to change pieces within
the 3D-view. To add a voxel you need to click onto the face of a voxel while pressing the
SHIFT or ALT key. Then the voxel touching that face will be added. Removing voxels it possible
by clicking on the voxel while pressing CTRL. Additionally selection of shapes is possible in
the problem view. And hiding of pieces can be done in the solution view by clicking onto the
piece while pressing SHIFT.
|
| 13.6.2007 |
Version 0.3.0 is a big step for BurrTools. It now contains the first tool for designing
puzzles. It is now possible to let BurrTools search for all kinds of solutions with different
sets of pieces.
BurrTools now also handles puzzles with many identical pieces much more graceful (well the
old versions did solve them but it took nearly forever)
For the new method that has this nice properties thanks goes to Wei-Hwa Huang for his
source which gave the initial idea and Markus Götz who helped my write my own version.
Additionally the image export has been improved a bit and another smaller bug regarding
mirror pieces has been fixed, as well as a memory leak pluged.
|
| 21.4.2007 |
Version 0.2.3 has been released. This version fixes a bug that was sent in by
R. J. Grimes. I ocured in puzzles that contain pairs of mirror pieces where one
piece is not oriented by simply mirroring one piece along the x-axis. I never
encountered this bug because I always entered the shapes by using the mirror transformation.
The result was again that too many solutions were removed.
Also from this version on I will no longer distribute the Linux binary. The chances
that it works are way too small, BurrTools became simpler to compile because all libraries
are now distributed in many Unix distributions. Finally BurrTools appeared in the
first distribution: FreeBSD and hopefully more will follow.
|
| 15.4.2007 |
Version 0.2.2 fixes a few problems with the last release. I suggest everyone to update
quickly.
- fix problems with mirror solution detection that sometimes removed too many solutions
- fix compilation on non x86 CPUs, properly use the canonical system name and enable
assembly functions only when the code works on that CPU
- (hopefully) fix a hanging program that sometimes ocured when the prepare button was used
|
|
Older news can be found here
|
Download
| Latest versions |
| Source (for all systems, as long as you get it compiled) |
0.4.1
|
| Windows Binary (in zip archieve) |
0.4.1
|
| Windows Installer |
0.4.1
|
| OSX Binary (universal binary) |
0.4.1
|
Contact
You can make bug reports and feature requests on the
project page .
There is also a mailing list to be found there where things can be discussed publicly. If you want to mail to this list
use the following adress:
burrtools-discussion@lists.sourceforge.net
You have to subscribe to this list if you want to mail to it. Sorry for the inconvenience but
there were too many spam mails.
To subscribe to the list or read the archives use the
lists web page .
If you want to contact me personally mail to my sourceforge adress:
roever at users dot sourceforge dot net
Development
If you want to contribute changes, improvements, fixes or whatever I suggest you get yourself the
darcs revision control system. I
use that system for the development.
The repositories are available at http://burrtools.sf.net/repos.
Currently there are two branches there
| Branches |
| head |
This is the main development branch. It contains the latest changes and developments and
also the releases starting from 0.2.0 |
| stable-0.1.9 |
This branch contains fixes for the 0.1.9 release. Whenever serious bugs turn
up fixes will be committed to this branch and I will make another release
|
The repositories are read only, so if you want to send me your changes you have to use the send feature
of darcs. I will then apply the changes you made. The repository will be updated by me on a daily basis,
when development goes on.
Credits
My special thanks goes to the following people for continuing support or other help
|
André van Kammen. His
program
has been a great inspiration. It has been the base for the GUI of BurrTools
|
|
Donald E. Knuth. His
dancing link
algorithm is one base part of the program. Although it has now become modified by ideas from Wei-Hwa Huang
|
|
Bill Cutler: His
texts
helped implementing the 2nd part of the core algorithm. And he also contributed other ideas.
|
|
Ronald Kint-Bruynseels: He is always a big source of ideas, he is beta tester, documentation writer
GUI designer and usability improver, icon painter and what not all else. Without him BurrTools
would not be what it is now.
|
|
Derek Bosch: mainly responsible for the OSX port. But he also contributes the odd code snippet or even
new feature here and there.
|
 |
Sourceforge
provides the discspace for this webpage.
|
|