Headless job runner for unattended sessions: a dispatcher writes a small job JSON (drawing, output folder, operations), a worker Civil 3D or AutoCAD session runs
VDCWORKERRUN, and a result JSON comes back with a status, an exit code, messages and outputs. Public, versioned contract: VDC.Worker/JOB-SCHEMA.md. No ribbon button - scripts and dispatchers drive it.Operations
- drawing.probe: units and counts; with Civil 3D, surfaces, alignments, sites, parcels, pipe networks.
- drawing.layouts: every layout's plot device, paper, plot style table and scale, optionally compared with allowed configurations you supply.
- stormwater.pull: drainage areas (VDCDRAINAGEAREA's, closed polylines on layers, or traced to outlets) with areas and labels, built-upon area by category, lots per drainage area, pond stage-storage-discharge.
- tables.push / stormwater.push: keyed tables written into a COPY of the drawing, saved beside the result; the same key updates in place.
Running it & safety
- Set
VDC_WORKER_JOBand runVDCWORKERRUN, pass the path as its one argument, or call(vdc-worker-run "C:/jobs/job.json").VDCWORKERTESTruns a job by hand. - Never writes the source: hashed, copied into the output folder's
_workarea, only the copy opened, re-hashed at the end (exit 7 if it changed). Writes need"allowWrite": trueand land as NEW files, logged invdc-worker-audit.jsonl. - Exit codes: 0 ok, 1 warnings, 2 invalid job, 3 source problem, 4 an operation failed, 5 crashed, 6 output not writable, 7 source changed, 8 needs Civil 3D, 9 not licensed (LISP entry).
- Draft work product: the result file and every pushed table carry the standard notice.
Dialog

VDCWORKERTESTVDCWORKERRUN - Headless: reads the job file named by VDC_WORKER_JOB or its one argument, writes a result JSON. No dialog by design.