Layers
The drawing's layer table, as in Civil 3D and AutoCAD. Every object sits on exactly one layer; the layer carries its default appearance and the switches that decide whether it is drawn, plotted or selectable.
The Layer Manager
Tools → Styles → Layers… (Ctrl+Shift+L) opens the table. One row per layer; the switches are toggled in place and the colour is picked by double-clicking its swatch. OK commits the whole table as one undoable step, so turning a discipline off is a single Ctrl+Z from coming back.
| Column | What it does |
|---|---|
| Name | The key objects bind to. Renaming a layer does not move the objects — they keep the name and re-attach if a layer with that name comes back. |
| On | Off = not drawn. The object is still in the model and still in the Object Browser. |
| Frozen | Not drawn, and skipped by picking and by the zoom-to-fit extent. |
| Locked | Drawn normally, but nothing on it can be selected in Plan. |
| Plot | Drawn on screen, omitted from plotted output. |
| Colour | The layer's colour. An object with no style of its own draws in it — that is what ByLayer means. |
| Linetype / Lineweight | Recorded on the layer and carried into the drawing work (phase E of the layer plan). |
| Description | Free text. |
Layer “0”
Layer 0 always exists and cannot be removed or renamed. It is
the fallback: an object whose layer was deleted, or which never had one,
draws on 0. Its binding is kept verbatim, so if a
layer of that name returns the object goes back to it — deleting a
layer never quietly rewrites what your objects say they belong to.
Putting an object on a layer
Select it and use the Layer row in the Properties dock. It is on every object type, module objects included. The change is undoable.
Headless and scripted callers have two commands:
| Command | Arguments |
|---|---|
layer.assign | layer (required) and node — a uuid or an object name; falls back to the current selection. |
layer.state | layer plus any of on, frozen, locked, plottable (1/0). Only the switches you name are touched. |
Object Layers — where new objects go
Tools → Styles → Object Layers… sets the layer each object type is created on, so a drawing organises itself. It decides where NEW objects go; existing ones are not moved.
An alignment is one object type for road, rail, tunnel and bridge alike, so
the rules may be qualified by domain: Alignment is the rule for
all of them, Alignment:Rail the one for railways. The qualified
rule wins when it exists, which is why a track lands on C-RAIL
and a road on C-ROAD. Delete the qualified rules and every
alignment shares one layer again.
| Column | What it does |
|---|---|
| Object type | Fixed — it is the key. The tooltip shows the raw type id, which is what scripts use. |
| Layer | Where objects of that type are created. May name a layer that does not exist yet. |
| Name prefix / suffix | Optional. They make one layer per object: prefix C-ROAD- turns CL_01 into layer C-ROAD-CL_01, created if missing. Empty by default — a project with twenty alignments would otherwise open with twenty layers nobody asked for. |
| Result | What the rule actually produces, for an object called “Name”. |
The checkbox at the top turns the whole thing off: new objects are then created with no layer binding, exactly as before this existed.
An object that already names a layer is never re-filed, so your own choice always wins. Neither is anything re-filed when a file is opened: a saved object keeps the layer its file recorded, so sharing a drawing never rearranges someone else's.
Styles point at layers — display components
A style is not one colour. Each part an object draws — an alignment's
centreline, its two tick grades, the station numbers, the PI markers, the
geometry-point labels — is a display component with its
own layer, colour, linetype, lineweight and show switch. That is Civil 3D's
shape, and it is what lets one style put station labels on
C-ANNO while the centreline stays on C-ROAD.
Edit them in Tools → Styles → Alignment Styles…: the measurements (tick and label intervals, precision) sit above, the component table below.
| Column | What it does |
|---|---|
| Show | Draw this part at all. |
| Layer | (object's layer) is the ordinary case — the part lives wherever the object does. Naming a layer overrides it for this part only, and that layer's on / frozen state then governs the part: switch it off and the labels go while the centreline stays. |
| ByLayer | Take the colour from the layer instead of the style. This is the cascade: explicit colour → the component's own layer → the object's layer. |
| Colour | Double-click to set an explicit colour. A ByLayer row shows the colour it will actually draw in, not an unused value, and picking a colour turns ByLayer off — otherwise the swatch would show one thing and the drawing another. |
| Linetype / Lineweight | Per part. A lineweight of zero reads ByLayer and takes the layer's. |
The Profile view's styles
The Profile tab is styled the same way, and Civil 3D's split is kept because they are two decisions:
| Style | What it draws |
|---|---|
| Profile View Style | The frame: grid, elevation labels, the station band, the cut and fill shading, VPI markers and their labels, curve labels, the high / low point. |
| Profile Style | The line itself. Existing Ground and Design are seeded, so the two differ by style rather than by which branch of the renderer drew them. |
Both are component sets from birth, so every part of the profile carries its own layer, a colour that may be ByLayer, a linetype and a lineweight. Cut and fill keep an alpha of their own — the shading only reads as shading by being translucent.
The Cant view shares the Profile View Style: station along the bottom, a value up the side, so it uses the same grid, axis labels, station band and title, and adds only its own three parts — the cant line, the ±cap guides and the zero line.
Station labels no longer overprint
A station interval is a distance in metres and cannot know whether its
labels fit on screen, so eleven of them were drawn into a 340 px band
and read as 0+000+0200+040…. The band now draws a
tick at every interval and a number where one
fits, measured against the actual text width — Civil 3D's
rule. The same thinning covers the elevation and cut/fill rows, which
overprinted identically. Labels are centred on their tick by measured
half-width rather than a fixed guess.
Utility long-sections take their discipline colour
A network's long-section is drawn in the colour its discipline has in Plan. It used to be one red for every discipline, so a storm sewer and a potable main were indistinguishable in profile while the Plan had been telling them apart all along.
Layers on a sheet
The Layout sheet obeys the drawing's layers like every other view: a layer that is off or frozen takes its objects off the sheet, and out of the viewport's auto-fit as well — fitting a viewport to something that will not be drawn frames it on empty paper. The sheet draws alignments and profile lines through the same styles the Plan and Profile views use, so a sheet cannot show a different palette from the view it was composed in.
Plot is the switch that only matters here. A layer with Plot off is drawn on screen and left out of plotted output — the Layout PDF. That is what the flag has always meant; the PDF is the only plotted output this program has, so it is the only place it can mean anything. Use it for construction lines and working notes you want to see while designing and not on the issued drawing.
Per-viewport layer overrides and VP freeze — a layer frozen in one viewport and not another — wait on a persisted viewport model; the Layout tab currently composes one auto-fit viewport per sheet.
What is not on a layer
Design-issue markers — the amber and red ! glyphs — are
a diagnostic overlay rather than drawing objects, so they stay visible when
the layer of the object they point at is switched off.
Containers and library objects are deliberately unlisted in Object Layers: a Group holds no geometry of its own (filing it would drag a whole subtree onto one layer), an Assembly is a library definition that is never drawn in Plan, and an imported IFC object already came with its own filing.