Terrace

Selecting and editing

This chapter shows how to pick civil objects, change them with grips and the familiar CAD edit commands, and how everything linked to them follows by itself. You'll also learn to undo to any step with the visual history, and to find any command or object in a second with the command palette and the command line.

Selecting civil objects

In Terrace, a civil object — a surface, an alignment, a corridor, a pipe network — is drawn as many ordinary lines, arcs and labels. You don't pick those pieces one by one: a click on any part of an object selects the whole object, all its graphics at once. A selection window or crossing window that touches an object's graphics does the same.

There are three ways to select one:

  • Click it in the plan.
  • Click it in the Project browser. This is the easiest way when objects overlap. Double-click to also zoom to it.
  • By name: the command palette (⌘K, type the name, Enter selects and zooms) or CIVILSELECT on the command line.

When the selection is one civil object, the Properties panel shows its fields, and for an alignment, profile, corridor or surface its contextual ribbon tab opens. Press Esc to clear the selection.

A small road project with the alignment CL-1 selected: its graphics are highlighted, blue square grips sit at its three PIs, the profile view is below, and the Properties panel on the right shows Alignment CL-1 with a red dot, Has problems, and 1 problem: Curve near 0+202.17: radius 60.00 m below minimum 113 m for 60 km/h at e=8.0%.
The alignment CL-1 selected: its grips in the plan, its panel on the right.

Grips and live updates

A selected civil object shows grips: small squares (and circles and triangles for some kinds) at the points you can drag. Drag one and Terrace rebuilds what depends on it as you move, so you see the result before you let go.

ObjectGrips
AlignmentEach PI; each curve's radius
Profile viewEach PVI of the design profiles drawn in it; each vertical curve's length; the view's origin
Feature line, catchmentEach vertex
Pipe networkEach structure
Parcel siteEach corner, and each parcel's label
PointThe point
Assembly, profile view, section views, mass haulThe origin, to move it
View framesEach frame
  1. Select the object.
  2. Click a grip (you don't need to hold the button). The command line names it, ** PI 2 **, and asks Specify new location of PI 2 or [eXit]:.
  3. Move the cursor. The alignment, its curves, the profiles, the corridor and everything else that depends on it redraw as you go. On a big project Terrace skips frames to keep up.
  4. Click to put the grip down. The whole change is one undo step, named Grip Edit. Press Esc (or X for eXit) instead to leave things as they were.
Dragging PI 2 of CL-1 upward: a preview of the alignment and the corridor follows the cursor, the old position is still drawn, the profile view below shows the new ground line in preview, and a prompt next to the cursor reads Specify new location of PI 2 or [eXit]: with the coordinates 199.0911, 56.1734.
Dragging PI 2: the corridor and the profile follow the cursor before you click.
After the grip edit: the alignment and corridor are redrawn with PI 2 higher, the curve labels moved, and the profile view shows the new ground and design lines.
After the click: one step, everything redrawn.

A curve radius grip or a vertical curve length grip also takes a typed value: the prompt says Specify new curve radius at PI 2 or type the radius, so you can type 250 and press Enter. If a value doesn't fit (a radius too big for the tangents), the command line says Value must be positive and fit the neighbors.; a place a grip can't go gives That grip can't go there. Objects on a locked layer say Object is on a locked layer.

Tip Grips appear when you select up to 100 objects, and a civil object counts as one however many lines and labels draw it. So a full-length road like the sample's Teresa Bypass CL shows its PI and radius grips as soon as you click it.

Live updates everywhere

Grips aren't the only edit that ripples through. Whenever a command, a dialog or a Properties field changes the project, Terrace brings every dependent object up to date and redraws it before you see the result. If you edit a plain polyline that a corridor uses as a target, or a polyline a surface uses as a breakline, the corridor or surface follows too. The status bar shows how long the last update took (Updated 5 objects, redrew 5 in 31 ms).

Objects that are locked, or set to rebuild by hand, wait instead: their status dot turns amber and the status bar lists them. Rebuild them with CIVILREBUILD or Rebuild in their menu.

Move, copy, rotate, mirror and erase

The usual CAD commands work on civil objects: MOVE (M), COPY (CO), ROTATE (RO), MIRROR (MI) and ERASE (E). They're on the Draft tab and in the Modify menu. They act on the object, not just on its graphics, so the result stays a real, linked civil object.

What moves, and what doesn't

ObjectMOVE / ROTATE / MIRRORCOPY
PointMoves its northing and easting (not if the point is locked)A new point with the next number
AlignmentMoves its PIs and curves; offset alignments and curb returns that follow it move with itA new alignment named CL-1 (2); a copy of an offset alignment stands on its own
Profile view, assemblyMoves the view or the assembly's originA new view or assembly
Feature line, catchment, pipe network, pressure network, parcel siteMoves the vertices, structures, fittings, boundary or lot linesA new object with a new name
View framesMoves the framesRefused: make another group with VIEWFRAMES

Objects that are built from others can't be moved by themselves; the command line says what to move instead and leaves them alone:

  • Surface EG is built from its data: move its points or breaklines instead.
  • Corridor Road 1 follows its alignment and profile: move or edit those instead.
  • Profile … is drawn in its profile views: move the view, or drag its PVI grips. (Moving the profile view together with it is fine.)
  • Sample lines … follow their alignment: drag the section views' grip to move the views.
  • Grading … follows its feature line: move the feature line instead.
  • … follows …: move that alignment instead. for an offset alignment moved on its own.

Each MOVE, COPY, ROTATE or MIRROR is one undo step, and everything that depends on the moved objects is rebuilt.

Erase, and what depends on it

Erasing an object that others are built from would break them, so Terrace tells you first.

  1. Select the object (say the EG surface) and type ERASE (or E).
  2. If other objects use it, the command line lists them — These depend on what you're erasing: CL-1 Ground (profile), CL-1 Profile View (profile view), Road 1 (corridor). — and asks Erase them too? (No keeps them, without the link) [Yes/No/Cancel] <No>:.
  3. Answer Y to erase them too, N (or Enter) to keep them without the link to the erased object, or C to erase nothing.
The command line after ERASE on the EG surface: Command: ERASE, 16 found, These depend on what you're erasing: CL-1 Ground (profile), CL-1 Profile View (profile view), Road 1 (corridor). The prompt reads Erase them too? (No keeps them, without the link) [Yes/No/Cancel] <No>:
ERASE names what depends on the surface before it does anything.

Points never ask: whatever uses them simply rebuilds without them. The command line ends with what was erased, for example 1 civil object erased, with 3 that depended on it. Undo brings it all back. Delete in the browser's object menu does the same with a dialog.

Edits that refuse

Other drafting edits — TRIM, EXTEND, STRETCH, SCALE, EXPLODE, OFFSET, FILLET, BREAK, JOIN, PEDIT, MATCHPROP, CHPROP, text and hatch edits, BLOCK and the like — leave civil graphics alone. If your selection includes some, the command goes on with the plain drawing objects only and says so once:

The command line: Corridor Road 1 follows its alignment and profile: move or edit those instead. Command: SCALE, 60 found, 1 civil object was left alone: SCALE doesn't change civil objects (their graphics are redrawn from the object). Use its grips, MOVE/COPY/ROTATE/MIRROR/ERASE or the Properties panel.
MOVE on a corridor, then SCALE on it: both leave it alone and say why.

The reason: civil graphics are redrawn from their object every time it changes, so an edit to the graphics would be lost. Copies made with ARRAY or by pasting are plain drawing objects (they lose the civil link).

Undo and redo

Every command, every Properties field and every dialog's OK is one undo step, however many objects it rebuilt. Undo puts the whole project back, linked objects included.

ToUse
Undo⌘Z, Edit ▸ Undo … (named after the step), U or UNDO
Redo⇧⌘Z or ⌘Y, Edit ▸ Redo …, REDO
Go back several steps at onceThe undo history

The visual undo history

The undo history panel lists every step since you opened the drawing, so you can jump back to any of them.

  1. Choose View ▸ Undo History (menu bar or the ribbon's View tab), or find Undo History in the ⌘K palette.
  2. The panel opens at the bottom of the right side. The first row is Start (marked opened or new), then each step with its number. A ▶ and a tint mark where you are; steps you've undone are dimmed below it.
  3. Click a row to go to just after that step, in one go. Click Start to undo everything; click a dimmed row to redo up to it.
The UNDO HISTORY panel: Start (opened), then Grip Edit 1 marked current with ▶ and a blue tint, then a dimmed Grip Edit 2 that can be redone.
Two grip edits, the second undone by clicking the first.

Note As in any editor, making a new change after undoing drops the dimmed steps.

The command palette (⌘K)

The command palette is the fastest way to find anything: a command, an object in the project, a report, or one of the window's own actions. You don't need to know where a button is or what a command is called.

  1. Press ⌘K anywhere (or View ▸ Command Palette…).
  2. Type a few letters. Terrace matches command names, aliases, titles and their help text, the names of the project's objects, and reports.
  3. Use ↑ and ↓ to pick a row and Enter to run it, or click it. Esc or a click outside closes the palette.
The empty command palette over the sample project: a search field reading Type a command, an object's name or a report…, and the window actions: New Project (DPWH, metric), New Project (AASHTO, US feet), Open…, Start the Tutorial, Open the Sample Project, Show or Hide the Profile View, Undo History, Show or Hide the Project Panel, Reports…, Project Settings…, Design Standards…, Styles…
Before you type, the palette lists Terrace's own actions.

Each row is marked with what it is:

MarkWhat happens on Enter
COMMANDRuns the command, as if typed (in a new project if none is open), so a create command asks on the command line and offers Dialog. The right side shows its name and first alias.
OBJECTSelects the civil object and zooms the plan to it. The right side shows its kind.
REPORTOpens the report dialog, for that object. Type rep and a name to list reports on matching objects.
TERRACEOne of the window's actions: new project, open, tutorial, sample, profile pane, undo history, Project panel, Project Settings, Design Standards, Styles, Save.
The palette with align typed: commands Align, Alignment Report, Align Multileaders, Aligned Dimension, the object Teresa Bypass CL (Alignment), Create Alignment (CREATEALIGNMENT · CALIGN), Offset Alignment, Text Align, the action Show or Hide the Profile View, Curb Return, Add PI and Delete PI.
"align" finds commands, the alignment itself and a related action. The best matches come first; up to 12 rows show.
The palette with rep teresa typed, listing report rows: Report: Teresa Bypass Corridor Top (Surface), Corridor Datum (Surface), Teresa Bypass CL (Alignment), Teresa Bypass EG (Profile), Teresa Bypass FG (Profile), Teresa Bypass Profile (Profile view), Teresa Bypass Corridor (Corridor), Teresa Bypass Sections (Sample lines).
"rep teresa": a report on any Teresa Bypass object, one keystroke away.

The command line and aliases

If you know AutoCAD, the command line works as you expect. Type a command's name or alias anywhere in the window — no need to click the command line — and press Enter or Space.

  • Aliases. Every civil command has short ones: CALIGN for CREATEALIGNMENT, CSURFACE for CREATESURFACE, EGPROFILE for CREATEPROFILE, CUP for CIVILUPDATE. Hover a ribbon button to see its alias; the command reference lists them all, and Help ▸ Command List shows them in the app.
  • Suggestions. As you type, a list of matching commands and aliases opens above the command line. ↑/↓ pick one; Enter takes the highlighted one unless what you typed is already a command.
  • The Dialog option. Typed, the civil create commands (POINTGROUP, CREATESURFACE, CREATEALIGNMENT, CREATEPROFILE, DRAWPROFILE, CREATEPROFILEVIEW, CREATEASSEMBLY, CREATECORRIDOR, SAMPLELINES, CREATENETWORK, VIEWFRAMES) ask their questions on the command line, but their first prompt also offers Dialog: type D (or DI when another option there starts with D) and the command closes and opens the same dialog as the ribbon button, for the selected object if there is one. GRADING offers it too; CREATEPARCELS doesn't, since it starts by selecting objects (its ribbon button opens the dialog).
  • Prompts. A running command asks for what it needs: Specify first corner:, a value with its default in <>, or options in [ ]. Click an option, or type its capital letters (X for eXit).
  • Enter or Space on an empty line repeats the last command. Esc cancels. With no command running, ↑/↓ walk back through what you typed before.
  • F2 shows more lines of the command history; F1 opens the help, at the running command's page if one is running.
The suggestion list above the command line after typing CAL: two rows, CAL highlighted and CALIGN below it, over the profile view.
Typing CAL: the suggestions include CALIGN.

Civil core commands

Four commands work on any civil object. They're in the Civil group of the command reference.

CIVILUPDATE — bring everything up to date

CIVILUPDATE (CUP, also Sheets ▸ Update Now) checks every civil object against what it depends on, rebuilds and redraws what's out of date, and says what it did: Everything is up to date (0 ms). or Rebuilt 3, redrew 5 civil objects in 42 ms. Objects that wait for a manual rebuild are named: Waiting for CIVILREBUILD: …. You rarely need it, since updates run after every change, but it's there if something looks stale.

The command line: Command: CUP, CIVILUPDATE, Everything is up to date (0 ms).
CUP on a project that's already up to date.

CIVILREBUILD — rebuild now

CIVILREBUILD (CRB, also Rebuild on the Corridor tab) rebuilds the selected objects and everything that depends on them, even if they're locked or set to rebuild by hand. With nothing selected it asks Select civil objects to rebuild or [All]: click objects (each says … added; Enter rebuilds.) and press Enter, or choose All. Enter with nothing picked rebuilds everything. One undo step.

CIVILSELECT — select by name

CIVILSELECT (CSEL) asks Enter civil object name or [?]. Type a name to select that object (Road 1 selected (60 entities).), or ? to list every object with its kind and number.

The command line after CSEL and ?: the end of the list, Lots (parcel site) #58 and All Points (point group) #1, then Enter civil object name or [?]: Road 1, and Road 1 selected (60 entities).
CSEL, ? to list, then a name.

LIST — a plain summary

LIST (LI) on a civil object prints a short summary in the command line: its kind and name, its main numbers, what it's built from and what it's used by, and its problems. Plain drawing objects in the same selection are listed as usual after it. Press F2 to read it all.

The command history after LIST on CL-1: Alignment CL-1 (civil object #52), Layer: C-ROAD-CNTR, PIs: 3, Pieces: 3, Start station: 0.000, Design speed: 60, Used by: CL-1 Ground (profile), CL-1 Design (profile), CL-1 Profile View (profile view), Road 1 (corridor), 1 problem: radius 60.00 m below minimum 113 m for 60 km/h at e=8.0%.
LIST on an alignment: what uses it, and its one problem.