Hi All,
After reading another thread on here I decided to attempt to write a quick
ULP which will allow me to assign shortcut keys to scroll between routing
layers whilst routing.
It's getting there except for two issues....
First, I can't find a way to get the current routing layer out of the
objects available to me in ULP. I thought maybe I would be able to do
something like:
board(B) {
B.segments(S) {
if (ingroup(S)) {
S.wires(W) {
if (ingroup(W)) {
currentLayer = W.layer;
}
}
}
}
}
But unfortunately this doesn't work as the currently being routed signal
isn't found in ingroup() unless is has been grouped before the ROUTE
command is issued. Even if it is in the group the resulting wires in the
second ingroup() cover all the layers that it already exists on, rather
than the currently selected routing layer in the ROUTE command. Does
anybody have any ideas how to get the currently selected routing layer
number for use within ULP?
Finally, and this is probably the deal breaker on this ULP anyway, if
during a ROUTE operation I issue a LAYER command, it changes the layer
fine. If I issue the same LAYER command from ULP it terminates the ROUTE
operation (I've tried with and without the ; ). If I follow the LAYER
command with a ROUTE command in my exit() string it does go back into route
mode but not necessarily with the same starting point on the route and it
has ignored the LAYER change as you would expect because it's a new route
command starting from the layer matching the current routing start point.
Does anybody have any ideas about how to solve any of these issues or
should I consign it to the "It was worth a try but is not going to work"
pile?
Many thanks,
Rachael
--
Web access to CadSoft support forums at www.eaglecentral.ca. Where the CadSoft EAGLE community meets.

