A Dead-Mall Site Pipeline: Five Tools, Four Handoffs
I built a planning-level site model for a 64-acre closed mall in Pennsylvania in seven weeks. OpenRoads handled ground and corridors, Archshaper handled building massing, Cityweft generated block schemes, InfraWorks assembled the public-facing scene, and GenAnywhere filled one unsurveyed parcel. The hard parts were coordinate registration, exclusion polygons, and keeping generated geometry out of the counts. The site is Northgate Galleria: 480,000 square feet of enclosed mall, three anchors, about 2,300 parking spaces, and a ring road tied to a US-30 access permit. The town owns it with the county authority. The deliverable was three redevelopment schemes for a June hearing, not construction documents. That scope decided everything about the pipeline. 1. OpenRoads: establish one ground surface The only survey was from 1998. It came as a DGN in Pennsylvania South State Plane, NAD83, and it had contours plus a few hundred spot shots but no surface. I built the existing grou
I built a planning-level site model for a 64-acre closed mall in Pennsylvania in seven weeks. OpenRoads handled ground and corridors, Archshaper handled building massing, Cityweft generated block schemes, InfraWorks assembled the public-facing scene, and GenAnywhere filled one unsurveyed parcel. The hard parts were coordinate registration, exclusion polygons, and keeping generated geometry out of the counts.
The site is Northgate Galleria: 480,000 square feet of enclosed mall, three anchors, about 2,300 parking spaces, and a ring road tied to a US-30 access permit. The town owns it with the county authority. The deliverable was three redevelopment schemes for a June hearing, not construction documents. That scope decided everything about the pipeline.
1. OpenRoads: establish one ground surface
The only survey was from 1998. It came as a DGN in Pennsylvania South State Plane, NAD83, and it had contours plus a few hundred spot shots but no surface. I built the existing ground in OpenRoads from those inputs and checked it against the creek invert from a 2021 orthographic image. Flat lot areas agreed within 0.1 foot; the banks were off by up to two feet, which is expected for contours drawn for drainage.
The corridor tools answered the access question. I tested a new street meeting US-30 at a signal and ran the queue check. The stop bar pushed back far enough that the old loop had to survive as a service drive along its first 300 feet. That constraint shaped all three schemes.
Outputs were a LandXML surface for the other tools, a corridor solid for visualization, and a grading plan showing the lower lot draining to a new basin instead of the creek outfall.
2. Archshaper: test the buildings before the blocks
The anchors are roughly 120 feet deep. Archshaper let me test three block types against that depth without modeling every wall. I fed in footprints, target unit sizes, and a height limit of four stories from the zoning code, then compared a solid block against one with a central light well.
The solid version produced a dark core and units with very little exterior wall. The light-well version lost floor area but produced rentable units around a courtyard. I exported both as OBJ meshes with level lines.
Archshaper is a massing tool, not a site tool. It knows nothing about the floodplain, the easement, or the ring road, so its output went into the scheme generator as building types rather than as a plan.
3. Cityweft: generate schemes, then subtract what it cannot see
Cityweft took the street network and block rules and produced three schemes with unit, parking, and open-space totals. The first run reported 610 units. That number was wrong for the site because 80 units landed in the 100-year floodplain.
The fix is not a setting. I had to draw exclusion polygons for the floodplain, the utility easement, and the creek buffer, then rerun. The second pass gave three schemes of 500 to 540 dwellings; parking settled near 1,100 stalls in each. Every scheme carried a CSV of counts and a GeoJSON of parcels.
Two issues matter with any similar generator:
• Stable IDs are not guaranteed. Editing the street graph renumbered blocks, which broke my schedule mapping. Export IDs after the final run, not during iteration.
• Parking counts assume the whole site is available. If a phase leaves the ring road in service, subtract those spaces manually or the total will be optimistic.
4. InfraWorks: build the scene, not the evidence
InfraWorks assembled the surface, the mall shell, the proposed streets, the floodplain, and the massing into one scene for the public meeting. I used it for sight lines, shadows, and scale. I did not pull quantities from it.
The rule I stated at the start of the presentation: numbers come from OpenRoads and Cityweft, the picture comes from InfraWorks. Mixing the two is how a planning model gets mistaken for an engineered one.
5. GenAnywhere: fill the gap, label the gap
A 12-acre patch on the far side of the creek came with neither a survey nor current imagery. I drew a rectangle around it in GenAnywhere and let the AI generate terrain and buildings inside. The result included houses, sheds, driveways, and tree cover, which was enough to judge how the new streets would feel at the property edge.
It also produced a driveway crossing the creek in one version. I kept the output on a layer named AI-CONTEXT, stamped the generation date in the layer metadata, and excluded it from every count and every area calculation. It exists to give the scene a background, nothing more.
What I would change
I would draw the exclusion polygons before the first Cityweft run and freeze the street graph a week earlier. Both would have saved a day. The coordinate setup, the ground surface, and the layer naming were worth the time they took; those three things kept five tools from becoming five versions of the truth.

