To aid the reader, a summary of the approach is given here before the details are presented. To begin with we have a design for a part as shown below with the final geometry, the primitives, the Boolean expression that describes it, and some equivalent representations.


Figure 1.4 A Sample Part and Some Theoretical Representations


Although the Nested Boolean representation is used in this thesis for BCAPP, and is equivalent to the other models, the Boolean equation will be used for this descriptive example.

First the reader is asked to look at the equation (1.1), and notice that certain equation forms suggest certain operations. If we look at the ‘~C’ term ANDed with the other primitives, this tends to suggest machining out of some internal feature such as the a drilling operation. In this case the two other primitives that are ANDed suggest that one is a piece of stock and the other primitive defines some external features to be machined off (as well as other operations). The following steps show how a simple planner would use this approach.


1. a) Start with equation ‘A & B & ~C’.

2. a) Perform a drilling operation.

b) Remove ‘~C’ to get remaining equation of ‘A & B’.

3. a) Perform a milling operation to remove material outside wedge, but in

the block volume.

b) Remove ‘B’ from the equation to leave only ‘A’.

4. a) Cut block of dimensions for ‘A’ from stock.

b) Remove ‘A’ from the equation to leave an ‘NULL’ expression.

5. a) Quit because there is no design equation left to interpret.


A previous criticism of trying a method like this is non-uniqueness, but this has been used to advantage. For example, if we take the previous design equation (1.2), and rearrange it using the Laws of Boolean Algebra, we can get the equivalent expression (1.3).

The double negative can suggest a molding or casting type process. In effect the term,

describes the molding cavity (everything around the part ‘A & B & ~C’ is solid, and the space for the part is now the only void location), and the second negation indicates an injection of material into the void location. We can also observe that the primitives ‘A’ and ‘B’ would generally enlarge the cavity volume, whereas ‘~C’ would create an obstruction when milling the cavities. It is these sort of clues that make this method well suited to the abstract nature of Artificial Intelligence (AI) planning. A similar example to this sort of reasoning can be seen in Shpitalni, et. al. [1991].