I have been rebuilding a site model for a 1992 office park outside Raleigh, and it has started to look less like a design task and more like a software migration. Same inputs, different stages, and every stage has a failure mode. The park is 34 acres, three glass buildings, one pond, and a parking field that could hold a regional airport. The owner wants to keep two buildings, replace the third, and put housing on half the asphalt.
Here is the pipeline I ended up with, in order, including the parts that broke.
Stage 1: Get the ground truth
Everything starts with the terrain. I exported contours and a mesh from TopoExport, then brought the pond edge in as a separate line. The park looks flat from the road. It drains 6 feet from the north corner to the pond outlet, which is enough to make a difference in the stormwater model.
What broke: the contour export included the pond surface as a flat plane, which is correct for a survey and useless for a site model. I deleted the pond triangles and rebuilt the edge from the linework. If you skip this, every downhill calculation treats the water as buildable ground.
Stage 2: Mass the options before you draw them
For massing I used GenAnywhere. You select an area on the map, and it generates building volumes inside that area, so instead of sketching blocks by hand I drew three zones on the parking field and asked for mid-rise volumes. I tried 4, 6, and 8 stories. At 6 stories the new housing pencils out without touching the two buildings the owner wants to keep. At 8 it casts a shadow across the pond path all winter.
What broke: the tool filled the zone edge to edge, which left no room for the service lane. I redrew the zones 30 feet short of the property line and reran them. Obvious in hindsight.
Stage 3: Capture what the drawings do not say
The third building is coming down, but the two that stay have details nobody has a model for: a glass curtain wall with a stepped base and a loading court that was added in 2004. I walked both buildings and shot a set of overlapping photos, then ran them through Tripo3D to get a textured mesh. It is not accurate enough for construction, but it is accurate enough to check that the new housing does not sit on top of the loading court.
What broke: the glass reflected the parking lot and the mesh picked up those reflections as geometry. I cropped the photos to mostly frames and re-ran it. Lesson learned: photogrammetry on glass needs matte subjects behind the camera.
Stage 4: Encode the rules, not the numbers
The park sits in a mixed-use district with a transferable floor area provision. I set the district up as CityEngine rules: setback by frontage type, height by distance from the pond, floor area transferable between parcels. Then I ran the rules across the massing options. One option that looked fine lost 40 percent of its floor area because the transfer went the wrong direction.
This is the part I would keep forever. The rules become documentation. When the planning department asks why a block is 62 feet tall, I can show the rule instead of arguing from memory.
Stage 5: Solve the access
Construction access and permanent access are different problems on this site. OpenRoads handled both. The permanent driveway needs a 6 percent grade to meet the road, and the construction route needs a turning radius for a concrete truck. I drew the permanent alignment first, then tested the truck path against it. The path clipped the corner of the pond by about 4 feet. I moved the driveway 10 feet north and it cleared.
What broke: my first profile had a crest that blocked sight distance at the entrance. The software flagged it, I flattened the crest, and the fix cost one click.
What I took away
The tools did not make the design. They made the failures visible earlier. The pond-as-ground error, the edge-to-edge massing, the reflection mesh, the floor-area transfer, the truck path: all five would have shown up in construction documents, and all five were cheap to fix in the model. If you are porting a site from drawings to a live model, budget most of your time for the parts nobody documented. The pavement is easy. The loading court is not.


Top comments (0)