跳到正文
DEV Community· GenAnywhere·· 5 小時前AI 評分40

從 DGN 到 AI 網格:五種場地工具串成一條 CAD 管線

From DGN to AI Mesh: Five Site Tools in One CAD Pipeline

AI 導讀

一項場地再利用項目串接 MicroStation、Site3D、CityEngine、GenAnywhere 和 Cityweft,測試五種工具之間的檔案能否流轉而毋須重新建模。

正文

A fairground reuse project gave me a clean test: 180 acres, one survey, four barns, a grandstand, a creek, and five platforms that all claim to model the site. I wasn't judging renders. I was judging whether a file could move from one tool to the next without a person rebuilding it.
The chain ran MicroStation, Site3D, CityEngine, GenAnywhere, and Cityweft, with workshop boards at the end. Here is what held, what broke, and what I would automate next time.

  • MicroStation is the only stable source of truth in the chain. Keep the DGN authoritative.
  • Site3D's surface export is the hinge for grading; LandXML survives, exotic meshes do not.
  • CityEngine is the one platform with a real rebuild loop.
  • GenAnywhere produces context, not attributes. Treat its mesh as a picture you can walk through.
  • Cityweft closes the loop with numbers, and numbers need stable IDs.

The chain, with formats

MicroStation held the survey, parcel boundaries, and existing conditions in one DGN. Everything else referenced it; nothing overwrote it. I published a DWG for the civil work and kept the DGN as the master.
Site3D built the existing ground surface from the survey and a proposed surface for the new street. I exported a LandXML TIN for the engineer and a DWG for plan sheets.
CityEngine took parcel polygons with a height field and a CGA rule file for three housing types. Output was glTF for review and FBX for one consultant who still asks for FBX.
GenAnywhere covered the unsurveyed north forty. I outlined that area on the map and let the AI build the buildings and ground; the export was a GLB, and it arrived as a single mesh with no per-building IDs.
Cityweft produced option massing and a CSV of units, open space, and parking per scheme.

Where the coordinates went wrong

The project sat in a State Plane zone in US survey feet, vertical datum NAVD88. MicroStation handled that without complaint. The trouble started in the viewer: the site is far from the origin, and the generated mesh jittered when I orbited close to the grandstand.
The fix was a local origin. I subtracted a site base point from every exported mesh and kept the offset in a manifest. The DGN still held true coordinates; the review files held small ones. One line in a text file, and the shimmer disappeared.

Attributes are the part nobody demos

CityEngine can carry attributes from rules into the export, but only if you design the schema before writing CGA. I didn't, the first time. Floor counts, typology, and unit IDs lived in the rules and not in the output, so the downstream join had nothing to grab.
GenAnywhere has the opposite problem. The geometry is convincing and there is no attribute schema at all. Height is a shape, not a field. I derived floor counts from height for the workshop, labeled them estimates, and kept that layer out of anything requiring a real number.

The bug that cost a day

Cityweft's CSV listed metrics by row, and I joined it to the parcel layer by row index. Then I deleted two parcels and rebuilt the option. The indices shifted, and 38 units jumped from the corner block to a block that never had them. The totals were correct. The map was wrong.
We caught it because a workshop board showed a five-story building where the option had three. The fix was a stable parcel ID in both files and a join on that ID. Boring, and worth writing down before the next project.

What I would automate

Three checks on every export: bounding box against the site polygon, a units tag in the filename, and a triangle count against a budget. Add a manifest with source file, export time, CRS, and offset. That isn't a pipeline platform. It's a folder and a short script, and it catches most of what went wrong here.
The rebuild loop is the other candidate. CityEngine's rules can regenerate the housing from the parcel layer on demand, which means the model doesn't need to be manually repaired every time a parcel changes. That only works if the rule file has an owner.

Takeaways

The formats cooperate as long as you decide which file is the master. MicroStation is the master. Site3D and CityEngine produce design content. GenAnywhere produces context. Cityweft produces a conversation with numbers attached.
The expensive failures were not geometric. They were naming, units, and identity. Fix those three and the tools start behaving like a pipeline instead of five separate hobbies.

來源:DEV Community · dev.to