/// <summary> /// Create IFC file from XLS file /// </summary> /// <param name="parameters">Params</param> /// <returns>Created file name</returns> private string GenerateIFCFile(Params parameters) { string outputFile; LogBackground(String.Format("Reading {0}....", parameters.ModelFile)); COBieXLSDeserialiser deSerialiser = new COBieXLSDeserialiser(parameters.ModelFile); COBieWorkbook newbook = deSerialiser.Deserialise(); LogBackground("Creating xBim objects..."); Stopwatch timer = new Stopwatch(); timer.Start(); outputFile = Path.GetFileNameWithoutExtension(parameters.ModelFile) + "-COBieToIFC.ifc"; outputFile = Path.GetDirectoryName(parameters.ModelFile) + "\\" + outputFile; using (COBieXBimSerialiser xBimSerialiser = new COBieXBimSerialiser(outputFile, _worker.ReportProgress)) { xBimSerialiser.Serialise(newbook); timer.Stop(); LogBackground(String.Format("Time to generate XBim COBie data = {0} seconds", timer.Elapsed.TotalSeconds.ToString("F3"))); } LogBackground(String.Format("Finished {0} Generation", outputFile)); return outputFile; }
public void Should_XBimSerialise() { COBieWorkbook workBook; COBieContext context; COBieBuilder builder; COBieWorkbook book; COBieBinaryDeserialiser deserialiser = new COBieBinaryDeserialiser(DuplexBinaryFile); workBook = deserialiser.Deserialise(); using (COBieXBimSerialiser xBimSerialiser = new COBieXBimSerialiser(Path.ChangeExtension(DuplexBinaryFile, ".Ifc")))//Path.ChangeExtension(Path.GetFullPath(BinaryFile), ".Ifc") { xBimSerialiser.Serialise(workBook); context = new COBieContext(null); context.TemplateFileName = ExcelTemplateFile; context.Model = xBimSerialiser.Model; builder = new COBieBuilder(context); book = builder.Workbook; } // Assert Assert.AreEqual(19, book.Count); }