Skip to main content

Serialization

Armatura persists projects in a folder ending with .armatura.

Expected layout

MyProject.armatura/
project.json
models/
Frame_A.json
Roof_B.json
results/
Frame_A_G.json
Frame_A_W_+X.json

Save and load

project.Save("./MyProject.armatura");
project.SaveAs("./MyProject_Copy.armatura");

var loaded = ArmaturaProject.Load("./MyProject.armatura");

Save a single model

model.Save() works only after project path is known (project was saved/loaded):

project.Save("./MyProject.armatura");
model.Save();

Result file management

ProjectSerializer.SaveResult("./MyProject.armatura", model.Name, loadCase.Name, analysisResult);
ProjectSerializer.ClearResults("./MyProject.armatura");
ProjectSerializer.RemoveModel(project, "Frame A", "./MyProject.armatura");

Behavior notes

  • JSON uses camelCase + indentation.
  • Model/result filenames are sanitized.
  • Loaded results are linked back to model/scenario names.
  • Result staleness is tracked in project.json via timestamps.