Home
What is Sawdust?
About Eric

Preview 1


     

What is Sawdust?

This is not a description of what Sawdust is today.  Rather, it is a description of what I hope Sawdust eventually becomes.  To see the current status of Sawdust, try Preview 1.

 

  • Sawdust is a computer software application for woodworkers.  Actually, it is two applications:
    • The designer application is used to create woodworking plans.
    • The viewer application is used to view woodworking plans created by others.

There are many excellent pieces of software that people are using for woodworking.  Sawdust is similar to those other programs in some ways, but in most ways it is different.  Two principles guide me as I build this piece of software:

  • Sawdust must be built specifically for woodworkers. 
  • Sawdust must be easy to use.

The result is a piece of software that I think is rather unique.  Some of the important features of Sawdust are explained in the table below.

 

Wood

Sawdust knows about wood.  It knows that oak is heavier than pine.

Sawdust knows the difference between face grain and end grain (it draws end grain in yellow).  It knows that the edges of a piece of plywood are ugly (so it draws them in red).

Sawdust can warn you when you glue a cross-grain joint which is likely to split as the wood expands/contracts with changes in humidity.

Terminology

Instead of forcing the user to learn the arcane language of computer graphics or CAD, Sawdust uses terminology that is already familiar to woodworkers.  The user interface is filled with words like chamfer, rabbet, dovetail, mortise, tenon, and dado.

Joinery

Sawdust knows about woodworking joinery.  If you want to cut a mortise, you simply specify where and how big.  If you want to join two boards with a dovetail, you simply say so, and Sawdust knows how to draw the result.

Sawdust can estimate the strength of a joint.  Sawdust knows that a dovetail joint is stronger than a butt joint.  And if you glue two boards end to end, Sawdust knows that the resulting joint has virtually no strength at all.

Step by step

In CAD software, the "document" or "unit of work" is a drawing.  In Sawdust, the unit of work is a plan.

A plan is a list of steps.  Each step is a woodworking operation such as milling a new board or cutting a mortise.

Each step is clearly explained in three ways:

  1. A picture of the step is drawn, with annotations to label important dimensions.
  2. A prose description of how to perform the step is displayed.
  3. The designer of the plan may add any comments or tips.

 

Solid modeling

Sawdust is built on a powerful technology called "solid modeling".

At each step of the plan, Sawdust builds a mathematical 3D model of the current state of the project.  It uses that model to draw pictures.  It can also use the model to calculate things like weight and surface area.

To the right are two pictures of the same board.  Note that Sawdust knows where the end grain is, even when cuts are made.

 

Plan viewer

Sawdust is actually not one application, but two.  The designer application is for people who want to create their own plans, building them up step by step.

The viewer application is for people who want to view and use plans which were designed by somebody else.  The viewer app makes it easy to see exactly what the project looks like at every step of the plan.  Join steps are shown as animations, making it easy to see how pieces fit together.  The user can rotate or zoom the view.

Individual boards can be made partially transparent so the joinery inside is easier to see.

Variables

Even though Sawdust was designed to be simple, it is still very powerful.  One of its most useful features is the ability for the plan designer to specify variables.  A variable allows the viewer of a plan to change the dimensions of the project.

For example, I designed my workbench plan to allow folks to change the thickness of the top to anything from an inch and a half up to five inches.  When a variable is changed, all the drawings, project information and the materials list are automatically updated.