1.5 KiB
Ortho source-model mapping
Confirmed Plant 3D 2026 read path
Active Ortho document
→ OrthoProject.DwgSheetDefinitions
→ IDwgSheetDef.DwgViewDefs
→ IDwgViewDef.DwgQuery.ModelFiles[].ModelFileName
→ PipingProject.GetPnPDrawingFiles()
→ exact normalized-path match to PnPProjectDrawing
→ PnPProjectDrawing.Id
→ DataLinksManager.SelectAcPpRowIds(int dwgid)
→ GetObjectClassname / GetAllProperties
→ independent PlantObjectSnapshot
→ AnnotationPlanBuilder
PlantOrthoViewportReader.ReadViewports reads the typed DwgQuery contract and
creates an Ortho viewport snapshot. PlantObjectReader.ReadObjects resolves
the resulting model-file reference through the Piping project drawing list and
reads DataLinks by project drawing ID. The active Ortho database is not a
Piping-row source.
All calls are read-only. The adapter opens no write transaction and does not save a drawing, DCF, or project metadata.
Diagnostics
The source reader returns stable telemetry diagnostics rather than suppressing
the result of a failed query: ORTHO_SOURCE_DRAWING_NOT_RESOLVED,
ORTHO_SOURCE_DRAWING_NOT_IN_PROJECT, ORTHO_SOURCE_DRAWING_AMBIGUOUS,
PIPING_PROJECT_PART_NOT_FOUND, SOURCE_DATALINKS_UNAVAILABLE,
SOURCE_DATALINKS_NO_ROWS, SOURCE_DATABASE_READ_FAILED,
SOURCE_PIPE_ROWS_NOT_FOUND, or SOURCE_DATALINKS_READ.
Exact membership of a source object in a particular Ortho viewport is not yet implemented. A source-level DryRun plan must not be presented as proof of viewport membership.