I offer you my AutoHotKey script:
SetKeyDelay, 12 ;Key delay, to keep Dwarf Fortress from being overwhelmed.
:Set higher if you get weird results, or lower to get the
:script to run faster
SLEEPTIME = 12 ;same thing, only used in the repeated key press loops though
$^+Left:: ProcessEvent("Left","w")
$^+Right:: ProcessEvent("Right","w")
$^+Up:: ProcessEvent("Up","w")
$^+Down:: ProcessEvent("Down","w")
$^!Left:: ProcessEvent("Left","g")
$^!Right:: ProcessEvent("Right","g")
$^!Up:: ProcessEvent("Up","g")
$^!Down:: ProcessEvent("Down","g")
ProcessEvent(direction, type)
{
if (direction = "Left" or direction = "Right") {
loop 9 {
Send k
Sleep %SLEEPTIME%
}
}
if (direction = "Up" or direction = "Down") {
loop 9 {
Send u
Sleep %SLEEPTIME%
}
}
if (direction = "Right" or direction = "Down") {
loop 5 {
Send {%direction%}
Sleep %SLEEPTIME%
}
}
if (direction = "Left" or direction = "Up") {
loop 4 {
Send {%direction%}
Sleep %SLEEPTIME%
}
}
Send {Enter}
Sleep %SLEEPTIME%
if (type = "w") {
loop 10 {
Send {Enter}
Sleep %SLEEPTIME%
}
}
if (type = "g") {
loop 3 {
Send {Enter}
Sleep %SLEEPTIME%
}
}
Send %type%
Sleep %SLEEPTIME%
if (direction = "Right" or direction = "Down") {
loop 5 {
Send {%direction%}
Sleep %SLEEPTIME%
}
}
if (direction = "Left" or direction = "Up") {
loop 6 {
Send {%direction%}
Sleep %SLEEPTIME%
}
}
}
It's primitive, but it will quickly designate 10-tile long bridges using the first available material.
b->C->w->ctrl-shift-<direction>: Designate ten tile wall going <direction> from the cursor. Eg, ctrl-shift-up will designate a ten tile wall with the current selection as the south most point.
b->g->ctrl-shift-<direction>: Designate ten tile bridge going <direction> from the cursor.
I used this when building the mold.