Appearance
Getting started
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.htmlYour first analysis
- Pick a model from the gallery dropdown (e.g. Steel portal), or New model from the File menu.
- Choose an analysis type in the selector next to Solve (default Linear static).
- Solve (
S). Results populate the bottom panel and the deformed shape + contour appear. - 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 continuous beam or gable portal frame with real catalogue sections, ready to solve. 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
| Key | Action |
|---|---|
S | Solve |
1–4 | Iso / Top / Front / Side views · F Fit |
O / P / D | Toggle nodes / supports / loads |
X / A | Isolate selection / Show all |
L | Toggle labels · B Light background |
[ ] \ | Toggle the left / right / bottom panels |
? | Keyboard shortcuts |
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.