DEV Community

Cover image for Five Tools, One Closed Airfield: A Repeatable Pipeline
Future Built AI
Future Built AI

Posted on

Five Tools, One Closed Airfield: A Repeatable Pipeline

Kestrel Field is a 96-acre county airport in eastern Iowa that closed in 2011. The town wants nine blocks of housing, forty workshop bays carved out of the T-hangars, a market hall in the maintenance hangar, and a greenway on the runway. I worked it in three weeks with five tools, in a fixed order.
This is the order I used, and what broke along the way.

  • Fix units and coordinates before anything else. Everything downstream inherits the mess.
  • Halfmaps for the base map, GenAnywhere for context, Cityweft for streets, Archshaper for massing, CityEngine for rules and counts.
  • Keep one folder of exports per stage, named by date and stage. You will go back two steps at least once.- The context model caught two problems that plan drawings missed. ## 1. Fix the units first The site is in Iowa State Plane South, NAD83, US survey feet. Half the county data comes in that projection, the other half comes in lat/long, and the old airport drawings are in feet with a local benchmark that nobody can find. I set the project to state plane feet and wrote it in the readme first. Every tool handled that projection, but only because I checked each import. CityEngine will accept a model in the wrong units and generate a district at 3.28 times the intended size. It looks fine until you measure a lot. ## 2. Build the base map in Halfmaps Halfmaps combined the county parcels, a recent aerial, and the two-foot contours into one base map with a slope tint. The site falls eleven feet to the creek, and the flat middle is what makes the runway reusable. ## 3. Box the context in GenAnywhere This is the step I used to skip. The box went around the airfield and four blocks of town beyond the south fence, and GenAnywhere returned terrain and buildings as one context model in a few minutes. It changed the plan. Two things came out of it. The forty-foot control tower shadows the first row of houses in the evening, and the nearest existing homes are a five-minute walk from the terminal. Neither fact shows up on a site plan. Both belong in the brief.

4. Test street networks in Cityweft

Cityweft got the site boundary and one hard rule: the runway stays. Then three schemes came back.
The grid pushed the last row of lots into the twelve-acre floodplain, the loop wasted the runway frontage, and the stepped scheme held the flood line and kept nine blocks.
I exported the chosen scheme as blocks and centerlines, with the 62-foot right-of-way intact through the chain.

5. Mass the buildings in Archshaper

Archshaper took field measurements and a phone photo of each hangar type and produced massing models. The market hall fits inside the maintenance hangar without touching structure, since that building is 90 by 70 feet and column-free. Every T-hangar is 44 by 40 feet and holds three bays comfortably, four if you give up the shared bench.
I tested three roof forms on the hall and picked the flat one with a clerestory, so the trusses stay visible.

6. Write the rules in CityEngine

CityEngine got the nine blocks and a set of rules I wanted to try: two floors, a fifteen-foot setback, lots at forty by a hundred. I wrote them as CGA, ran four scenarios, and compared unit counts and frontage.
The full two-story build produced 158 homes. One story on the west blocks produced 141. The adopted version is 150 homes, taller on the runway edge because that is where the tower shadow lands, so the two constraints helped each other. CityEngine also produced the 320-space parking count and the 1.6-mile trail.

Handoff notes

  • Layers: BND_SITE, RNWY, TAXI, HGR_T, HGR_MAINT, TERM, TOWER, FP_100, CNTR_2FT.
  • The runway crown is eight inches at the center. Do not flatten it in the grading model.
  • The apron drains west through two eighteen-inch culverts. Assume they are half full of silt until someone televises them.
  • The tower stays. Its footprint is fixed, and two house types are rotated around it. ## What broke My first GenAnywhere box was too tight: I drew it to the property line and got a model with no neighbors. Redrawing it four blocks wide took two minutes; the wrong first attempt cost an afternoon. Cityweft also assumed a flat site by default. The eleven-foot fall is small, but on forty-foot lots a two-foot contour matters. I had to set the terrain reference before generating, not after. What I would automate next The export naming. I ended up with four rounds of files called final, final2, final_use, and final_use_ok. A date and stage prefix would have saved me ten minutes every day and one very confusing review.

Top comments (0)