I tried to use some of the available free Cad software (Xfig under
Linux, TurboCad-2d and others under Windoze) and came to one
inescapable conclusion: They all suck. You'd think that the people who
wrote them had never taken a drafting class in high school. Xfig
came the closest to being useful, but its arc-definition mode was
too limited, it didn't have any trimming functions, and most
importantly, there was no dimension function.

Oh well; that's free software for you. I'm sure the professional
stuff is much better. But no way am I paying $2000 just to enter
the plans to a $500 telescope.

Next, I tried installing
Catia [note: web page requires
javascript -- foo] at work, where
we have a license. I used Catia back in college -- it is without a
doubt the finest Cad software ever written. If you've ever ridden
in a modern airliner, you've ridden in something designed on Catia.
Pratt & Witney designs their engines with Catia. Your car was probably
designed with Catia.

But have you ever tried installing and administering Catia? Forget
it. Requires a trained professional. Actually, I am a
trained professional, and I still got nowhere. Catia administration
requires a full-time person with extensive experience with IBM
mainframes and who studied at Dassault in France for two years to
learn how. Took me a week to install it, and I never did figure
out how to run it. The next engineer after me tried to
install it too, and didn't get any further. I think they're sending
him to France now.

So what do I do? I decided that if Unix is 30 years old and
still doesn't have a decent drafting program, it was time
to write one. This program started life about 15 years ago. I
wrote it in college to drive
Imlac PDS-X
vector displays connected
to Pr1me-500 computers. None of the original source code remains
(it was written in Fortran.) All that remains are the design ideas
and philosophy. It incorporates the XFIG file format, and some ideas
from XFIG, Catia and whatever crumbs of good ideas I got from the
other Cad software I've played with.

Powerful angle snap. Some drawing programs call this
"Manhattan" or "mountain" geometry and limit you to 90-degree
(or 45-degree if you're lucky) intervals. Xdraft goes much
further and allows the user to specify angle snap at any
interval. Default is 15 degree intervals, but 30 degrees is
great for isometric drawings.

Numeric values are entered as algebraic expressions. If your units
are feet, and you want to enter an inch, type "1/12".

Multiple layers. Layer 999 is designated the "construction" layer.
It's drawn all in one color, and may be quickly toggled on and off.
If you've ever done real drafting, you know that construction lines
are the key to getting the job done.

Multiple ways to enter each kind of element:

Points:

Enter coordinates.

Enter an offset from some other point.

Intersection(s) of two elements.

Limit points of an element.

Evenly spaced between two points.

At the midpoint (or any other ratio) between two points.

In a rectangular grid.

Lines:

Single line segment defined by two points.

Polyline defined by multiple points.

Parallel to an existing edge.

Perpindicular to an existing edge.

Join multiple lines into one polyline.

Break a polyline into individual line segments.

Trim one or both lines at their intersection.

Boxes: Defined by corner points or center point and corner point.

Circles:

Defined by center and radius.

Defined by three points on the circle.

Ellipses:

Defined by center and radii.

Defined within a box.

Arcs:

Defined by center, radius and two angles.

Defined by three points.

Dimension lines:

Horizontal.

Vertical.

Parallel to an edge.

Radius.

Text: Simply type and place.

Pre-select highlighting. With most editors, if the image is
crowded, you point, click, and hope that you got the right element.
In Xdraft, whichever elements is closest to the cursor is drawn in
a bright color to let you know that this is the one you would pick
if you clicked right now.

There's an rpm file which has been tested under RedHat 7 and 9 and will
probably work on other versions as well. You probably won't need to
build xdraft yourself, but if you want to compile it yourself, follow
these steps: