A browser-based tool for generating SOFiSTiK-compatible cross-section JSON, ready to paste into Grasshopper (Rhino) Python Script Components.
Live tool: mcldev.github.io/sofistik-section-builder
- Select a section type (solid or thin-wall) and shape
- Define dimensions as distances from the origin to each edge — Above / Below / Left / Right
- Snap the origin to any of 9 positions with the compass grid (↖ ↑ ↗ ← ⊕ → ↙ ↓ ↘)
- Preview the cross-section with dimension annotations, centroid marker, and origin indicator
- Copy the generated JSON directly to clipboard
| Type | Shapes |
|---|---|
| Solid | Rectangle, Solid Circle, Hollow Circle, T-Section, L-Angle |
| Thin-Wall | I-Beam, Box Girder, C-Channel, Z-Section |
| Option | Description |
|---|---|
| Unit | m, cm, mm, ft, in — applied to all coordinate output |
| Material ID | Top-level and per-element MaterialId |
| Edge distances | Above / Below / Left / Right from origin; total W = Left + Right, H = Above + Below |
| Origin presets | 3×3 compass grid snaps origin to any corner, edge midpoint, or centroid |
| Segment type | PLAT (plate) or WELD (weld seam) for thin-wall shapes |
| Stress points | Adds StressPoint entries at the four extreme fiber locations |
| Corner radius | R field on rectangle corner points |
Conforms to the SOFiSTiK section JSON schema. Includes:
Pointswith optional fillet radius (R) and stress points at extreme fibersLoopsfor solid sectionsCirclesfor circular sectionsThinWalledSegmentswith configurable segment type (PLAT/WELD)VariablesandVariableDescriptionsfor parametric use in Grasshopper
Open index.html directly in any modern browser — no install, no build step, no dependencies.
Configurations are saved to browser localStorage and recalled via the Saved ↗ slide-out drawer.