> For the complete documentation index, see [llms.txt](https://docs.openbrim.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.openbrim.org/templates/cadd/line-cadd.md).

# Line

A **Line** is a polyline of two or more points used for drafted linework that doesn't need to enclose a region. In bridge drawings you'll reach for it for centerlines, leader lines, breaklines, finish-grade traces, working lines, and any free-form 2D path that traces along but doesn't bound an area. To draw a closed shape that gets filled, use a Rectangle, Circle, or Container instead.

To draw: pick the first point, pick subsequent points, and either double-click or press **Enter** to finish. Right-click during drawing for the in-progress menu (cancel, undo last point, finish). With **Single Segment** mode enabled, drawing ends automatically after the second point — useful for laying out single-segment grid lines and reference lines.

## Geometry

**Name:** Identifier of the line within its parent CAD document. Must be unique within the document.

**Level:** The layer the line is drawn on. The layer controls color, line weight, and dash style. Useful for routing all centerlines to a "Centerlines" layer, all working lines to a "Working" layer, and so on.

**Offset X:** Horizontal offset of the line's origin from the parent CAD document's origin. All vertices are drawn relative to this origin.

**Offset Y:** Vertical offset of the line's origin from the parent CAD document's origin.

**Points (readonly):** The number of vertices currently in the polyline. A valid line has at least two.

**Total Length (readonly):** The end-to-end length of the polyline (sum of segment distances), shown in the project's preferred length unit. Reflects any alignment-driven bending if the parent CAD document is alignment-based.

## Editing

**Add a vertex:** click on the line in edit mode to insert a vertex on the closest segment.

**Move a vertex:** drag the vertex handle to reposition. The two adjacent segments stretch to follow.

**Remove a vertex:** right-click a vertex and choose Remove. The line must keep at least two vertices.

**Offset:** move the cursor to one side of the line and drop to create a parallel offset. For 2-point lines the offset is a true parallel translation; for multi-vertex polylines each segment offsets perpendicularly and corners are intersected.

## Notes

A Line does not close on itself regardless of how many vertices it has, so it can't be filled as a region. If you need a closed path through arbitrary points (e.g., to hatch a non-rectangular footing footprint), use a Container with a closed polyline instead.

When the parent CAD document is driven by an alignment, the line's vertices are bent to follow the alignment — a horizontal line drawn flat becomes an arc over a horizontal curve. This is what produces working lines that follow the bridge geometry without redrawing them on every revision.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.openbrim.org/templates/cadd/line-cadd.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
