2D structural frames
A 2D Frame is a structural sketch on the page: nodes,
members, supports, and loads. Solve runs a linear-elastic
plane-frame analysis (three degrees of freedom per node:
ux, uy, rz). Result names enter
worksheet scope at the frame’s place in
evaluation order, so math
below the frame can use reactions, member forces, deflections, and
stresses like any other variable.
Place a frame
- On the Insert tab, choose 2D Frame (tooltip: Insert 2D frame — sketch members, supports and loads, then solve).
- Click the page. An empty frame region appears with the toolbar, a blank sketch, and the Details panel open on Selection.
- Set Unit and Prefix before you sketch if you already know them — changing Unit later rescales the same numbers; Prefix is prepended to every result name.
The status bar starts with: Sketch nodes and members, add supports and loads, then Solve. An unstable or unsupported model shows an error there instead of writing names.
Sketch tools
The first toolbar row:
- Select — move nodes and members. Shift-click a member, or ⌘-click / Ctrl-click , to add members to the selection. Alt-drag, right-drag, or middle-drag to pan. With Callouts on, click a diagram to pin a value.
- Node — click empty space to place a joint. Click a member to split it at that station (the original member becomes two, sharing the new node).
- Member — click two nodes to connect them. A rubber band follows the pointer after the first click.
- Load — click a node for a joint load (Fx, Fy, M), or a member for a member load (point or UDL).
- Delete — click a support symbol to remove that support (the node stays). Or delete the current selection (node, member, or load).
- Solve — analyse the frame (tooltip: Solve the frame). The region also re-solves when you change a property that affects the model.
Unit, Prefix, and Snap
- Unit — length unit for the sketch coordinates and distance fields: m, mm, cm, ft, in. Node x / y and load distances are in this unit.
- Prefix — short identifier prepended to every result
name (max 16 characters, must be a valid name). Default is
fr. Use a different prefix on each frame so two frames on one sheet do not collide — the demo beam usesss. - Snap — when ticked, node placement snaps to the spacing in the number field (shown in the current Unit). Untick to place freely.
A typical workflow
- Choose Unit (m for a building frame, mm for a detail).
- Set Prefix (for example
ssorportal). - Node — place joints. Select each node and set Support and a short Label (A, B, C). Labels become the suffix on result names.
- Member — connect the nodes. Select each member, set End i / End j releases, and assign a Section.
- Open Details → Sections, add a section, set E and dimensions, then Apply to selected or Apply to all.
- Load — click nodes and members. Type magnitudes as numbers or as sheet variable names defined above the frame.
- Press Solve. Tick the view overlays you need, then Fit so the whole model sits in the canvas.
- In math below the frame, type the Prefix and pick names from
autocomplete —
ss_RyA =,ss_MmAB =.
Supports
Select a node. Details → Selection shows x, y, Support, and Label. Support types:
| Support | Restrained | Free |
|---|---|---|
| Free | none | ux, uy, rz |
| Pin | ux, uy | rz (rotation) |
| Fixed | ux, uy, rz | — |
| Roller | uy (vertical) | ux, rz — a horizontal roller |
| V-roller | ux (horizontal) | uy, rz — a vertical-wall roller |
After Solve, the same panel lists Deflections (x, y, Total, rz) and Reactions for the restrained directions only (Rx, Ry, M).
Members
Select a member. Selection shows:
- Label — suffix on member result names (AB →
ss_MmAB). - Length — read-only, from the two nodes and the current Unit.
- End i / End j — Fixed (moment-resisting) or Pin (released moment at that end). Use Pin at both ends for a truss bar; Fixed–Fixed for a beam-column.
- Section — pick from the Sections catalogue. A preview shows A, I, and c (extreme-fiber distance) once dimensions are valid.
- Add load — attaches a member load without switching to the Load tool.
Shift-click several members to assign one section to all of them. After Solve, Selection lists peak Forces (Moment, Shear, Axial), Stresses (if a section is assigned), and Deflections, each with a station along the member.
Without a section, Solve still runs using the frame defaults (E, A, I). Stress overlays and stress names need a section on that member.
Loads
Magnitudes accept a number or a sheet variable defined above the frame (placeholder: number or variable). Sign convention: the sketch Y axis points up, so a downward force or UDL is a negative number.
Nodal load
Click a node with the Load tool. Selection title: Nodal load.
- Fx, Fy — global components.
- M — in-plane moment. The unit follows the force unit (N → N·m, kN → kN·m, lbf → lbf·ft, kip → kip·ft).
- Unit — N, kN, MN, lbf, kip.
Member load — Point
Click a member. Type can be Point or UDL. For Point:
- Fx, Fy — global components.
- From — which end the distance is measured from (end i or end j).
- Dist — distance from that end, in the frame Unit or a sheet variable.
- Unit — same force units as a nodal load.
Member load — UDL
- Dir — Global Y (sketch vertical) or Local y (perpendicular to the member).
- From, Start, End — the loaded segment, measured from the chosen end. Leave Start at 0 and End at the member length for a full-span UDL.
- w1, w2 — intensity at Start and End. Equal values are a uniform load; different values are a trapezoid / triangle.
- Unit — N/m, kN/m, N/mm, lbf/ft, kip/ft.
Sections
Details → Sections is the catalogue for this frame. Pick a type, press Add, then edit the selected section:
- Name — shown in the list and in the member Section dropdown.
- Type — I-beam, Square hollow (SHS), Rectangular hollow (RHS), Circular hollow (CHS), Angle, Circular bar, Square bar.
- Dims — unit for the dimension fields: mm, cm, m, in, ft (independent of the sketch Unit).
- E — Young’s modulus, number or sheet variable, with unit Pa, kPa, MPa, GPa, psi, or ksi.
- Axis — on I-beam, RHS, and Angle: Strong / Weak (Angle also has X-X and Y-Y). This picks which I is used in bending.
- Dimension fields — numbers or sheet variables. A diagram labels each size (h, b, tw, tf on an I-beam; B, t on SHS; and so on).
- Preview — A, I, and c once the dimensions are valid.
- Apply to selected / Apply to all — assign this section to members.
- Delete section — removes it from the catalogue (members that used it lose the assignment).
| Type | Dimensions |
|---|---|
| I-beam | h overall depth, b flange width, tw web, tf flange |
| Square hollow | B outer width, t wall |
| Rectangular hollow | H outer depth, B outer width, t wall |
| Circular hollow | D outer diameter, t wall |
| Angle | d vertical leg, b horizontal leg, t thickness |
| Circular bar | d diameter |
| Square bar | a side |
View overlays
The second toolbar row, after a successful Solve:
- Deflection — dashed displaced shape (on by default).
- Moment, Shear, Axial — force diagrams along each member.
- Stress — combined stress diagram. Members without a section have nothing to draw.
- Reactions — support arrows and values (on by default).
- Callouts — hover a diagram for values; click to pin. Off by default.
- Scale — 20–100% slider for diagram amplitude (moment, shear, axial, stress, deflection).
- Fit — frames the whole model in the canvas (tooltip: Fit the frame in view). Use this after you sketch, or if Details is covering a support.
- Zoom readout — current camera zoom. Scroll the sketch to zoom; Alt / right / middle-drag to pan.
Grid lives on the status bar, not the toolbar. Hide / Tools on the sketch collapses the toolbar. Details re-opens the side panel if you hid it; the panel’s own Hide collapses it.
Callouts
Tick Callouts. Hover a moment, shear, axial, stress, or deflection diagram — a tooltip follows the station. Click to pin it. Click a pinned callout to remove that one. Pins are stored with the region.
Result names
After Solve, names appear in autocomplete for math below the frame.
The pattern is {Prefix}_{quantity}{Label} — one
underscore only. A node labelled B becomes ss_uyB, not
ss_uy_B. If a label is empty, the node or member id is
used.
Whole-model peaks
| Name | Meaning | Unit |
|---|---|---|
{p}_dmax | Peak resultant deflection | m |
{p}_Mmax | Peak bending moment | N·m |
{p}_Vmax | Peak shear | N |
{p}_Nmax | Peak axial force | N |
{p}_axmax | Peak axial stress | Pa |
{p}_bmax | Peak bending stress | Pa |
{p}_tmax | Peak shear stress | Pa |
{p}_smax | Peak combined stress | Pa |
Per node (label A)
| Name | Meaning |
|---|---|
{p}_uxA, {p}_uyA, {p}_rzA | Displacement and rotation |
{p}_RxA, {p}_RyA, {p}_RmA | Reactions (only if the node is restrained) |
Per member (label AB)
| Name | Meaning |
|---|---|
{p}_NAB, {p}_VAB | Axial and shear at end i |
{p}_MiAB, {p}_MjAB | Moments at ends i and j |
{p}_NmAB, {p}_VmAB, {p}_MmAB | Peak axial, shear, moment on the member |
{p}_dxAB, {p}_dyAB, {p}_dAB | Peak |ux|, |uy|, and resultant deflection |
{p}_axAB, {p}_bAB, {p}_tAB, {p}_sAB | Peak axial, bending, shear, and combined stress |
On the demo beam (Prefix ss, pin A, roller B, 6 m span,
UDL −8 kN/m) you can write:
ss_RyA =
ss_RyB =
ss_MmAB =
ss_dmax =
Display units follow the sheet unit system (SI shows kN and mm when the values are large or small; USCS uses lbf / kip and inches). Pin a display unit on the result chip the same way as any math region.
Evaluation and the rest of the sheet
The frame is a region. It participates in Evaluate All at its
order / position. Loads and section dimensions that
reference sheet variables read those names from scope
above the frame. Results are then available
below it — including as the output of a
plot sweep or a
sweep table.
Copy and paste the region like any other block. The Prefix, sections, and callouts travel with it. Delete removes the sketch and its names from the next evaluate.