StructCalc.online

Basic Structural Analysis Bundle

3DFrameCalc: Online 3D Frame Analysis

Three-dimensional frame analysis. Build a space frame using X, Y and Z coordinates. Define local member orientation and restraints, apply loads, and explore the structural response in an interactive 3D view.

Sign in with your StructCalc account to open the calculator. No account yet?

Taster includes one analysis run per day, up to ten per month. Printing and PDF exports require a paid plan.

At a glance

Features

Straight and polar geometry

Generate straight node series or rotated arrays, copy blocks and expand member chains to create spatial layouts.

Member orientation

Inspect local axes and use Beta rotations and supported radial section alignment to control section orientation.

Frame and cable behaviour

Model regular frame members with axial, shear, bending and torsional response; cable compatibility uses entered cable properties and pretension.

Load cases and results

Define nodal and member loads and combinations, then inspect movements, member actions, reactions and result diagrams.

Views and calculation output

Use the 3D view, sections, property previews and result tables to review the model before exporting selected calculation information.

Start here

Getting started

  1. Create nodes in X, Y and Z. Straight-series generators build regular grids; block-copy rows duplicate groups, and polar rows create rotated node arrays around a selected centre and axis.
  2. Connect nodes into member chains. Set sections, releases, local Beta rotations and any rigid-link or one-way axial member behaviour.
  3. Define supports using global or generated radial axes. Enter nodal, member point, member distributed or cable loads in named cases.
  4. Create combinations and run the analysis. Cable loads are solved through compatibility using the entered cable properties and pretension; one-way support conditions may require direct combination re-analysis.
  5. Use the 3D view, sections, diagrams and result tables to inspect the load path. Export the selected calculation information from the Output tab.
Find help with an input or result →

Reference

Help by topic

Choose a topic for the field guidance and controls.

Model Information

Use this tab for the five PDF title-block fields and project notes. The Output tab controls the positions of these fields on the A4 calculation sheet.

Node Coordinates

Generate a straight series

Enter the first node and its X/Y/Z coordinates. Use No. of Inc for the number of additional nodes, Node Inc for the node-number step, and X-inc / Y-inc / Z-inc for the coordinate steps in metres.

Enter Y in End / Inc to treat the three increment cells as the final coordinates instead. The generated nodes are spaced evenly up to that endpoint.

Node Coordinates reference
Entry or operationInstructions
Copy a block — B

B1 copies the generated block starting at node 1. B1-5 copies all nodes produced by input lines 1 to 5, including nodes generated within those lines. The current row supplies the coordinate increments for each copy.

Leave Node Inc blank to number copies after the highest existing node. Enter a value to apply a specific node-number offset per copy.

Move a block — M

M1-4 moves the existing nodes generated by input lines 1 to 4 by the offsets entered in X-inc, Y-inc and Z-inc. Leave No. of Inc, Node Inc and End / Inc blank. Each node moves once, even if it appears on more than one referenced line; deleted nodes are skipped.

Generate a polar array — R

R1 rotates the nodes produced by input line 1. R1-4 rotates the nodes produced by lines 1 to 4. The R row's X/Y/Z coordinates define the rotation centre. No. of Inc is the number of additional copies.

For an R row, X-inc / Y-inc / Z-inc are angles in degrees about the corresponding global axis. For example, Y-inc = 45 with No. of Inc = 7 creates seven copies around the vertical Y axis.

Node Inc is the node-number offset per copy. For source nodes 1–4, an offset of 4 creates nodes 5–8, then 9–12, and so on. Choose an offset that avoids existing node numbers, or leave it blank for automatic numbering.

Enter Global in an R row's End / Inc cell to generate coordinates while retaining standard member-section and global support directions. Condense uses this setting for recognised rotational copies.

Delete or paste nodes

To remove a sequence, enter its first node, No. of Inc and Node Inc, then enter Delete in End / Inc. You can also paste a rectangular block of cells from Excel into the node grid.

Condense imported definitions

After a DXF import, a Condense preview opens automatically when shorter definitions are available. Choose Nodes, Members or both, then Apply. Straight sequences, translated blocks and single-axis rotational blocks are recognised; irregular nodes remain explicit. Node numbers and member order are retained. Coordinates are checked within 0.000001 m. Undo restores the previous tables.

Automatic radial section alignment

Members joining consecutive nodes in the R source chain, and the matching segments in each rotated copy, automatically align their section depth (local Y) with the radius from the rotation axis. Beta adds a rotation to this alignment.

For a source chain 1-2-3-4, members 1–2, 2–3 and 3–4 and their rotated copies qualify. A connection between copies, such as 30–2, keeps the standard Beta orientation.

Automatic alignment requires a single rotation axis and a radial direction across the member. Compound rotations, conflicting R axes and members with no transverse radial direction keep the standard Beta orientation.

In end-coordinate mode, No. of Inc counts additional nodes after the start: 1 gives the start and endpoint (2 nodes); 0 retains only the start. The 2D and 3D count conventions differ; check this when recreating geometry in the other app.

Members

Members reference
Entry or operationInstructions
Define a node chain

1-2-3 creates members 1→2 and 2→3. Shorthand 1-2--6 expands to 1-2-3-4-5-6. Add a final node to close a chain: 1-5--29-1 expands through 1, 5, 9 … 29 and adds member 29→1.

Copy members

No. of extra and Node increment repeat the chain with an offset to every node number. B1-12 copies every member produced by member input lines 1 to 12. For example, No. of extra = 2 and Node increment = 20 produces copies at +20 and +40.

The DXF import Condense preview recognises chains and repeated member blocks. It preserves member order, section references, Beta, releases and active settings. Existing generators are left as entered.

End releases and Group

Releases normally apply to every segment. Entering P at both ends of 8-5-2 therefore pins both adjoining ends at node 5. Enter Y in Group to release only the two outside ends of the whole chain.

Use yz for a beam-style pin (releases My and Mz), or xyz to release torsion as well. P, PIN, PINN and PINNED are aliases for yz. Translational releases use codes such as UX, UY and UZ.

Axial-only members

Enter C for compression-only struts or T for tension-only ties. They are drawn as red/blue dashed members; inactive one-way members are grey dotted.

C and T members resist axial force only. They have no bending, shear or torsional stiffness. Member loads, including self-weight, are transferred to the two end nodes as equivalent joint forces, whether the member is active or inactive. This is a joint-load approximation; use ordinary frame members where bending from a load along the span matters.

Rigid links

Enter Rigid in the Section column for a weightless link with axial, bending and torsional stiffness set to 10 times the strongest defined member section. This is a very stiff frame member, so its end releases still apply.

Automatic radial alignment and Beta

A member joining consecutive nodes in an R generator's source chain, or the corresponding pair in any angular copy, automatically aligns its section depth (local Y) radially with that generator's axis. Beta is an additional rotation about the member.

For source chain 1-2-3-4, segments 1–2, 2–3 and 3–4 and their copies qualify. Connections between copies, such as 30–2, retain the standard Beta orientation. Click a member to see its alignment source in the status bar, or inspect its section in Properties.

Single-axis R commands about X, Y or Z are supported. If there is no unique rotation axis or transverse radial direction, the member keeps the standard Beta orientation.

Active

Enter X to mark an optional member row and its generated copies. It remains included unless the selected case or combination also has X in Stages. In that stage, nodes used only by omitted members, their supports and their nodal loads are omitted too. This is separate from an inactive compression-only or tension-only member.

Copy and paste

Click-drag to select a rectangular range and press Ctrl+C to copy. Paste a rectangular block from Excel starting at the selected cell.

Cables are geometrically nonlinear, pinned, tension-only members. Their property reference must point to a row in Cable Props, normally created with the Cable Properties Helper. Installed pretension is an element initial force, so it remains present in every load case and is not multiplied by ordinary load-combination factors.

Support Conditions

Support Conditions reference
Entry or operationInstructions
Fixity

Leave Active blank to include a support row, or enter X to exclude it and all its generated copies. A support on a node still used by permanent members must be switched off here explicitly.

Uppercase letters restrain translation (X, Y, Z); lowercase letters restrain rotation (x, y, z). XYZ = pin, XYZxyz = fixed, Y = vertical roller, and YZ = roller free in X. At nodes created by an R row, the support axes follow that radial generator: X is radial, Y follows the rotation axis, and Z is tangential. At other nodes, they are the global axes.

Spring supports

Enter a numerical stiffness in any X/Y/Z/x/y/z spring cell to make that direction an elastic spring support. The same radial axes apply at R-generated nodes. Leave Fixity blank for a row containing only springs.

Gap / one-way restraint

Leave blank for restraint in both directions. For Y, enter + for bearing/downforce-only support (no reaction in the negative direction), or − for uplift/hold-down-only support. X/Z use the same sign convention in their support axes, including the radial axes at R-generated nodes.

Generate supports

Node accepts a single number, list, range or B-row reference such as B1-3. Use No. extra and Node inc. to repeat supports: node = 1, No. = 4, Inc. = 5 creates supports at 1, 6, 11, 16 and 21.

Properties

In the 3D view, click any member to highlight its section as a blue prism and show the orange mid-length cross-section cut face with local axes. Click a Member Props row to preview every member assigned to that section.
Izz = major/strong bending inertia for local BMD-z (normal horizontal beam under gravity). Iyy = minor/weak bending inertia for local BMD-y. Optional Ksy/Ksz are transverse shear rigidities (kN) in local Y/Z; blank or zero omits shear deformation. Aw is additional area used for self-weight only, not axial or bending stiffness. The lattice helper assumes one pin-jointed diagonal per panel acting in both tension and compression. Buckling, joint slip, verticals, gussets and out-of-plane bracing are excluded; model members individually where these effects matter. E, G, A, I and J may be entered in engineering notation such as 200E3, 6E3, 120E6 or 1.5E6.
Cable axial stiffness can be calculated as EA = Jb or entered independently. The represented fabric width is the tributary width carried by one cable line; installed pretension is defined separately in the Cables table under Members.

Loadings

Nodal Loads

Positive moments follow the right-hand rule. Use No. extra and Node inc. to repeat the same forces and moments at additional nodes. For example, Node = 2, No. extra = 3 and Node inc. = 5 applies the load at nodes 2, 7, 12 and 17. Automatic self-weight is generated as analysis case SWT. SWT is calculated from section density and applied as global Y member UDLs. Inclined members use their actual member length, so they carry their true weight. SWT is analysed in results and combinations, but is not drawn as load arrows on the canvas.

Member Loads

Enter a member or node chain such as 1-2-3. Direction may be global X, global Y, global Z, local y, or local z. For a multi-member chain, a variable UDL is now tapered continuously from w start at the first chain node to w end at the last chain node, rather than restarting on every member. Uniform loads remain uniform on each member. These rows are saved with the model, shown on the frame, and included in the analysis.

Member Point Loads

Enter a member or node chain such as 1-2-3. The same point load and distance a are repeated from the start of each segment in chain order. The distance must fit every segment; use separate rows for different distances. Direction may be global X, global Y, global Z, local y, or local z to the member.

Cable UDL Loads

Applies load-case pressure to cables having the same node chain. Strip width and fabric stiffness come from the cable property; pretension comes from the Cables table. The nonlinear compatibility solution uses EA = Jb and applies the resulting cable end actions to the frame.

Load Combinations

Use case names from the loads tables, including automatic SWT. Case names are not case-sensitive. Blank SLS factor = 1, including in existing saved models. Select ULS (ultimate) or SLS (serviceability) beside the result name to show one factor set throughout the tables, diagrams, cable sag, deformed shape and load arrows. Combinations with one-way supports, one-way members or cables are re-solved directly at each factor set.

Stages

Stage structures

Mark optional members X in the Members table. In Stages, enter X against the load cases and combinations where those members are absent. Blank keeps all members. Both ULS and SLS use the chosen structure; the factors in Loadings are unchanged.

Analysis stops if a combination contains cases with different structure settings, or its setting differs from those cases. Support rows marked X remain excluded in every stage.

Grid

Grid markers are drawn on the XZ plan at Y = 0. Set one shared origin as an X,Z coordinate pair in metres. Enable the rectangular and polar grids independently, or show both together. Rectangular X and Z entries are signed offsets from the origin; each value defines one labelled grid line, including zero. Polar entries give each ring's radius from the origin. Enter custom X and Z labels separated by commas, in the same order as the offsets. Editing a custom list selects Custom for that axis. A short list repeats its last label; extra labels are unused.
Enter signed X offsets from the origin in increasing order; each value defines one grid line.
Enter signed Z offsets from the origin in increasing order; each value defines one grid line.
Enter each ring's distance from the origin in ascending order.

Member Forces

The frame-member table shows forces and moments at both ends of each regular member for the selected load case or combination. Line identifies the row in the Members table that defines the member. Property is its section property reference; the Property control in Visibility filters both member-force tables and the canvas.

N is axial force, Vy and Vz are shear forces, T is torsion, and My and Mz are bending moments. The numbers 1 and 2 identify the member ends.

Select a member in either table or on the canvas to locate it. Use the diagram buttons to display results on the model. The AFD cut-off in Visibility greys smaller axial-force diagrams and hides their labels without changing the calculated results. Click a column heading to sort its table independently; click again to reverse the order.

ULS (ultimate) and SLS (serviceability) are separate complete result sets: use the selector beside the combination name. It controls forces, reactions, displacements, diagrams, cable sag and factored load arrows, including SWT. Blank SLS factors use 1. Local end actions follow local axes and the right-hand rule; N1 is positive in compression and N2 has the opposite end sense. Internal section values reverse the second-end sign. BMD labels reverse internal My/Mz signs; positive BMD-z is sagging for a horizontal beam under downward load. The design envelope uses ULS combinations only, or unfactored cases if there are no combinations, and identifies the governing result in every cell.

One-way members

Tension-only (T) and compression-only (C) members are listed separately when present. N rep is their representative axial force in kN; zero means inactive for the selected case. Active ties are blue dashed, active struts red dashed and inactive members grey dotted.

Work more quickly

Tips and shortcuts

Practise a workflow

Written tutorials

These example outlines await diagrams, verified results and model files. Choose an outline below.

01

A spatial portal structure

Connect portal frames with longitudinal members, apply separate gravity and lateral cases, and inspect the 3D load path.

TODO: supply the diagram, verified results and downloadable model file for this example.

Relevant help: Node Coordinates · Loadings
02

A circular member arrangement

Use polar node generation, then review local member axes and section-depth alignment around the selected axis.

TODO: supply the diagram, verified results and downloadable model file for this example.

Relevant help: Node Coordinates · Members
03

A frame with cable support

Define the cable properties and pretension, and review the compatibility solution and its restraint assumptions.

TODO: supply the diagram, verified results and downloadable model file for this example.

Relevant help: Properties · Loadings

Watch and learn

Video tutorials

No video tutorials have been added for 3DFrameCalc yet. The written tutorials are available above.

Before using a result

Checks and limits

Check the generated geometry and local axes before applying loads. Tension-only and compression-only members carry axial action only; distributed loads on them are converted to equivalent end-node forces and do not model span bending.

Confirm cable stiffness, pretension, restraints and load combinations independently. The model is an engineering analysis aid: verify assumptions, equilibrium and design checks for the project before use.

Method and limitations

This reference describes the implemented model and existing verification coverage. Use the linked help topics for field syntax and check that the assumptions suit your structure.

Analysis method

Regular members use an elastic 12-degree-of-freedom space-frame stiffness matrix: three translations and three rotations at each end, with axial, torsional and two-plane bending response. Local X follows the member; Beta and the generated orientation determine local Y and Z.

Blank or zero Ksy/Ksz retains Euler–Bernoulli bending. Positive shear rigidity uses the corresponding Timoshenko bending stiffness and includes shear deformation in that local direction. These fields are shear rigidities in kN, not spring stiffnesses.

Cables are pinned, tension-only members with geometrically nonlinear sag/extension compatibility, coupled to frame equilibrium. This cable treatment is distinct from the regular frame stiffness model. One-way members and supports require an active-state solution.

Units and sign conventions

3DFrameCalc metric reference
QuantityMetric units / convention
Geometry and member point-load distancem; angles and Beta rotations are entered in degrees.
Forces / momentskN / kNm; distributed member loads are kN/m.
Material and section propertiesE and G: MPa; area: mm²; second moments of area and torsion constant J: mm⁴.
Support stiffnessTranslation: kN/m; rotation: kNm/rad.
Displacement resultsTranslations: mm; rotations: ×10⁻³ rad (milliradians). The analysis stores translations in m and rotations in rad.
Frame self-weightDensity is weight density in kN/m³. Weight per metre uses (A + Aw) in m²; Aw adds weight without increasing axial stiffness.
Shear and cable propertiesKsy, Ksz and cable EA: kN; cable pretension: kN; fabric width: m; fabric J: kN/m; pressure: kN/m².

3DFrameCalc currently uses metric units; the Imperial option is unavailable. This differs from 2DFrameCalc. Global force and displacement signs follow +X, +Y and +Z; positive moments and rotations follow the right-hand rule.

Local member end actions use local axes: N1 is positive in compression, while N2 has the opposite end sense. Internal section values reverse the second-end sign. BMD labels reverse internal My/Mz signs; positive BMD-z is sagging for a horizontal beam under downward load. Izz controls local-Y bending (BMD-z); Iyy controls local-Z bending (BMD-y).

Supports, releases and one-way behaviour

  • Supports can restrain global or generated radial translations and rotations, with translational and rotational springs. A + or − one-way action limits the reaction in the support’s own axis, rather than the applied-load direction. See the support reference.
  • End releases act in local member axes and are condensed out of the member stiffness. P releases My and Mz while retaining torsion; xyz releases all three rotations. Use the release-code reference to select the intended freedoms.
  • C and T members have axial stiffness only: no shear, bending or torsional stiffness. A local UX release is invalid for these bars. Their member loads, including self-weight, are converted to equivalent joint loads; this does not model span bending.
  • Cable pretension, EA, load direction and restraint flexibility affect the compatibility solution. Failure of an active-state or cable iteration must not be treated as a valid converged result.
  • Disconnected, unloaded free rotations can receive weak rotational stabilisation, reported by the solver. This does not provide a missing translational restraint or validate an unstable structure.

Loads and combinations

  • Named cases accept nodal forces and moments, uniform/tapered member loads, member point forces, cable pressure loads and automatic self-weight case SWT.
  • For distributed loads, X/Y/Z use length projected perpendicular to the chosen global force direction; GX/GY/GZ use actual member length. Local Y/Z loads use the member’s local axes. For example, 10 kN/m in Y on a 3–4–5 member gives 30 kN total; GY gives 50 kN. Concentrated forces are not multiplied by a projected length.
  • A point-load chain repeats the entered distance from the start of each segment. It is not a cumulative distance along the chain; a distance beyond any target segment is rejected.
  • ULS and SLS are separate complete result states. The selector controls forces, reactions, movements, diagrams, cable sag and factored arrows together. Blank SLS factors use +1. Combinations with one-way or cable behaviour are solved from their factored loads.
  • The design envelope uses ULS combinations, or unfactored cases if there are no combinations. Different cells can have different governing results: the envelope is not a simultaneous equilibrium state or a capacity check. Stage settings must match between a combination and its contributing cases; see Stages.

What the tool does not do

The regular member stiffness is an elastic frame model; the geometrically nonlinear cable solution does not establish general second-order frame, buckling or plastic-capacity verification. Check these requirements separately where relevant to the project.

Stages selects a full or partial structure for a case or combination. It does not accumulate construction history or locked-in stresses. Cable and axial-only models do not provide ordinary beam bending along those spans. Member capacity, connections and project design checks remain separate from the reported actions and movements.

Verification and benchmarks

Existing repository checks include analytical frame benchmarks and equilibrium checks for nonlinear cases. Examples below refer to the executable tests, not the unfinished worked examples above.

  • Fixed-ended 10 m beam, 10 kN/m downward in GY: each reaction = wL/2 = 50 kN; each end-moment magnitude = wL²/12 = 1,000/12 kNm. The check is repeated for ordinary, radial and one-way restraints.
  • 10 m cantilever with DL = 10 kN and LL = 5 kN downward: ULS factors 1.35/1.5 give P = 21 kN; SLS factors 1/1 give P = 15 kN. Each state is checked against Ry = P, Mz = PL and Uy = −PL³/(3EI), with E = 200,000 MPa and Izz = 100 × 10⁶ mm⁴ (EI = 20,000 kNm²). Both linear and one-way support variants are tested.
  • 10 m cantilever with finite shear rigidity: local-Y and local-Z tip movements are checked against PL³/(3EI) + PL/K, using E = 200,000 MPa, Izz = 1,000 × 10⁶ mm⁴, Iyy = 500 × 10⁶ mm⁴, a 10 kN tip load and Ksy = 20,000 kN / Ksz = 10,000 kN. Blank shear rigidity is checked against the Euler–Bernoulli result.

The comparison threshold in these tests is 10⁻⁸ × max(1, |expected|), with each quantity expressed in the analysis units: m, rad, kN or kNm. Additional checks cover pressure resultants, cable pretension, member active states, stage equivalence and rejection of incompatible stage combinations. Equilibrium and comparison with another solve are not independent validation of every cable model.

[CONFIRM: supply a traceable theory reference and independent benchmark/acceptance criteria for the coupled cable formulation beyond the repository regression and equilibrium checks.]

Open 3DFrameCalc

Build your model, run the analysis and export your calculation PDF in the calculator.

Launch 3DFrameCalc

StructCalc account

Set a new password