Skip to main content
A beam is a straight member between two points. You give its two ends and its section. The ends can be at different heights, so a beam can slope.

Before you start

You have a session from Start a building.

Write the beams

A beam end is [x, y, z] in metres. x and z are the plan position. y is the height above the storey, not a world height. These two beams run along the two sides of a 6 by 4 metre bay, 2.85 metres above the storey. Each has a section of 0.2 by 0.4 metres.

Add them to the storey

A beam is an entry in the beams list of its storey. This batch adds the two beams in one step.
The add-element command rejects an id that the list has. One undo takes the two beams away.

Change a beam

Send replace-element with the full new beam. The id stays the same. This example makes a beam deeper.
In the plan editor and the 3D editor, the panel of a selected beam shows its shape, its size, its two ends, its material and its colour. Each change saves one replace-element. The panel shows the ends as world points and saves y above the storey.

Draw beams in the plan editor

startBeamDrawing lets the user draw beams with two clicks each. Each beam is one add-element and one undo step. The next beam starts where the last one ended. Escape or Enter ends the chain, and the promise gives the ids of the saved beams.
Every end is at axisHeight above the storey. A click snaps to a column center, then to a wall axis. Shift locks the axis, and Backspace removes the last point. A site plan has no storey, so it refuses the drawing.

Move, reshape and delete

A selected beam has these grips. One drag is one step. The 3D editor has the move and turn grips; the end grips are in the plan editor only. To move a beam in code, see Move or turn a beam. To delete a beam, select it and push the Delete key, or send remove-element with its id. One undo brings it back.

Sections

Rules

  • y of start and end is the height above the storey elevation. A beam moves with its storey.
  • The axis goes through the centre of the section. The two ends must be different points.
  • A section or an elevation draws every beam: rectangular, round, and custom with a convex or a non-convex outline, level or sloped. To cut a sloped round beam, or a level one at a slant, a section needs an OpenGeometry kernel that cuts a tilted cylinder. With an older kernel, that section stops with an error that names the beam.
  • A plan draws a beam in one of three states: cut by the plan cut, below it, or above it, dashed.
  • A beam is geometry. Floorkit does not calculate loads.

Next

Add a column

Put a column under each end.

Beam API

See each option of a beam.
Last modified on October 25, 2026