Skip to content

Import & export (JSON / DXF / DWG / SpaceGass / SAF / IFC)

Already have a model elsewhere, or need to hand one off? Studio imports a range of formats from File ▸ Import (the I shortcut) - the right one is detected from the file - and exports to the same formats from File ▸ Export… (the E shortcut). Everything runs locally in your browser - no upload.

JSON (a Studio model)

The native format. Export JSON writes the full model - geometry, sections, loads, design inputs and the report title block; Import reads it straight back, so it round-trips exactly. This is the format to use for saving and re-opening your own work.

DXF (CAD geometry)

Bring a frame in from AutoCAD / Revit / LibreCAD. Studio reads LINE, 3DLINE and LWPOLYLINE entities as members, and 3DFACE quads as plate elements, and is $INSUNITS-aware (mm, cm, m, inch, foot - so a drawing in mm doesn't import 1000× too big). Each segment becomes a member, with endpoints merged into shared nodes.

You get geometry only - assign supports, loads and real sections, then solve. Any entity that can't be turned into a member (arcs, splines, blocks, old-style polylines) is counted and reported rather than silently dropped. Imported plates default to 10 mm - set the real thickness in the plate inspector.

Imported on its side?

CAD files vary in their up-axis convention (Studio is Y-up). If a model imports rotated, use View → Swap Y/Z axes for a one-click fix (undoable) - it swaps the whole model's Y and Z, including any loads and supports.

DWG (native)

Import a binary .dwg file directly - no conversion needed. A 2D drafting DWG (lines, polylines) comes in the same way as DXF above: geometry only, one member per segment.

A 3D-solid DWG (extruded members modelled as AutoCAD solids) is handled differently: Studio tessellates the solids for display and, where it can, also infers an analysis frame from them - a member (with a custom section taken from the solid's own cross-section) for each solid, plus fixed supports where a solid meets the ground. When no frame can be inferred, you still get the tessellated solids as a non-structural visual reference.

The tessellated mesh is display-only, not part of the model

Either way, the solids themselves are shown as a translucent mesh - a display underlay, not FE members, nodes or plates. The status bar's Mesh figure (triangle count, shown only while a DWG/OBJ import has this display geometry) is a count of that CAD tessellation, separate from the Members / Nodes / Plates counts. Don't read a non-zero Mesh count as structural content - check the Members/Nodes counts for what will actually solve.

SpaceGass (.SG)

Open a SpaceGass model directly. Studio decodes the .SG container and imports nodes, members, named sections (matched to the catalogue for real A/I/Z), supports, nodal + member/distributed loads, plates, and the load cases + factored combinations. The import log reports what came in (and how many section profiles matched the catalogue).

Notes:

  • Members that reference a missing node are skipped (and reported in the log).
  • Section names are matched to the catalogue (e.g. 460 UB 67.1460UB67.1) for exact properties; unmatched profiles keep their name and need a section assigned before design.
  • SpaceGass and Studio both use Y as the vertical axis, so coordinates carry over directly. If a model ever imports rotated, that is the first thing to check.

SpaceGass text file (.txt)

The human-readable SPACE GASS Text File (v12xx) that SpaceGass exports - distinct from the binary .SG archive above. It is a complete model exchange: geometry, named sections (catalogue-matched), materials, supports, member loads, and the load cases + factored combinations. Import via File ▸ Import (the format is detected from the file header); export via File ▸ Export SpaceGass (.txt).

Notes:

  • The format carries member line-loads only. Area / panel loads are resolved onto the members by the exporter, so a model with slab pressures still round-trips with equivalent member loads.
  • To see every case at once, pick the All load cases entry in the load-case selector - it overlays all cases' loads in the 3D view.
  • SpaceGass is Z-up and Studio is Y-up, so coordinates (and the restraint / release bits) are remapped on the way in, exactly as the DXF and .SG imports do.

SAF (.xlsx)

SAF (Structural Analysis Format) is the open, Excel-based analytical exchange from SCIA / Nemetschek - read natively by SCIA Engineer, Archicad, Allplan and RISA. A SAF file is a plain .xlsx workbook with one sheet per object type. Studio maps StructuralPointConnection (nodes), CurveMember (members), CrossSection, Material, the support sheet, and the load actions / cases / combinations. Import any SAF .xlsx via File ▸ Import; export via File ▸ Export SAF (.xlsx).

Notes:

  • Same content set as the SpaceGass text export (geometry, sections, materials, supports, point + line loads, load cases + combinations), written Z-up.
  • The .xlsx is zipped in your browser - no upload, no spreadsheet app needed.
  • Real-file validation against an official SAF sample is still pending, so check a round-trip before relying on it for a critical exchange.

IFC (OpenBIM)

Import an IFC file - the open BIM interchange standard, so this works with models exported from Revit, ArchiCAD, Tekla, FreeCAD and Blender (Bonsai), not one vendor. Studio reads the structural frame: IfcBeam / IfcColumn / IfcMember centrelines (resolved through the placement chain and scaled by the file's length unit - Revit usually exports millimetres), their section profiles → sections (catalogue-matched where the profile name is known, otherwise parametric A/I from the profile dimensions), and the member names the BIM author gave them (shown in the model tree).

Notes:

  • This is a geometry import - add supports and loads before solving. Slabs, walls and other non-frame BIM objects are ignored (counted in the log).
  • A cranked / multi-segment member axis imports as several members sharing the kink nodes.
  • Importing the IFC structural-analysis model (with supports and loads built in) is on the roadmap.

TIP

After any geometry import the model has no supports or loads, so the status-bar Model chip will flag the missing pieces. Add them, then Solve.

Import connections (IFC)

File ▸ Import connections (IFC) brings engineer-specified steel connections in from an IFC file and marks them as designed (rather than auto-generated), so a joint detailed in your BIM tool carries through to the connection schedule. Use it when the connections were authored elsewhere; otherwise let Studio auto-design them. Connections are an actively maturing area - check the imported joints before relying on them.

Exporting (File ▸ Export…)

File ▸ Export… (the E shortcut) opens one dialog with every output format. Pick one:

FormatWhat you getUse it for
JSONThe CivilKit native model - geometry, sections, loads, design inputs, title blockSaving / re-opening, sharing the exact model, version control
DXFCAD wireframe (members + nodes on layers)Drafting in AutoCAD / any CAD tool
DWGNative AutoCAD wireframe (falls back to DXF where unsupported)CAD workflows that need .dwg
IFC - structuralOpenBIM: members as IfcBeam / IfcColumn with real section profilesRound-tripping to Revit / Tekla / ArchiCAD
IFC - all elementsThe above plus imported slab / wall / footing context (IfcSlab / IfcWall)A fuller BIM hand-off (shown when the model carries that context)
Connections (IFC)The connections + fabrication take-offHanding joints to estimators / detailers
SpaceGass (.txt)A SpaceGass structural text modelMoving the model into SpaceGass
SAF (.xlsx)The Nemetschek Structural Analysis Format spreadsheetSCIA / Allplan / Archicad / RISA

Round-trip

JSON is the only loss-free round-trip (it preserves design inputs + the title block). The CAD and BIM formats carry geometry (and, for IFC, sections) - re-importing them rebuilds the frame, not your loads or design settings.