Skip to content

Setting Up From Scratch

This page walks through setting up Smart Strings for the first time — from a blank configuration to your first survey drawing.

What you need before you start

  • A survey data file from your field work (CSV, XML, PTA, or Leica Raw .txt)
  • Ideally, a Leica Captivate codelist exported from your instrument (HeXML .xml) — or you can derive one from the survey file itself

Step 1 — Import your code list

Your Leica Captivate codelist defines every feature code your field crew uses, along with the attributes recorded with each code. R3Survey imports it directly.

  1. Type R3MANAGECONFIGS
  2. In the Code Lists panel, click Import → Import from XML
  3. Select your Leica Captivate HeXML export file

The codelist appears in the Available Code Lists panel. R3Survey reads all your codes, descriptions, quick codes, and attribute definitions (A1–A8).

No Leica XML available?

If you don't have a HeXML export, click Import → Import from survey file and select your field data file instead. R3Survey scans it and creates a basic codelist from the codes it finds. You can refine it later.


Step 2 — Create a configuration

  1. In the Configurations panel, click Create
  2. Give it a name (e.g. MLS2025)
  3. Select the new configuration, select your codelist on the right, and click Assign
  4. Click Set Active to make it the active configuration

Step 3 — Set up Code String Rules

The CodeStringRules file tells R3Survey how to group points of the same code into separate strings. The attributes you group by depend entirely on how your codelist is set up — use whatever attribute holds the string identifier for each code.

  1. With your configuration selected, click Edit Code String Rules
  2. The file opens in Notepad — add rules for the codes you want strung, for example:
KERB = A1, A3
BLD  = A1, A5
CHNL = A1
FCE  = A1
TR   =

Start simple — you can add more codes as you go. Codes without a rule are still drawn as individual points; they just won't have connecting linework.

See Code String Rules for the full format.


Step 4 — Set up String Styles

The StringStyleConfig file controls which CAD layer each string is drawn on. The quickest approach is to use group blocks — one layer per feature type.

  1. Click Edit String Styles
  2. Add group blocks for your main feature types:
default => LineType=ByLayer, Actions=Line()

group ROADS
  include = KERB, CONC, BITU
  Layer   = RD

group DRAINAGE
  include = CHNL, MH, PI
  Layer   = DRAINAGE

group BUILDINGS
  include = BLD
  Layer   = BUILDINGS

group FENCES
  include = FCE
  Layer   = FENCES

group VEGETATION
  include = TR
  Layer   = VEGETATION

See String Styles for layers, linetypes, and geometry types (line / polyline / 3D polyline).


Step 5 — Run R3STRING

  1. Type R3STRING
  2. Select your survey file from the dialog
  3. R3Survey processes the file and draws everything into the current drawing

If any codes in the file are not in your codelist, a warning lists them — you can proceed or abort to fix the codelist first.

Check the result. Points will be on the default layer (you haven't set up PointStyleConfig yet — that comes next). Strings will be on the layers you defined in Step 4.


Step 6 — Refine Point Styles

Once you can see strings drawing correctly, set up PointStyleConfig to place points on proper layers and apply symbols and labels.

  1. Click Edit Point Styles
  2. Add blocks for each code, for example:
KERB
  Layer = RD-KB-PNTS

TR
  Layer  = VEGETATION
  Style  = VEGETATION-CROSS
  ActionIf A1 = * => Circle({A1}/2)

MH
  Layer = SEWER-PNTS
  ActionElse = Circle(0.35)

See Point Styles for the full format including symbols, circles, blocks, and conditional rules.


Step 7 — Set up point labels

Labels are controlled by two files:

  • LabelStyleConfig — defines named label styles (appearance, position, content). This file is global and shared across all configurations. It is pre-populated with common styles (H, HIDE, TREE, etc.) — you may not need to edit it initially.
  • PointStyleConfig — references those styles per code using Label, LabelIf, and LabelElse.

For a basic setup, just assign the H (elevation) style to the codes that need it:

KERB
  Layer = RD-KB-PNTS
  Label = H

MH
  Layer = SEWER-PNTS
  Label = H

See Label Style Config and Point Label Rules for full details.


What's next

Once your basic configuration is working, you can progressively refine it:

  • Add conditional rules to PointStyleConfig and StringStyleConfig (different layers or symbols based on attribute values)
  • Set up PointLabelRules to place descriptive feature labels on strings (CONCRETE KERB, SMH, etc.)
  • (Civil 3D) Configure ContourablePoints and BreaklineLayers for surface generation

See the Smart Strings index for links to all reference pages.