NEW ROOTS DEVELOPMENT
HomeTool GuideVDC SurveyBoundary + Plats

Create / Renumber Line/Curve Tags

Creates and renumbers L#/C# line and curve tag labels: the tags line/curve tables read; the tag letters are configurable for other conventions (LN12, CU-3, T4), from one dialog, with the start numbers where you can see them instead of the buried Toolspace > Settings > Table Tag Numbering values. The tags stay genuine Civil 3D tag labels : creation goes through Civil 3D's own segment-label API with real tag-mode styles, every renumber through its own renumber engine, and everything is verified against what the label actually displays. Tables follow automatically; nothing is ever swapped for plain text.

Command VDCTAGLABELS VDCRENUMTAGS · VDC Survey tab › Boundary + Plats panel
Creates and renumbers L#/C# line and curve tag labels: the tags line/curve tables read; the tag letters are configurable for other conventions (LN12, CU-3, T4), from one dialog, with the start numbers where you can see them instead of the buried Toolspace > Settings > Table Tag Numbering values. The tags stay genuine Civil 3D tag labels: creation goes through Civil 3D's own segment-label API with real tag-mode styles, every renumber through its own renumber engine, and everything is verified against what the label actually displays. Tables follow automatically; nothing is ever swapped for plain text.
Walk the boundary from the POB → L and C count independently → every change verified. start (POB) clockwise from the start corner L7→L1 C3→C1 L2→L2 C1→C2 L4→L3 Four modes Create, select lines/curves; tag-mode styles + your layer Pick, click tags in order; running L/C tally Boundary, polyline + start + CW/CCW, one pass Duplicates, only extra holders move to free numbers Everything verified from what the label then displays Rejected input = FAILED line, tag left unchanged Counters persist, sheet 2 continues sheet 1 Non-tag labels (bearing/distance display, custom formats) are skipped and counted in the funnel, never silently renumbered.
Boundary   Start corner (POB)   Walk direction / verified   Old → new tag

What it does, per run

  • Dialog first, dialog last: the mode (dropdown, no command-line keywords), the Create style/layer choices, next L#, next C#, and increment all live in the dialog; every run ends with a summary dialog. Lines and curves count independently and the counters persist, so the next run continues the sequence.
  • Create: select the lines / arcs / polylines / parcel segments to tag (optionally restricted to one source layer), each gets a tag at its midpoint (a polyline: one per line/arc segment) with the chosen tag-mode styles, on the label layer you name (auto-created), numbered from your counters. Skip already-tagged (default on) keeps re-runs additive. The style dropdowns list only styles whose Display Mode is TAG, tag-ness lives on the STYLE, and flipping a shared style would flip every label using it, so the tool never does.
  • Pick: click tags in the order you want; each click assigns the next number for that tag's kind with a L7 → L1 tally and a Next: L2 / C1 prompt. Failed assignments never advance the counter.
  • Boundary: pick a polyline OR a parcel (area label or boundary line both resolve to the ring); every tag anchored on it renumbers in one pass from the start corner in your chosen direction. Prints the resolved boundary + funnel: labels → readable tags → on the boundary.
  • Duplicates: the first holder of each number keeps it; extras move to the next free numbers. Unique tags untouched.

How & why (the API gap)

  • No API reads or writes a tag number (verified across .NET / COM / Dynamo), so the tool drives Civil 3D's own renumber engine: writes the drawing's renumbering counters, feeds the native command one label at a time, and verifies each result from the label's drawn output.
  • Works on general segment AND parcel segment tag labels; a label not displaying a bare L#/C# is skipped and counted.
  • Tags remain real Civil 3D tag labels, line/curve tables update themselves; Clear/undo story is plain AutoCAD undo.
  • Settings: env VDC_TAGRENUMBER_SETTINGS, default %APPDATA%\VDC\TagRenumber\settings.json.
  • Ribbon: VDC Survey tab → Boundary + Plats → Tag Labels.

Dialog

Create / Renumber Line/Curve Tags dialog
Create / Renumber Line/Curve Tags, VDCTAGLABELS

When to use it

  • Tagging a plat boundary from scratch - no tags yet - then cutting the line/curve table.
  • Before cutting the line/curve table, so L1 starts at the POB and runs clean around the boundary.
  • After edits scrambled the tag order or left duplicate numbers.
  • When the built-in Add Labels + Renumber Tags workflow costs too many clicks.

How to run it

  1. Run VDCTAGLABELS - the dialog opens with everything: the mode dropdown (Create / Pick / Boundary / Duplicates), the Create style + layer choices, the tag letters, next L number, next C number, and increment (all persist between runs).
  2. Create mode: select the lines/curves/parcel segments to tag (window or picks) - each gets a numbered tag at its midpoint; a polyline gets one per line/arc segment.
  3. Pick mode: click tags in order - each click assigns the next number and prints L7 -> L1 style feedback. ESC ends.
  4. Boundary mode: pick the boundary (a polyline OR a parcel - the area label or boundary line both work), the start corner, and the direction - every tag on it renumbers in one pass.
  5. Duplicates mode: nothing to pick; extra holders of a duplicated number move to the next free numbers.
  6. Read the summary dialog at the end - created / renumbered / failed counts and the next saved numbers.

Options

  • LINE / CURVE tag label style: Create mode - the styles new tags are placed with. The dropdowns list only styles whose Display Mode is TAG (a tag IS a label whose style displays tag mode - there is no per-label switch). Empty lists = set a style's Display Mode to Tag in the Label Style Composer once.
  • Only tag entities on layer: Create mode - window-select everything and still tag just the boundary layer; blank = every selected entity.
  • Layer for new tag labels: Create mode - where created tags land (auto-created if missing); blank = wherever the style puts them.
  • Skip already-tagged: Create mode, default on - re-running over the same window adds only what's missing, never a doubled tag.
  • LINE / CURVE tag letters: default L / C; editable for styles that display other prefixes (LN12, CU-3, T4 - up to three letters each, and the two must differ). The letter comes from the label style - the tool reads it to tell lines from curves; this tool assigns numbers, never letters.
  • Next L# / next C#: lines and curves count independently, matching how the table tags work; after a run the counters persist where they ended, so the next session continues the sequence.
  • Increment: counter step, normally 1.
  • Anchor tolerance: Boundary mode only - a tag joins the walk when its anchor sits this close to the picked boundary (default 1 unit; anchors sit on the labeled segment).

Watch out for

  • Create numbers come from Civil's own creation counters - if a number is already allocated somewhere in the drawing the engine skips to the next free one (its no-duplicates behavior); the summary reports what was actually assigned. Renumber afterward if the order matters.
  • A label that does not display a bare tag with the configured letters (not in tag display mode, a custom style format, or different letters than the dialog) is skipped and counted - the funnel line prints the letters searched for.
  • Every assignment is verified after the fact; a FAILED line means Civil's engine rejected the scripted input on that drawing and that tag is unchanged - report it.
  • Boundary mode orders by the tag's anchor point along the picked polyline - if a tag was dragged far from its segment, its anchor (not the dragged text) is what's measured.

Related: Deed Table · Adjoiner Tags · Plat QC