Skip to content

Getting started

The CivilKit Studio workspace, with a sample model loaded

Open the Studio

Serve the repo over HTTP (the importmap + vendored modules need real HTTP, not file://) and open the Studio:

bash
# from the repo root
python3 -m http.server 8800
# then open:
#   http://localhost:8800/web_demo/studio/index.html

Your first analysis

  1. Pick a model from the gallery dropdown (e.g. Steel portal), or New model from the File menu.
  2. Choose an analysis type in the selector next to Solve (default Linear static).
  3. Solve (S). Results populate the bottom panel and the deformed shape + contour appear.
  4. Inspect: click a member or node (in the viewport, the model tree, or a results row) to see its properties - and, for a member, its N/V/M diagrams.

Start a model

You rarely start from a blank canvas. The fastest paths are:

  • Generate a structure - File → Generate structure builds a parametric structure with real catalogue sections, ready to solve: a continuous beam, portal frame, truss, building frame, floor grid, arch, lattice tower or dome. See Structure templates.
  • Open a gallery model and edit it.
  • New model and build it up: add nodes and members, assign sections & materials, set supports, and apply loads per load case.

Orientation matters

A horizontal I-beam under gravity must be web-vertical to use its strong axis. Set the member's β angle to 90° for a floor beam, or the deflection will be many times too large. This is the most common modelling mistake - see Member orientation.

Pre-solve sanity check

When you solve, Studio first runs a non-blocking sanity check and surfaces common modelling mistakes in the log (and a toast) with a plain-English reason - before running:

  • no supports (a rigid-body mechanism that will not solve);
  • members referencing a missing node / section / material;
  • zero-length members (coincident end nodes);
  • sections with zero / negative area or no second moment of area;
  • nodes connected to nothing (orphans);
  • no loads (the analysis would return zero).

It explains, it does not gatekeep - so you still get the "why won't my model solve?" answer up front.

Handy keys

KeyAction
SSolve
14Iso / Top / Front / Side views  ·  F Fit
O / P / DToggle nodes / supports / loads
X / AIsolate selection / Show all
L / GToggle labels / dimensions  ·  B Light background
[ ] \Toggle the left / right / bottom panels
Ctrl/⌘ KCommand palette (any action, or jump to a node/member id)
?Keyboard shortcuts

Selecting elements

  • Click a member, node or plate to select it (it frames in the 3D view and opens in the inspector). Click empty space to deselect.

  • Shift / Ctrl-click adds to a multi-selection. A floating bulk-action bar appears so you can change the section, set end fixity, add a UDL, isolate or delete the whole set at once. The Section dropdown's + Catalogue… entry assigns a steel profile straight from the catalogue to every selected member.

  • The Select button (top-left of the viewport) opens the region-select tools:

    • Box select - drag a rectangle; everything inside is selected.
    • Lasso - drag a freehand outline for irregular groups.
    • Front only (on by default) - skips elements hidden behind nearer geometry, so a box/lasso over a 3D frame grabs the near face, not the frame behind it. Turn it off to select through the whole depth.

    Orbit is disabled while a region mode is on (the drag draws the shape); Shift adds to the current set, and Esc exits the mode.

  • Every selection tool is also in the command palette (Ctrl/Cmd K) - type "box", "lasso" or "front", or a node/member id (e.g. m12) to jump straight to it.

Measure distances

View → Measure distance, then click two nodes to read the straight-line distance between them plus the X/Y/Z components, shown in the status bar with a marked line in the 3D view. Keep clicking to measure node-to-node along a path; press Esc to exit. It's a read-only check - it never changes the model.

Command palette

Press Ctrl/Cmd + K to open the command palette: type to fuzzy-find any action - Solve, Auto-size, Load combinations, Save image, Measure, camera views, panel toggles - and press Enter to run it. The fastest way to reach anything without hunting through menus.

Language

Settings ▸ Language switches the interface language. The whole UI - including the full inspectors - is localised through a locale framework, with English (base) plus Spanish, Thai and Dutch; any untranslated string falls back to English. Your choice is saved in the browser and applied on every visit. Engineering symbols and units stay language-neutral.