For actual fring of siege-engines, I'd like the siege engine to have a set "aimed at place". You could define a location, much like currently you can choose a patrol point, or squad location.
When chancing this, the engineers would try to estimate how best to hit there. They wold fire a projectile, and see where it lands, then adjust the aim untill they get a hit. Target areas could as well be a 5x5 square if you wan't inaccurate siege engines, or 1). Once aimed they would fire into that location(with a small deviation). If you moved the aim, they would calculate again, and adjust for new spot. Experienced engineers would adjust to new positions more accurately and with lesser shots then unexperienced.
This would allow firing in other them horizontal/vertical lines, which mostly makes siege-engines awkward now. Also, fitting small moving units would become harder, but you could easily aim stationary enemies, or with some adjustment, a moving group.
Other settings for siege engine could be fire mode (direct, ballistic, or ballistic with max n z-levels raise so you could better choose their use indoors), firing mode (adjust mode, where the previous round would land, and adjustments would be made before next was fired, or bombard where the dwarfs would fire as fast as they could, but the adjustment would no be calculated, and the shots would slowly drift away due to stress to parts and lack of adjustment) and the current fire/prepare/hold would be nice.
Would there be need for "fire at high angles" setting, if your siege engine is near your wall, so you could order it to fire more like a mortar in order to avoid hitting your wall?
Any comment on this or other ideas?