I have written a new ULP (replacing brd_to_dsn.ulp) to convert Eagle board designs to the SPECCTRA DSN format for Freerouting.
The design is modular, organized by descriptor, making debugging and future extensions much easier. Improvements are:
- Much better curve to line segment conversion (reduces the number of segments by 95%)
- Allows arbitrary curved board shapes
- Improved segment to path conversion
- Signal segments can be individually locked before routing, group locking for wires, polygons and via's
- Handles more complex board layers correctly (tested with 8 layers and 3 via levels)
- Uses the Eagle mdCopperDimension parameter.
-Tested with Eagle V6.2, will not work with Eagle 5 or earlier
Vias and wires can be locked in groups by just specifying their signal in the ULP before auto routing. Wires can also be locked individually by setting their shape attribute. This allows for instance to insert many vias in a ground plane, which remain undisturbed during auto routing, but do not have to be individually locked in Eagle.
You can prevent specified (in the ULP) polygons from being cut up with auto-routed signal wires (and cause new airwires) by not including them in the autorouter. When writing the result back to Eagle the original polygons re-appear and keep signal consistency. You can also specify via or wire restrict areas for individual INTERNAL layers (something which Eagle cannot do), for instance to keep in any internal layer a polygon 'clean' from wire ripup, or keep wiring away from an HF circuit in the nearby layers. See the entry in the Technical Support forum, were you can find the latest version of the ULP as well.
For Eagle2freerouter dated 20 feb-2014 or later, save the BRD file before you run the ULP to capture any changes made in the BRD design parameters