## Autoroute plugin

Tha autoroute plugin attempts to route traces according to the netlist, after subcircuit placement is done by the user. There are two modes of operation:

- route all rat lines
- route only the selected rat lines

Limiting the operation to selected rat lines only gives some control to the user; typical use is to route critical nets first, while the board is sparse and leave less important nets to the end (getting them longer and have more vias).

The autorouter uses only the currently visible copper layers and places vias and jumps layers where necessary.

Before the autorouter is ran, a netlist should be imported, subcircuits should be loaded and placed. Other plugins, such as the autoplace or smartdisperse can help with the placement. After the autorouting, djopt actions can be used to purify the routed tracks.

The plugin implements a rectangle-expansion router, based on "A Method for Gridless Routing of Printed Circuit Boards" by A. C. Finch, K. J. Mackenzie, G. J. Balsdon, and G. Symonds in the 1985 Proceedings of the 22nd ACM/IEEE Design Automation Conference. This reference is available from the ACM Digital Library at http://www.acm.org/dl for those with institutional or personal access to it.

Note: the built-in autorouter is not very smart. There are 3rd party, external autorouters that can do better job on some boards, and pcb-rnd supports export/import to communicate with them.