public static TimeSpan SerializeToGWA() { var sw = new Stopwatch(); ModelDocument doc = new ModelDocument(); doc.Model.Create.LinearElement(new Line(0, 0, 10, 0)); doc.Model.Create.LinearElement(new Line(0, 10, 10, 0)); doc.Model.Create.LinearElement(new Line(0, 0, -10, 0)); doc.Model.GenerateNodes(new NodeGenerationParameters()); doc.Model.Add(new LinearElementSet(doc.Model.Elements)); doc.Model.Add(new NodeSet(doc.Model.Nodes)); var format = new GWAFormat(); Core.Print(format.ToString()); format.Save("C:\\TEMP\\GWAFormat.txt"); var context = new GWAContext(); var serialiser = new ModelDocumentTextSerialiser(format, context); sw.Start(); Core.Print(serialiser.Serialize(doc)); sw.Stop(); Core.Print(context.IDMap.ToCSV()); return(sw.Elapsed); }
public override bool Execute(ExecutionInfo exInfo = null) { Result = false; if (FilePath.IsValid && Write) { Print("Writing GWA File... "); Document.Model.GenerateNodes(new NodeGenerationParameters(false)); var serialiser = new ModelDocumentTextSerialiser(new GWAFormat(), new GWAContext()); serialiser.CustomHeader = "! This file was originally written by Salamander 3 on " + DateTime.Now; Result = Document.SaveAs(FilePath, serialiser); if (Result) { PrintLine("File saved to '" + FilePath + "'."); } else { PrintLine("Writing failed!"); } } return(true); }