I had some ideas to make Quickfort even more awesome.
Basically, the idea is to allow a single, mixed use blueprint to be applied on the fly. There are all sorts of fancy GUI things, but I like to just use Excel with conditional formatting fills for each designation. It makes it easy to visualize the whole project, but I then have to break it into many smaller pieces to use in Quickfort. If I need to change something small, it can require tediously re-saving multiple files each time. By focusing on flexibility at time of use, I think we could resolve the problem.
There are four ideas, although they are interrelated:
1) Segmentation. Break the .csv file into four equal parts (or n parts). For example, NW, NE, SW, SE. Allow the user to quickly toggle any one of the four areas off before the script runs. This allows you to: (a) recover more gracefully after a script fails part-way through, (b) prioritize certain parts by designating only them, and (c) more fully account for DF's FIFO mentality with constructions (because nearby sections are constructed more closely in time to each other, dwarves will move around less and build more efficiently in some circumstances). It also combines well with #2.
2) Labels. Instead of just "Cx|Cx|Cx" you could have "Cx Inner stairs|Cx Inner Stairs|Cx Inner stairs." Quickfort could read anything after the space as a label, and then when you select a .csv file, just turn on or off whatever labels you don't need. So, instead of having 3 different Construction blueprints with stairs, floors, and walls, I could just have one and turn off "Outer floors" or "Fortress walls" or whatever else someone can think of. This really would be amazing for large projects.
3) Mutation. Some designs are the same across multiple designation types. For example, a floorplan that rises above ground and also goes below, or a tower with a central staircase that extends through the whole fort, sometimes dug out, and sometimes built. Users could use the "?" character, with a label, to allow these to be designated at execution time. In conjunction with #2, certain digging designations could be redesignated as their constructed counterpart (and vice-versa). Stairs <-> Constructed stairs, Dug area <-> Floor... there may be more. So, stairs could be labeled as "dug," "constructed," or "off."
This would be an interesting way to allow multi-z-level blueprints to work - changing certain labels' states in a pattern when repeating. It would probably require each cell to have at least two labels, though.
4) Browser. This one is probably a bit more difficult than the others, but essentially let the user pop up a mini-display window with a starting location and the nearby designations. Here's an example:
. . . . . . .
. S X X X . .
. . x x x . .
. . x x x . .
. . . . . . .
As you'd move around, the S would change position. This would make it a lot easier to figure out where to start the cursor! I don't know how hard something like this is to do with AutoHotKey, but it sure would be convenient.
Hope these suggestions are helpful. I've been building a very large megaproject recently (with Quickfort, of course), so it's been on my mind.