Blocks¶
R3Survey uses AutoCAD blocks in two ways:
- Built-in blocks — shipped with R3Survey and inserted by survey plan commands
- User block library — your own DWG files, referenced by Smart Strings point styles
Built-in blocks¶
These blocks are bundled inside the R3Survey installation and do not require any setup. They are stored in the Resources/Blocks folder within the R3Survey bundle.
The three survey mark blocks — R3_BC_A, R3_RM_A and R3_PM_A — are annotative and always live in model space. See Annotative mark blocks below for how they scale and what to set up.
R3_BC_A — Boundary Corner¶
A small symbol placed at boundary corners on a survey plan. This block represents a standard boundary corner point — typically used where no reference mark has been placed (i.e. the corner is unmarked or marked with a standard peg).
R3_BC_A is a dynamic block with two visibility states — Marked Corner and Unmarked Corner. Changing the visibility state updates the monument data (and vice versa in R3Properties).
R3_RM_A — Reference Mark Corner¶
A symbol placed at boundary corners that have a reference mark connection. If a reference mark line (on the plan's Reference Marks layer) terminates at a boundary corner, R3_RM_A is inserted at that corner instead of R3_BC_A.
This distinction is important on NSW survey plans — corners with reference marks are shown with a different symbol to indicate that the corner has been tied to a reference mark.
R3_PM_A — Permanent Mark¶
A symbol placed at SCIMS control marks (permanent marks, state survey marks, etc.) on the plan's Control Marks layer (e.g. DP31357_PMS). Inserted automatically by R3IMPORTSCIMS or manually with R3PM. SCIMS attribute data (MGA coordinates, accuracy class, CSF, AHD height) is stored as XData on the block reference.
PMs have their own layer, separate from the control traverse lines on the Control layer, so you can freeze the control lines in a viewport and still show the marks.
When an R3_PM_A block is on a survey plan layer, R3Properties shows the SCIMS Control Point expander, allowing you to view and edit all SCIMS attributes including the mark state (Found, Gone, etc.) and datum terminal designation. When used as a plain symbol outside a survey plan, no expander is shown.
R3_Tables¶
A template drawing containing pre-built table layouts (e.g. coordinate schedule, coordinate connections, short & curved lines, reference mark schedule). Used internally by the R3INSERTTABLES command.
Layers¶
| Block | Layer (with survey plan) | Layer (no survey plan) |
|---|---|---|
| R3_BC_A, R3_RM_A | Symbols component (e.g. DP31357_SYMBOLS) |
Current layer |
| R3_PM_A | Control Marks component (e.g. DP31357_PMS) |
Current layer |
When a survey plan exists, blocks are placed on the appropriate plan component layer (configured in R3PLANLAYERSETTINGS). When no survey plan exists, blocks are placed on the current layer — R3Survey does not create or assume any specific layer.
The Symbols layer lets you control lineweight, colour, and plot settings for corner symbols independently of the boundary and reference mark layers. For example, you might set the Symbols layer to plot black at 0.25mm lineweight.
R3Properties behaviour¶
The Monument and SCIMS Control Point expanders in R3Properties only appear when a block is on a survey plan layer. This is because monument and control point XData is specific to survey plan workflows and LandXML export. When these blocks are used as plain symbols on non-plan layers (e.g. for detail surveys or general drafting), no expander is shown and no XData is stamped.
Commands¶
| Command | Description |
|---|---|
R3BC |
Insert an R3_BC_A block at a picked point |
R3RM |
Insert an R3_RM_A block at a picked point |
R3PM |
Insert an R3_PM_A block at a picked point |
R3INSERTCORNERS |
Auto-insert R3_BC_A or R3_RM_A at every boundary vertex |
R3SYNCMARKSCALES |
Add every annotation scale in use to all mark blocks (and remove unneeded ones) — Model tab only |
R3RESETMARKS |
Put every scale version of the selected (or all) marks at the Model tab position |
R3UP / R3DN / R3SM |
Step up / step down / reset the Model tab annotation scale — marks resize |
R3ADDPMLABELS |
Place mark labels and connection dimensions for permanent marks |
R3PMLABELSETTINGS |
Configure PM label and connection dimension settings |
R3MGATABLE |
Fill the R3_COORD_SCHEDULE table with MGA coordinates |
R3FREEZECTRL |
Freeze selected line geometry as overrides (allows moving lines) |
R3SHOWFROZEN |
Highlight all lines with frozen geometry |
R3NORTH |
Insert a north point block oriented to WCS north |
R3CA |
Copy attributes from a source block to destination block(s) |
R3BC, R3RM, and R3PM prompt for an insertion point and place the block in model space at scale 1 — annotation scaling handles the plotted size. They must be run from the Model tab or from inside a viewport; on a layout sheet they stop and ask you to switch.
R3INSERTCORNERS walks the boundary polylines of the working plan and places mark blocks in model space. It can be run from the Model tab or a layout.
- Every vertex of a closed boundary polyline gets R3_RM_A if a reference mark line ends there, otherwise R3_BC_A. Monument data defaults to Peg / Placed.
- Corners where both adjoining legs are natural boundary are skipped — natural boundaries are not marked.
- The end of every reference mark line gets an R3_RM_A block:
- on a subject boundary corner → Peg / Placed
- anywhere else (an adjoining corner, a connection vertex, etc.) → State No Mark Required with no Type. These points are not exported as monuments. If you find a mark there, set its Type (e.g. GIP) — the State switches to Found automatically and it is exported.
- Where a mark block already exists at a point, it is left as is (reported as "existing symbols skipped").
R3SYNCMARKSCALES adds every scale a mark needs — the current annotation scale, the drawing scale, the drafting scale, and the scale of every viewport in every layout — to all BC, RM and PM blocks, and removes any scale the marks no longer need. Run it after adding viewports at new scales. It must be run from the Model tab (on a layout it stops and asks you to switch), so the Model tab's current scale is kept.
R3ADDPMLABELS places text labels at each permanent mark (e.g. SS 62274 FD) and dimensions the control connections with BY SURVEY and MGA GROUND bearings/distances. Connection dimensions can be placed as text along lines, into the R3_COORD_CONNECTIONS table, or as a text table.
R3FREEZECTRL copies the current geometry of selected lines into XData overrides. After freezing, you can freely move or shorten the lines to fit the plan form — labels and LandXML export continue to use the frozen values. Use R3SHOWFROZEN to see which lines have been frozen (highlighted in green).
R3NORTH inserts an R3_NORTH block oriented so the arrow points to WCS north. In model space, the block is scaled by the drawing scale. In paper space, the block is inserted at scale 1 and rotated by the viewport's twist angle so it visually points north. If there are multiple viewports, you are prompted to select one.
R3CA copies attributes from a source block to one or more destination blocks. After picking the source block, a dialog shows all attributes with checkboxes — uncheck any you don't want copied (e.g. page numbers). Three destination modes are available: pick individual blocks, all matching blocks in the current space, or all matching blocks across all layouts. MText attributes with multi-line content are preserved correctly.
Mark blocks (R3_BC_A, R3_RM_A, R3_PM_A) are annotative and inserted at scale 1. Other built-in blocks (R3_NORTH, title blocks) are not annotative: in model space they are scaled by drawingScale / 1000 (their DWGs are drawn at 1:1000); in paper space they are inserted at scale 1.
Annotative mark blocks¶
Why marks are annotative and in model space¶
Each physical mark is one block in model space, holding its monument or SCIMS data. Every layout viewport shows that same block, at the right plotted size for the viewport's scale — this is what annotative does. It means:
- The export sees every mark. The NSW LandXML export reads monument and SCIMS data from model space.
- No duplicates. A plan and a diagram showing the same corners use the same blocks, so their data can never disagree.
Don't place mark blocks on a layout (paper space) — they would not be exported.
How an annotative block works¶
An annotative block is one object that carries a list of annotation scales. For each scale it has its own version, with:
- a size — the block is drawn 2.5 mm wide on paper, so its model-space size is 2.5 mm × the scale. At 1:1000 it is 2.5 m wide; at 1:500, 1.25 m; at 1:2, 5 mm.
- a position — normally the same for every version. (See Moving marks — this is the part that catches people out.)
Which version you see:
| Where | Version shown |
|---|---|
| A layout viewport | The version for that viewport's annotation scale |
| The Model tab | The version for the Model tab's current annotation scale (status bar, bottom right) |
| A scale the block doesn't have | Hidden, or shown using one of its other versions — depends on ANNOALLVISIBLE |
When you select an annotative block, AutoCAD also draws its other versions faded. They are still one object.
Set up the scale list for metres¶
Survey drawings are in metres, but AutoCAD's default scale list assumes millimetres. In a metre drawing the default "1:500" means 1 mm on paper = 500 metres — marks would be 1000× too big.
Each scale must be defined as 1 paper unit : (scale ÷ 1000) drawing units:
| Scale | Paper units | Drawing units |
|---|---|---|
| 1:100 | 1 | 0.1 |
| 1:250 | 1 | 0.25 |
| 1:500 | 1 | 0.5 |
| 1:1000 | 1 | 1 |
| 1:2000 | 1 | 2 |
Fix the list with SCALELISTEDIT → select a scale → Edit. Do this in your drawing template so every new job starts correct. Delete millimetre-only entries you never use (e.g. 1:8, 2:1) — in a metre drawing they have misleading names.
R3DWGSCALE checks the list for you: it adds the drawing scale and the drafting scale if they are missing, and warns if a scale with the right name has millimetre values. It never changes an existing scale — correcting one resizes everything that uses it, so that is left to you in SCALELISTEDIT.
Also change the default list
Options → User Preferences → Default Scale List is what SCALELISTEDIT's Reset button restores. Set it to the metre values too, or one click on Reset brings back the millimetre list.
The Model tab drafting scale¶
Set the Model tab's annotation scale to a small drafting scale so marks are tiny while you draft and don't hide the linework. R3Survey adds a 1:100 drafting scale to marks automatically; many users prefer something very small such as 1:2 (5 mm symbols). Layout viewports are not affected — they show each mark at the viewport's own scale.
To make marks bigger or smaller while you work, use the scale commands from the Model tab (AutoCAD and Civil 3D):
| Command | Model tab annotation scale |
|---|---|
R3UP |
Next scale up the ladder (1:500 → 1:1000) — marks get bigger |
R3DN |
Next scale down the ladder (1:500 → 1:250) — marks get smaller |
R3SM |
Sets it to the drawing scale from R3DWGSCALE |
R3UP and R3DN step through a fixed ladder of scales, so the drawing only ever collects standard scales:
1:1 · 1:2 · 1:5 · 1:10 · 1:20 · 1:50 · 1:100 · 1:200 · 1:250 · 1:500 · 1:1000 · 1:2000 · 1:2500 · 1:5000 · 1:10000 · 1:20000 · 1:50000
If the current scale is between two rungs (e.g. 1:750), they move to the next rung in that direction. At either end of the ladder they do nothing.
Each command adds the new scale to the scale list if needed (with metre values) and to every mark, so marks resize straight away. It also removes from the marks any scale they no longer need — each mark keeps only the drawing scale, the drafting scale, every viewport's scale and the Model tab's current scale — so marks don't pile up old working scales. The scale list itself is left alone. In Civil 3D the Civil 3D drawing scale is changed to match, so COGO point labels resize too. If the current scale has millimetre values you are warned to correct it in SCALELISTEDIT.
Which scales a mark gets¶
A mark only displays correctly in a viewport if it carries that viewport's scale. R3Survey adds scales for you:
- When marks are inserted (
R3BC,R3RM,R3PM,R3INSERTCORNERS,R3IMPORTSCIMS,R3IMPORTLANDXML): the current annotation scale, the drawing scale, the drafting scale, and the scale of every viewport in every layout. R3SYNCMARKSCALES: applies the same set to every existing mark and removes scales the marks no longer need — run it from the Model tab after adding a viewport at a new scale.- AutoCAD's
ANNOAUTOSCALE: when switched on, any scale you change to is added to annotative objects automatically. A negative value (e.g.-4) means it is off; enter4to turn it on, or use the "Add scales to annotative objects" toggle on the status bar. Scales added this way that nothing else needs are removed from the marks the next time you runR3UP,R3DN,R3SMorR3SYNCMARKSCALES.
Viewports: annotation scale must match the viewport scale¶
A viewport has two scales — its zoom (Properties → Custom scale) and its annotation scale. Marks are sized by the annotation scale, so the two must agree. In a metre drawing a 1:1000 viewport has a Custom scale of 1.
If a viewport's Standard scale shows something odd like 1:8 with Custom scale 0.125, the viewport is actually at 1:8000 (AutoCAD has named it from the millimetre list) while its annotation scale may say 1:1000 — marks will be 8× too small. Decide the real plan scale, then set both the zoom and the annotation scale to it.
Moving marks¶
A survey mark is a point — it should be in the same place in every viewport. AutoCAD lets each scale version of an annotative block have its own position, and:
- Grip-dragging a block moves only the version for the current annotation scale.
- If the block doesn't carry the current scale at all, a move in the Model tab doesn't move the version your layouts show.
The result is a mark that looks right in the Model tab but sits in the old place on a layout. The export reads one position; a viewport may show another.
To move marks safely:
- Make sure the marks carry the scale you're working at (
R3SYNCMARKSCALESfrom the Model tab). - Move them with the
MOVEcommand, in the Model tab. - Run
R3RESETMARKS— every scale version of each mark jumps to the position shown in the Model tab. - Check a layout.
R3Survey does not do this automatically — you decide when marks are reset, and each R3RESETMARKS is a single step that Ctrl+Z undoes.
R3RESETMARKS¶
Resets the per-scale positions of mark blocks (R3_BC_A, R3_RM_A, R3_PM_A) so every scale version sits where the mark is shown at the Model tab's current annotation scale.
- Run it from the Model tab.
- Select the marks first, or run it and select them. Press Enter without selecting anything to reset every mark in model space. Esc cancels without changing anything.
- Marks that don't carry the Model tab's current scale are not reset — they're reported so you can run
R3SYNCMARKSCALESfirst.
The Model tab's position wins
R3RESETMARKS copies the position of the version for the current Model tab scale to all the others. Make sure the marks look right in the Model tab before you run it.
AutoCAD's own ANNORESET does the same job for any annotative object, using the current scale of wherever you run it — in a viewport, that's the viewport's scale.
Setting SELECTIONANNODISPLAY to 1 shows a selected block's other versions faded, so you can see when they have drifted apart.
Diagrams with mark symbols¶
Sometimes you need a diagram (e.g. not to scale) that shows mark symbols but must not add marks to the LandXML export. The export, R3XMLVALIDATE and the mark commands only read mark blocks sitting directly in model space, so either of these works:
- Draw the diagram on the layout (paper space) — recommended. Copy symbols in at paper size. Nothing in paper space is exported.
- Wrap it in a block in model space — copy the marks, draw the diagram, then turn the whole diagram into a block (put it on its own layer, e.g.
DIAGRAM). Marks nested inside a block are ignored.
Warning
Never explode a diagram block — the copied marks come back as real marks, with their data, and can be exported as duplicates. If you use the block option, check the nested marks display at the size you expect in each viewport.
Troubleshooting¶
| What you see | Likely cause | Fix |
|---|---|---|
| Marks 1000× too big | Scale list is millimetre-based | Correct the scale in SCALELISTEDIT |
| Marks tiny in a viewport | Viewport zoom and annotation scale disagree (e.g. 1:8 / 0.125) | Set both to the real plan scale |
| Marks missing from a viewport | Marks don't carry that viewport's scale | R3SYNCMARKSCALES, or turn on ANNOAUTOSCALE |
| Mark moved in model but not on a layout | Only one scale version moved | R3RESETMARKS from the Model tab (or ANNORESET from where it looks right) |
| Mark huge in the Model tab | Block only has a large scale (e.g. 1:8000) and none for the Model tab's scale | Add the drafting scale (R3SYNCMARKSCALES from the Model tab) |
R3RESETMARKS reports marks without the current scale |
Marks don't carry the Model tab's scale | R3SYNCMARKSCALES, then R3RESETMARKS again |
ANNORESET says "not annotative" |
Block doesn't carry the current scale | Add the current scale first (R3SYNCMARKSCALES) |
| R3DWGSCALE, R3UP or R3DN warns "correct it with SCALELISTEDIT" | A scale with the right name has millimetre values | Edit that scale in SCALELISTEDIT |
| Export or R3XMLVALIDATE (rule R3-PM) warns "… is not at any control point" | The PM (or one of its scale versions) isn't on its control line end | Put it on the line end, then R3RESETMARKS — otherwise its SCIMS data is not exported |
User block library¶
The user block library is a folder of DWG files that you provide. Each DWG file defines one or more named blocks that can be referenced by Smart Strings point styles.
Location¶
The library folder is configured by the BLOCKLIBRARYFOLDER system variable. The default location is:
C:\R3\BlockLibrary
You can view the current path in the R3Survey settings.
How it works¶
At startup, R3Survey scans the block library folder and registers every block it finds:
- Each
.dwgfile in the folder is registered by its filename (e.g.TREE.dwgregisters a block namedTREE) - R3Survey also opens each DWG and registers any named block definitions found inside it — so a single DWG file can contain multiple blocks
Block names are case-insensitive. If TREE.dwg and Tree.dwg both exist, only one is registered.
Using blocks in Smart Strings¶
The primary use of the block library is in Point Styles. The Block() action inserts a named block from the library at a survey point location:
Block(NAME, SCALE)
Block(NAME, XSCALE, YSCALE, ZSCALE)
For example, to insert a tree trunk symbol scaled by the recorded trunk diameter:
TR
Layer = VEGETATION
ActionIf A2 = * => Block(TREE, {A2}, {A2}, {A2})
This looks up the block named TREE in the block library and inserts it at each tree point, scaled by the trunk diameter recorded in attribute A2.
Other common examples:
| Block | Typical use | Example action |
|---|---|---|
TREE |
Tree trunk symbol | Block(TREE, {A2}, {A2}, {A2}) |
PP |
Power pole | Block(PP, 0.35) |
LP |
Light pole | Block(LP, 0.25) |
GATE-DYN |
Gate symbol | Block(GATE-DYN, 1.0) |
Adding your own blocks¶
To add a new block to the library:
- Create a DWG file containing your block definition. The block should be drawn at unit scale (1 drawing unit = 1 metre) so that the
Block()scale parameter works predictably. - Save the DWG into your block library folder (default
C:\R3\BlockLibrary). - Restart AutoCAD — R3Survey scans the folder at startup.
- Reference the block by name in your Point Style Config using the
Block()action.
Block design tips
- Draw blocks at 1:1 scale (1 unit = 1 metre) so that the scale parameter in
Block()maps directly to real-world size - Keep blocks simple — complex blocks with many entities slow down large drawings
- Use meaningful names — the DWG filename becomes the block name
What goes in the block library vs built-in blocks¶
| Built-in blocks | User block library | |
|---|---|---|
| Location | Inside R3Survey bundle (not user-editable) | C:\R3\BlockLibrary (your files) |
| Purpose | Survey plan symbols (boundary corners, reference marks, tables) | Detail survey symbols (trees, poles, pits, gates, etc.) |
| Layer | Symbols or Control Marks component | Controlled by point style config |
| Used by | R3BC, R3RM, R3PM, R3INSERTCORNERS, R3ADDPMLABELS |
Smart Strings Block() action |
| Setup | None — included with R3Survey | Add DWG files to the library folder |