Writes coded as-built survey shots onto pipe-network structures: window the surveyed area, and every COGO point with a recognized field code pairs with the nearest structure in the window, the shot's elevation lands on the rim, the sump, or the connected pipe-end invert nearest the shot. Everything previews before anything is written.
Coded survey shots (elevation = the value)
Pipes / preview grid
Deltas & cautions
Skipped / no-op rows
What it does
- Field codes (all editable): RIM → rim, SUMP/BOT → sump, SEI → invert in, SEO → invert out, PI/DRI/INV/IE → either direction, whole-word matched against the point's raw description (
SEImatchesSSMH SEI, neverSEIS). - Window loop: window an area, preview, apply; keep windowing; Esc finishes with a run summary + funnel counts.
- Conflict handling: duplicate rim/sump shots, nearest wins; two shots on one pipe end, closer wins; everything else lands in the skipped list with the reason.
- CSV log:
<drawing> - Set Inverts.csv, old, new, delta, point number, code, applied/failed per row.
Settings & options
- Code lists per category, match radius (ft), and the rim / sump / inverts apply toggles, e.g. run inverts-only and leave surface-referenced rims alone.
- Settings persist at
%APPDATA%\VDC\AsBuilt\setinverts.json(overrideVDC_SETINVERTS_SETTINGS), separate from VDCASBUILT's file. - Notes: setting a pipe invert does not auto-move the structure sump, shoot the sump if you want it set; structures created first (design or as-built import), then the survey applied on top.
Dialog

VDCSETINVERTS
VDCSETINVERTSWhen to use it
- Working up a record drawing: the as-built survey is imported and the design structures need the field-measured rims, sumps, and inverts.
- QC'ing a converted network against the shots - the preview grid shows every delta without applying anything (just cancel).
- Any time typing inverts structure-by-structure through the Part Properties dialog is the alternative.
How to run it
- Run VDCSETINVERTS - the dialog opens: field-code lists per category, match radius (default 10 ft), what to write (rim / sump / inverts), CSV log. Click Pick Window + Preview.
- Window the surveyed area (both the points and the structures must be inside).
- Review the preview: structure, change, old -> new, delta, source point number and code. Untick any row you don't want. Apply Checked Changes.
- Keep windowing more areas; press ESC at the corner prompt to finish and read the run summary.
Options
- Field codes: whole-word match against the point's RAW description - 'SEI' matches 'SSMH SEI' but never 'SEIS'. The shot's elevation is the value; the code only says what the shot is.
- Match radius: a shot pairs with the nearest structure center within this distance (default 10 ft); invert shots then claim the closest free pipe end at that structure.
- Rim / Sump / Inverts checkboxes: turn whole categories off for a pass - e.g. inverts only, leaving surface-referenced rims alone.
- CSV log: '<drawing> - Set Inverts.csv' beside the DWG - one row per applied/failed change with old, new, delta, point number, and code.
Watch out for
- Gravity networks only - pressure networks have no rim/sump/invert vocabulary and are skipped.
- A rim that refuses to write is usually driven by a surface reference on the structure - clear the reference or untick rims.
- Pipe inverts move the PIPE END (centerline = invert + inner rise / 2); connected-structure sumps do not auto-follow. Shoot the sump if you want it set.
- Two shots claiming the same pipe end: the closer one wins, the other lands in the skipped list with the reason - it is never silently dropped.
Related: As-Built Record Drawing · Pipe QC · Point Dedup