Skip to content

Modelling the structure

This is how you build a structure by hand in CivilKit Studio - the nodes, members, plates, supports and the bits of fixity that make it behave the way the real frame does.

If you are just starting, the getting started guide walks the whole loop; this page is the reference for each thing you can place and edit.

Before you start: axes, units and signs

A few conventions hold everywhere in Studio, so it pays to know them up front.

  • Y is up. X and Z are the two horizontal directions, Y is vertical (gravity acts down the Y axis). This matters when you read coordinates, set supports and apply loads.
  • The units chip sits at the bottom of the window and shows the active unit system, e.g. SI · N · m · Pa. The model is always stored in SI internally; the chip only changes what you see and type. Switch it in File ▸ Settings ▸ Units system between Metric (SI) (kN, mm, MPa) and Imperial / US (kip, in, ksi).
  • Restraints use six degrees of freedom (DOF): three translations Tx Ty Tz and three rotations Rx Ry Rz. A DOF that is restrained cannot move; a DOF that is free can. The same six labels appear on supports, on member end releases and on springs.

This page does not cover assigning a steel size or a material - that is in sections and materials. Here we just build the skeleton.

Nodes

Nodes are the points the structure is built from. Every member starts and ends on a node.

  1. Open Insert ▸ Add node (or right-click empty space ▸ Add node). A node appears near the centre of the model and is selected for you.
  2. With the node selected, read or edit its Coordinates (m) - the x, y, z boxes in the inspector. Remember y is the vertical one.
  3. Optionally give it a Name (e.g. Apex, Base L); the label shows in the tree and on selection.

The inspector also lists the connected members for that node - click one to jump to it. A node connected to nothing is flagged as unconnected, which usually means you still have to draw a member onto it.

Moving a node moves the frame

Editing a node's coordinates drags every member attached to it. To reposition part of the structure, move the shared node rather than each member.

Members

Members are the beams, columns, braces and ties that span between two nodes.

  1. Choose Insert ▸ Add member.
  2. Click the first node, then the second node. The member is drawn between them and selected. (Pick a different second node - a member cannot start and end on the same node.)
  3. In the inspector, set the member Type (see the table). New members default to Beam.
TypeCarriesUse it for
Beam (frame)Bending, shear, axial and torsionBeams, columns, rafters, portal frames
Truss (axial)Axial force only (pinned both ends)Truss chords and webs, members with no bending
Tension-onlyAxial tension only, drops out in compressionCross-bracing, cables, tie rods
Compression-onlyAxial compression only, drops out in tensionStruts, props, soil bearing under a base

How the section sits about the member's own axis (the Beta angle) and its effective-length factors are part of member orientation - see member orientation.

Tension-only and compression-only are non-linear

Members that drop out under the wrong sign of force make the solve non-linear. Use them deliberately (e.g. a pair of crossed tension-only braces so only the working diagonal carries load), not as a default.

Rigid offsets

Each member can be given a rigid offset (m) at end A and end B - an x, y, z shift of where it connects relative to its node. This models an eccentric connection (for example a beam framing into the face of a column rather than its centreline) without you having to add extra nodes. Leave them at 0 for a normal centreline-to- centreline connection.

Reshaping by dragging

Selecting a node - or a member (the drag handle lands on its higher end; the other end stays anchored) - shows a small axis gizmo of three short X/Y/Z arrows at that point.

  • Drag an arrow to slide the point along that axis only; the move snaps to a 0.1 m grid. Hold Alt to move freely, off the grid.
  • While dragging, an editable length badge appears next to the handle showing the connected member's length in the active units - type a value and press Enter to set that member to an exact length.
  • Esc cancels the drag and puts the point back where it started.

Type an exact length without dragging

The member inspector's Length field is editable directly - type a value and press Enter to resize without touching the drag handle. The same anchor rule applies: the lower end (e.g. a column base) stays put and the higher end moves, so any other member sharing that end moves with it.

End releases (hinges)

By default a beam member is rigidly connected at both ends, so it carries moment into the joint. An end release frees one or more DOF at one end, so that action is no longer transferred - the classic case being a pinned (moment-free) beam-to-column connection.

  1. Select the member.
  2. In End releases (hinges), tick the DOF you want to release at End A and/or End B. A ticked box means that DOF is released (free) at that end.
  3. For the common case, use the presets: Pin A or Pin B releases all three rotations at that end; Clear makes both ends rigid again.

Don't release the same DOF at both ends

Releasing, say, the axial or torsional DOF at both ends of a member leaves it free to spin or slide - a mechanism the solver cannot resolve. Release rotations for a pin, and keep at least one end holding each DOF.

Plates

Plates are flat four-node quad shells - floor slabs, walls, web panels - that carry in-plane (membrane) and out-of-plane (bending) action. They are usually brought in by import (DXF 3DFACE quads, SpaceGass or IFC) rather than drawn by hand.

  1. Select a plate (it shows its four corner nodes in the inspector).
  2. Set the Thickness (mm). This is the single most important plate input: imported plates land at a small default (around 10 mm), so set the real value before you solve.
  3. Material is assigned the same way as for members - see sections and materials.

After a solve the plate inspector reports corner displacement, centroid membrane and bending stresses, and Wood-Armer design moments. Triangular faces are skipped on import because the plate solver works in four-node quads.

Supports (restraints)

A support holds the structure down at a node by restraining some of its six DOF. Without enough supports the model is a mechanism and will not solve.

  1. Select the node you want to support.
  2. In Restraints, click a preset, or tick the individual DOF for a custom support.
PresetDOF heldTypical meaning
FreenoneNo support (default for a new node)
PinTx Ty TzPinned base - holds position, lets the member rotate
Rollervertical + out-of-plane translationSlides horizontally, e.g. a sliding bearing
Fixedall sixFully built-in - holds position and rotation

For anything the presets do not cover, tick the exact DOF you need in the restraint grid (Tx Ty Tz Rx Ry Rz) - for example a vertical-only prop, or a support that resists rotation about one axis only.

Support several nodes at once

Select multiple nodes, then right-click ▸ Set support to apply the same restraint to all of them. Imported models usually arrive with no supports at all - see Auto-support below.

Springs and settlements

Where a support is not perfectly rigid - a soil foundation, an elastomeric bearing, a flexible neighbouring structure - model it as an elastic support (spring) instead of, or alongside, a hard restraint. You can also push a restrained support through a known settlement.

  1. Select the node.
  2. Under Springs & settlements, enter an Elastic support stiffness per DOF. Translations are entered in kN/m, rotations in kN·m/°. A non-zero spring gives that DOF a finite stiffness path to ground.
  3. To impose a known movement, enter a Prescribed settlement - translations in mm, rotations in mrad.

Settlement needs a restrained DOF

A prescribed settlement only does something on a DOF that is restrained. The settlement box is disabled for free DOF, so restrain the direction first (e.g. tick Ty), then type the settlement. Otherwise it would silently do nothing.

Checking the model before you solve

Building by hand (or importing) it is easy to leave a frame floating, an orphan node, or a mechanism that makes the solve fail singular. Studio has helpers for this - reach them by right-clicking empty space in the view, or from the command palette.

HelperWhat it does
Check connectivitySelects any member that does not have a load path to a support
Select orphan nodesSelects nodes connected to no member or plate (safe to delete)
Find instabilitiesHighlights nodes likely to cause a singular stiffness matrix (free rotation, collinear-truss mechanism, disconnected part)
Auto-support baseRestrains the free, member-connected nodes at the lowest level (Y up) in one step - you choose Pinned, Fixed or Roller
Clean up modelMerges duplicate nodes and removes stray geometry

Imported models usually need supports

An IFC or DXF frame typically arrives with no supports, so it cannot solve. Run Auto-support base, pick the support type, and review the highlighted nodes before solving.

When you do solve, Studio runs its own pre-solve safety net: zero-stiffness DOF are auto-restrained and reported, a genuine mechanism is caught as a singular result with the suspect nodes highlighted, and any load that ended up reacted by an auto-restraint (rather than by the structure) is flagged as a grounded load so it is never silently lost. Read more in analysis and results.

Once the skeleton stands up, move on to applying loads, and see the interface guide for the tree, selection and view controls.