Sometimes you want to use a complete mathematical set of pieces for designing a puzzle or for analysing one. Creating such a complete set is and tedious and error prone process.

BURRTOOLS provides tools that may in many cases do a lot of the work you need. The tools themselves are explained in their appropriate places here we will just do an example so that you can see how they do fit together.

To make things easier an example file is provided: ```
DemoPieceGenerator.xmpuzzle
```

if you load this file you will find
some of the below actions prepared for you.

For this example we set us the following task:

Find all notchable 6-piece-burr pieces.

To do that let's start by adding the minimal shape for a 6-piece-burr piece and a single cube.

Now we also need a shape that defines what expanse the final shape can have. This is a simple 2x2x6 block in our case. Within this block mark all cubes of the minimal bur-shape as filled and the rest as variable.

Now define a problem. Add the basic 6-piece-burr shape. We also need to add single cubes. As we want all shapes starting from 0 cubes added up to the complete block we need to have 0-10 of those single cubes, so set the range for the single cube to 0-10.

Now we have all that we need. All this is prepared in the provided file.

Go ahead and solve this problem. Here you should tag the*
Expensive rot. check* check-box (→
Rotation considerations) and also the* Keep Mirror Solutions*
check-box. Set the limit high enough to keep all solutions (there will
be 1024 solutions).

Now solve, you will get 1024 solutions. To import those solutions
into a problem (→
Assembly import). Use File -* Import Assms*. In the dialogue
that pops up select the problem P1 as source for the import and as
destination for the new shapes choose to add them to a new problem.
Also tag the* Filter disconnected pieces* and the* Drop non
notchable* check-box. We end up with a new problem P2 with 52
pieces.

That's it you can now work with this set of pieces and find your own favourite 6-piece burr.

A few remarks to this explanation:

- The result shape of the problem defines the maximum possible expanse of the final shapes you generate, so if you wan all pentominoes that fit into an 3x3x3 cube just define a 3x3x3 cube as result shape
- This method is not really suitable for really huge numbers of shapes (e.g. creating all octominoes) because you first need to generate all possible arrangements of cubes, which is much much more than the already big number of octominos. Here a filter is required that already filters assemblies, but that is a future project.
- The
*Keep Mirror Solution*tag is required as otherwise you'd end up with only one shape out of mirror pairs. - The default settings for the assembly import filter is normally good, except if you need special constraints
- Be careful, as the import can't be undone and removing a huge pile of shapes can be a tedious job, so better save before doing an import

Contents Previous Next