|
Friday, August 10, 2007
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:
- A picture of the step is drawn, with annotations to
label important dimensions.
- A prose description of how to perform the step is
displayed.
- 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.
|

|
|