Here you are...
; leaf tip: forms
; XXX
; X
; X
leaf_tip(up, down, left, right)
{
;Corridor
dig(up,3)
;first side
move(left,1)
dig(right,2)
;Return to start
move(left,1)
move(down,3)
}
;Leaf_side: forms
; XXX
; X
leaf_side(up, down, left, right)
{
;Corridor
dig(up,2)
;first side
move(left,1)
dig(right,2)
;Return to start
move(left,1)
move(down,2)
}
;small_branch_tip: Forms
; XXX
; X
; X X X
; XXXXX
; X X X
; X
; X
small_branch_tip(up, down, left, right)
{
dig(up, 5)
leaf_tip(up, down, left, right)
leaf_side(left, right, down, up)
leaf_side(right, left, up, down)
move(down,5)
}
;small_branch_side: Forms
; XXX
; X
; X X X
; XXXXX
; X X X
; X
small_branch_side(up, down, left, right)
{
dig(up, 3)
leaf_tip(up, down, left, right)
leaf_side(left, right, down, up)
leaf_side(right, left, up, down)
move(down,3)
}
medium_branch_tip(up,down,left,right)
{
dig(up,10)
small_branch_tip(up, down, left, right)
small_branch_side(left, right, down, up)
small_branch_side(right, left, up, down)
move(down,10)
}
medium_branch_side(up,down,left,right)
{
dig(up,4)
small_branch_tip(up, down, left, right)
small_branch_side(left, right, down, up)
small_branch_side(right, left, up, down)
move(down,4)
}
large_branch_tip(up,down,left,right)
{
dig(up,17)
medium_branch_tip(up, down, left, right)
medium_branch_side(left, right, down, up)
medium_branch_side(right, left, up, down)
move(down,17)
}
large_branch_side(up,down,left,right)
{
dig(up,9)
medium_branch_tip(up, down, left, right)
medium_branch_side(left, right, down, up)
medium_branch_side(right, left, up, down)
move(down,9)
}
huge_branch_tip(up,down,left,right)
{
dig(up,35)
large_branch_tip(up, down, left, right)
large_branch_side(left, right, down, up)
large_branch_side(right, left, up, down)
move(down,35)
}
huge_branch_side(up,down,left,right)
{
dig(up,19)
large_branch_tip(up, down, left, right)
large_branch_side(left, right, down, up)
large_branch_side(right, left, up, down)
move(down,19)
}
quad(up,down,left,right)
{
large_branch_tip(up,down,left,right)
large_branch_side(left,right,down,up)
large_branch_side(right,left,up,down)
large_branch_tip(down,up,right,left)
}
#q::
quad("{NumPadUp}","{NumPadDown}","{NumPadLeft}","{NumPadRight}")
;leaf_tip("U","D","L","R")
dig(dir,number)
{
send d
send {Enter}
move(dir, number)
send {Enter}
}
move(dir,number)
{
loop {
if number <= 0
{
break
}
send %dir%
number--
}
}
Spoiler'd for length. It's final stage is a 4-way 27-bedroom design (108 rooms per floor) based off of
fractal. I like it since there is room for 2x2 stairs near the center, which makes dropping it into my fortress fairly easy. You can also remove one of the side leaves and fit your workshop space in, which makes for a very nicely compact arrangement.
If you aren't adverse to a bit of coding, the base of it is just a "dig x tiles in y direction" call, so you could probably build other sorts of designations off of it without too much difficulty, for exploratory mining, workshop areas, etc. I tried to make it as easily readable as possible, just ask if you have any questions.
If you just want to make it go, get AutoHotKey and press windows-q while you are in the designation menu. And don't touch anything while it runs, or odd things are likely to happen.
Edit: mistyped the hotkey, mis-did the math on rooms per floor. Fixed now.