internal void Export(Canguro.Model.Model m, string filePath)
{
String xmlfile = filePath.Substring(0, filePath.Length - 3) + "xml";
tmpxml = new XmlTextWriter(xmlfile, null);
Canguro.Model.UnitSystem.UnitSystem uSystem = m.UnitSystem;
m.UnitSystem = Canguro.Model.UnitSystem.InternationalSystem.Instance;
try {
tmpxml.Formatting = Formatting.Indented;
tmpxml.Indentation = 4;
tmpxml.Namespaces = false;
tmpxml.WriteStartDocument();
tmpxml.WriteComment("XML file generated by CanguroTeam");
tmpxml.WriteComment(DateTime.Now.ToString());
// node added for validation
tmpxml.WriteStartElement("XmlExportedFile");
// writing fix values for nodes
writeFixedNode(tmpxml);
//writing nodes for Joints
writeNode(tmpxml, m.JointList);
//writing nodes for Lines
writeNode(tmpxml, m.LineList);
//writing xml nodes for Materials
writeNode(tmpxml);
//writing xml nodes for Abstract cases
writeNode(tmpxml, m);
//writing xml nodes for Load cases
writeNode(tmpxml, m.LoadCases);
//writing xml nodes for concrete material
writeConcreteNode(tmpxml, m.ConcreteDesignOptions);
//writing xml nodes for steel material
writeSteelNode(tmpxml, m.SteelDesignOptions);
//writing xml nodes for frame design
writeFrameDesignNode(tmpxml, m);
//writing nodes for spectrum analysis
writeNode(tmpxml, m.ResponseSpectra, m.AbstractCases);
tmpxml.WriteEndElement();
tmpxml.Flush();
} catch(Exception e) {
System.Windows.Forms.MessageBox.Show(Culture.Get("XmlError"), Culture.Get("error"),
System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
throw;
} finally {
if (tmpxml != null) {
tmpxml.Close();
m.UnitSystem = uSystem;
}
}
}