Author Topic: [ULP] Autorouting stripboards with EAGLE  (Read 9109 times)

0 Members and 1 Guest are viewing this topic.

Offline ridouan

  • Newbie
  • Posts: 2
[ULP] Autorouting stripboards with EAGLE
« on: April 05, 2012, 10:15:39 pm »
I've created a small ULP that allows you to use the autorouting feature within EAGLE to lay out the top and bottom layers in a stripboard-compatible manner. What the script does is create vertical restrictions for the top layer and horizontal restrictions for the bottom layer so that the autorouter is forced to route the wires the way you'd want for a stripboard. The top layer represents bridging wires to be soldered and the bottom layer represents the coppertrack already present on said stripboards. The script also creates restrictions around components so that the autorouter won't come up with wires running under/through components. What the script does not (yet) do is mark cutting locations, so you'd have to do that yourself... I've also attached some sample screenshots. Please note that I've been using eagle only for a short while (and ULP programming for an even shorter amount of time: 1d), so I haven't yet accustomed myself to any eagle quirks.

Don't hesitate to withhold hard criticism and point out areas of improvement... :)

Notes:
  • Tested only with 6.01 on Windows, don't know how it'll behave with older versions/other platforms.
  • Grid is expected to be 0.1 inch (or 100 mils)
  • Make sure the clearance (Edit | Net Classes...) is set to a sensible value. Sensible would be between 0 mils and 50 mils (one 'hole' left empty between tracks). YMMV.
  • Make sure component-pads are aligned (as much as possible) to grid intersections.
  • You'll need to mark the cutting locations of tracks yourself, not in yet.
  • The script 'stripboard.scr' is saved/retained in the project directory, so you can rerun it manually if desired.
  • Make sure to rerun the ULP whenever you move components, so that restrictions around components are correctly re-created (or manually move them in the tRestrict layer).
  • I've made the restriction wires as thin as possible. Even so, they may obscure other lines, in that case just hide the tRestrict and bRestrict layers if you need to unclutter.

Installing/Running the script
  • Place the SB.ulp script in the ulp directory within the Eagle installation directory.
  • Either type 'run sb' or run the SB.ulp file via the GUI.
  • If the argument 'clean' is provided ("run sb clear"), the tRestrict and bRestrict layers are cleared, without drawing new restrictions.
  • Quick-start from the command-line: ripup *;run sb;auto;

Known issues
  • Wire width is set to 30mils after the ULP is done.
« Last Edit: April 06, 2012, 02:42:36 am by ridouan »
 
The following users thanked this post: Pixelbrick

alm

  • Guest
Re: [ULP] Autorouting stripboards with EAGLE
« Reply #1 on: April 07, 2012, 04:15:25 pm »
Cool hack, although I have trouble seeing any real world applications. Autorouters, and especially the crude one in Eagle, suck this kind of routing. They have very limited options, and the circuits on stripboard are almost always simple enough to manually route in a short amount of time. This layout could be much more compact with better component placement, for example.

Please ignore this comment if it was just meant as an exercise in ULP.
 

Offline ridouan

  • Newbie
  • Posts: 2
Re: [ULP] Autorouting stripboards with EAGLE
« Reply #2 on: April 09, 2012, 08:16:44 pm »
Cool hack, although I have trouble seeing any real world applications. Autorouters, and especially the crude one in Eagle, suck this kind of routing. They have very limited options, and the circuits on stripboard are almost always simple enough to manually route in a short amount of time. This layout could be much more compact with better component placement, for example.

Having a supply of stripboard lying around I need to use up I needed something in Eagle to help me out, without going through the tedious process (place, check lines, place, check lines, ad infinitum) of checking the tracks/bridges.

All in all, there's no real-world usage, it's more of a 'help' during experimentation with (simplish) circuits on stripboards... With regard to the layout, there's all of me to blame for that :-[ . In my defence, it was meant as demo of routing, not placement per se :)

Please ignore this comment if it was just meant as an exercise in ULP.

The ULP possibility just screamed for investigation, so I thought to give it a whirl. A bit simplistic, but not bad at all, TBH...
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf