Straight and polar geometry
Generate straight node series or rotated arrays, copy blocks and expand member chains to create spatial layouts.
Basic Structural Analysis Bundle
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
Generate straight node series or rotated arrays, copy blocks and expand member chains to create spatial layouts.
Inspect local axes and use Beta rotations and supported radial section alignment to control section orientation.
Model regular frame members with axial, shear, bending and torsional response; cable compatibility uses entered cable properties and pretension.
Define nodal and member loads and combinations, then inspect movements, member actions, reactions and result diagrams.
Use the 3D view, sections, property previews and result tables to review the model before exporting selected calculation information.
Start here
Reference
Choose a topic for the field guidance and controls.
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.
| Entry or operation | Instructions |
|---|---|
| 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. |
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.
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.
| Entry or operation | Instructions |
|---|---|
| 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. |
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.
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.
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.
Click-drag to select a rectangular range and press Ctrl+C to copy. Paste a rectangular block from Excel starting at the selected cell.
| Entry or operation | Instructions |
|---|---|
| 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. |
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.
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.
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.
No matching topics. Try a field name such as loads, nodes or report.
Work more quickly
Practise a workflow
These example outlines await diagrams, verified results and model files. Choose an outline below.
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.
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.
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.
Watch and learn
No video tutorials have been added for 3DFrameCalc yet. The written tutorials are available above.
Before using a result
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.
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.
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.
| Quantity | Metric units / convention |
|---|---|
| Geometry and member point-load distance | m; angles and Beta rotations are entered in degrees. |
| Forces / moments | kN / kNm; distributed member loads are kN/m. |
| Material and section properties | E and G: MPa; area: mm²; second moments of area and torsion constant J: mm⁴. |
| Support stiffness | Translation: kN/m; rotation: kNm/rad. |
| Displacement results | Translations: mm; rotations: ×10⁻³ rad (milliradians). The analysis stores translations in m and rotations in rad. |
| Frame self-weight | Density is weight density in kN/m³. Weight per metre uses (A + Aw) in m²; Aw adds weight without increasing axial stiffness. |
| Shear and cable properties | Ksy, 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).
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.
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.
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.]
Build your model, run the analysis and export your calculation PDF in the calculator.
Launch 3DFrameCalc