public MergeTests() { TaskParams = new MergeParams { OutputFileName = @"result.pdf" }; }
public void Program_ParseArgs_WithStructParam_OK() { MergeParams options = Program.ParseArgs(new string[] { "--struct", "struct.md.xml", "result.md", "text1.md", "text2.md", "text3.md" }); Assert.AreEqual("struct.md.xml", options.StructPath); Assert.AreEqual("result.md", options.ResultPath); CollectionAssert.AreEqual(new string[] { "text1.md", "text2.md", "text3.md" }, options.InputPaths); }
public ExecuteTaskResponse Process(MergeParams parameters) { if (parameters == null) { parameters = new MergeParams(); } return(base.Process(parameters)); }
/// <summary> /// Generate a COBieWorkbook from ifc/xbim/xls files /// </summary> /// <param name="parameters">MergeParams</param> /// <returns>COBieWorkbook</returns> private COBieWorkbook GetWorkBook(MergeParams parameters) { string mainFile = parameters.ModelFile; string mainExt = Path.GetExtension(mainFile).ToLower(); COBieWorkbook workBook = null; if (mainExt == ".xls") { COBieXLSDeserialiser deSerialiser = new COBieXLSDeserialiser(mainFile); workBook = deSerialiser.Deserialise(); } else if ((mainExt == ".ifc") || (mainExt == ".xbim")) { COBieBuilder builder = GenerateCOBieWorkBook(parameters); workBook = builder.Workbook; } return(workBook); }
/// <summary> /// Process the task /// </summary> /// <returns></returns> public ExecuteTaskResponse Process() { var parameters = new MergeParams(); return(base.Process(parameters)); }
/// <summary> /// Merge COBie data files /// </summary> /// <param name="parameters">MergeParams</param> /// <returns>Created file name</returns> private string MergeCOBieFiles(MergeParams parameters) { List <string> mergeList = new List <string>(); mergeList.AddRange(parameters.MergeItemsList); string outputFile = string.Empty; if (mergeList.Count > 0) { Stopwatch timer = new Stopwatch(); timer.Start(); string mainFile = mergeList.First(); mergeList.RemoveAt(0); if (!File.Exists(mainFile)) { LogBackground(String.Format("File {0} doesn't exist. cannot merge as main file not found", mainFile)); return(string.Empty); } outputFile = Path.GetFileNameWithoutExtension(mainFile) + "-COBieMergeToIFC.ifc"; outputFile = Path.GetDirectoryName(mainFile) + "\\" + outputFile; parameters.ModelFile = mainFile; using (COBieXBimSerialiser xBimSerialiser = new COBieXBimSerialiser(outputFile, _worker.ReportProgress)) { LogBackground(String.Format("Reading main file {0}....", Path.GetFileName(mainFile))); COBieWorkbook mainWorkBook = GetWorkBook(parameters); LogBackground(String.Format("Writing main file {0} to {1}....", Path.GetFileName(mainFile), Path.GetFileName(outputFile))); xBimSerialiser.Create(mainWorkBook); xBimSerialiser.MergeGeometryOnly = GeoOnlyChkBox.Checked; foreach (string mergeFile in mergeList) { if (File.Exists(mergeFile)) { string mergExt = Path.GetExtension(mergeFile).ToLower(); LogBackground(String.Format("Reading file to merge {0}....", Path.GetFileName(mergeFile))); parameters.ModelFile = mergeFile; COBieWorkbook mergeWorkBook = GetWorkBook(parameters); LogBackground(String.Format("Writing merge file {0} into {1}....", Path.GetFileName(mergeFile), Path.GetFileName(outputFile))); xBimSerialiser.Merge(mergeWorkBook); } else { LogBackground(String.Format("File {0} doesn't exist. skipping merge on this file", mergeFile)); } } timer.Stop(); LogBackground(String.Format("Time to generate XBim COBie data = {0} seconds", timer.Elapsed.TotalSeconds.ToString("F3"))); LogBackground(String.Format("Creating file {0}....", Path.GetFileName(outputFile))); xBimSerialiser.Save(); } LogBackground(String.Format("Finished Generating {0}", outputFile)); } return(outputFile); }
/// <summary> /// Generate a COBieWorkbook from ifc/xbim/xls files /// </summary> /// <param name="parameters">MergeParams</param> /// <returns>COBieWorkbook</returns> private COBieWorkbook GetWorkBook(MergeParams parameters) { string mainFile = parameters.ModelFile; string mainExt = Path.GetExtension(mainFile).ToLower(); COBieWorkbook workBook = null; if (mainExt == ".xls") { COBieXLSDeserialiser deSerialiser = new COBieXLSDeserialiser(mainFile); workBook = deSerialiser.Deserialise(); } else if ((mainExt == ".ifc") || (mainExt == ".xbim")) { COBieBuilder builder = GenerateCOBieWorkBook(parameters); workBook = builder.Workbook; } return workBook; }
/// <summary> /// Merge COBie data files /// </summary> /// <param name="parameters">MergeParams</param> /// <returns>Created file name</returns> private string MergeCOBieFiles(MergeParams parameters) { List<string> mergeList = new List<string>(); mergeList.AddRange(parameters.MergeItemsList); string outputFile = string.Empty; if (mergeList.Count > 0) { Stopwatch timer = new Stopwatch(); timer.Start(); string mainFile = mergeList.First(); mergeList.RemoveAt(0); if (!File.Exists(mainFile)) { LogBackground(String.Format("File {0} doesn't exist. cannot merge as main file not found", mainFile)); return string.Empty; } outputFile = Path.GetFileNameWithoutExtension(mainFile) + "-COBieMergeToIFC.ifc"; outputFile = Path.GetDirectoryName(mainFile) + "\\" + outputFile; parameters.ModelFile = mainFile; using (COBieXBimSerialiser xBimSerialiser = new COBieXBimSerialiser(outputFile, _worker.ReportProgress)) { LogBackground(String.Format("Reading main file {0}....", Path.GetFileName(mainFile))); COBieWorkbook mainWorkBook = GetWorkBook(parameters); LogBackground(String.Format("Writing main file {0} to {1}....", Path.GetFileName(mainFile), Path.GetFileName(outputFile))); xBimSerialiser.Create(mainWorkBook); xBimSerialiser.MergeGeometryOnly = GeoOnlyChkBox.Checked; foreach (string mergeFile in mergeList) { if (File.Exists(mergeFile)) { string mergExt = Path.GetExtension(mergeFile).ToLower(); LogBackground(String.Format("Reading file to merge {0}....", Path.GetFileName(mergeFile))); parameters.ModelFile = mergeFile; COBieWorkbook mergeWorkBook = GetWorkBook(parameters); LogBackground(String.Format("Writing merge file {0} into {1}....", Path.GetFileName(mergeFile), Path.GetFileName(outputFile))); xBimSerialiser.Merge(mergeWorkBook); } else { LogBackground(String.Format("File {0} doesn't exist. skipping merge on this file", mergeFile)); } } timer.Stop(); LogBackground(String.Format("Time to generate XBim COBie data = {0} seconds", timer.Elapsed.TotalSeconds.ToString("F3"))); LogBackground(String.Format("Creating file {0}....", Path.GetFileName(outputFile))); xBimSerialiser.Save(); } LogBackground(String.Format("Finished Generating {0}", outputFile)); } return outputFile; }