Creates real gravity-network structures from coded existing-structure survey shots: the mapping grid turns each field code into a network + part family + size, window the surveyed area, and every mapped point becomes a structure with its rim from the shot's elevation. The create-side companion to
VDCSETINVERTS.
Coded survey shots
Created structures / grid
Cautions
Unmapped / skipped
What it does
- Mapping grid: field code → target network + structure family + size, all editable and persisted. Codes are whole-word matched against the RAW description (
CBmatchesCB 104.2, neverCBX); rows match top-down. - Window loop: window an area, preview (point, code, network, family, size, rim, per-row checkboxes + the skipped list with reasons), Apply Checked; Esc finishes with the run summary. One Undo per window.
- Networks created on the fly: a target name that doesn't exist yet (e.g.
EX-STORMon a clean drawing) is created on first use. - CSV log:
<drawing> - Build Structures.csv, point, code, network, family, size, rim, created structure, status.
Settings & options
- Duplicate guard (5 ft default): skips shots on top of existing structures or of each other, re-running over a built area creates nothing. 0 disables.
- Set rim from shot (on): shot elevation →
RimElevation; 2D shots (Z=0) leave the rim alone and the preview says so. Part rules default OFF, existing utilities stay as surveyed. - Settings persist at
%APPDATA%\VDC\AsBuilt\buildstructs.json(overrideVDC_BUILDSTRUCTS_SETTINGS). - Pipes are deliberately manual, destination-coded shots ("INV TO MH 3") may drive pipe auto-drawing in a future version once field coding proves out.
Dialog

VDCBUILDSTRUCTS
VDCBUILDSTRUCTSWhen to use it
- Working up existing utilities from a topo/as-built survey: the points are imported and the network model needs to exist.
- Before VDCSETINVERTS on a record-drawing job - this creates the structures the invert shots then enrich.
- Any time placing structures one by one from the parts list, eyeballing each survey point, is the alternative.
How to run it
- Run VDCBUILDSTRUCTS - check the mapping grid (code / target network / family / size; network names that don't exist yet are created on first use) and the options. OK - Pick Windows.
- Window a surveyed area. Review the preview: point number, code, network, family, size, rim - untick any row. Apply Checked.
- Keep windowing more areas; press ESC at the corner prompt to finish and read the run summary.
- Draw the connecting pipes, then run VDCSETINVERTS to load sumps and pipe inverts from the detail shots.
Options
- Mapping grid: codes are whole-word matched against the RAW description - 'CB' matches 'CB 104.2' but never 'CBX'. Blank family/size = the drawing's first structure family / its first size.
- Duplicate guard: shots within this distance (default 5 ft) of an existing structure - or of another shot in the batch - are skipped with a reason. 0 disables.
- Set rim from shot: the shot's elevation becomes the rim; 2D points (Z=0) leave the rim where part insertion put it.
- Apply part rules: OFF by default - existing utilities should stay as surveyed, not get re-rimmed by the rules.
Watch out for
- The drawing (or template) must carry STRUCTURE part families in a parts list - the dialog warns when none exist.
- Structures are created with rotation 0 - rotate rectangular ones to their surveyed orientation by hand.
- Row order is priority: a generic MH row above SSMH would swallow the sanitary shots.
- Pipes are not created - that is deliberate; destination-coded shots (INV TO MH 3) may drive pipe auto-drawing in a future version.
Related: Set Inverts from Survey Points · As-Built Record Drawing · Pipe Views (Runs to Profile Sheets) · Point Dedup