From 86d49e830a9a28e7f1208c08d0277731fdeb292d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A5l=20N=C3=B8dseth?=
Date: Fri, 5 May 2023 09:53:53 +0200
Subject: [PATCH 1/7] fix surface units
---
CadRevealComposer/CadRevealComposer.csproj | 2 +
CadRevealComposer/CadRevealComposerRunner.cs | 31 ++++++
CadRevealComposer/SurfaceUnits/SurfaceUnit.cs | 18 ++++
.../SurfaceUnits/SurfaceUnitMetaDataWriter.cs | 99 +++++++++++++++++++
4 files changed, 150 insertions(+)
create mode 100644 CadRevealComposer/SurfaceUnits/SurfaceUnit.cs
create mode 100644 CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs
diff --git a/CadRevealComposer/CadRevealComposer.csproj b/CadRevealComposer/CadRevealComposer.csproj
index 9545d873..89cd8cb3 100644
--- a/CadRevealComposer/CadRevealComposer.csproj
+++ b/CadRevealComposer/CadRevealComposer.csproj
@@ -8,10 +8,12 @@
+
+
diff --git a/CadRevealComposer/CadRevealComposerRunner.cs b/CadRevealComposer/CadRevealComposerRunner.cs
index 9a405319..2350b997 100644
--- a/CadRevealComposer/CadRevealComposerRunner.cs
+++ b/CadRevealComposer/CadRevealComposerRunner.cs
@@ -7,12 +7,15 @@
using Operations;
using Operations.SectorSplitting;
using Primitives;
+using RvmSharp.Primitives;
+using SurfaceUnits;
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Diagnostics;
using System.IO;
using System.Linq;
+using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using Tessellation;
@@ -51,6 +54,34 @@ IReadOnlyList modelFormatProviders
if (cadRevealNodes.Count > 0)
{
+ // Adding Surface Unit Volume Attributes for Sleipner T
+ var regex = new Regex(@"^\/\d+[A-Z]\d+$");
+ foreach (CadRevealNode cadRevealNode in cadRevealNodes)
+ {
+ if (cadRevealNode.Parent?.Name.Contains("/A00-AREA") == true)
+ {
+
+ if (regex.IsMatch(cadRevealNode.Name))
+ {
+ cadRevealNode.Attributes.Add("SurfaceUnitVolume", "true");
+ cadRevealNode.Attributes.Add(cadRevealNode.Name.TrimStart('/'), "true");
+ }
+ }
+
+ }
+
+ // Add Surface Unit Metadata
+ List fileNames = new() { "SLT_surface_units.csv" };
+
+ fileNames.ForEach(fileName =>
+ {
+ var filePath = Path.Combine(inputFolderPath.FullName, fileName);
+ if (File.Exists(filePath))
+ {
+ SurfaceUnitMetaDataWriter.AddMetaData(cadRevealNodes, filePath);
+ }
+ });
+
// collect all nodes for later sector division of the entire scene
nodesToProcess.AddRange(cadRevealNodes);
diff --git a/CadRevealComposer/SurfaceUnits/SurfaceUnit.cs b/CadRevealComposer/SurfaceUnits/SurfaceUnit.cs
new file mode 100644
index 00000000..e79ba3ec
--- /dev/null
+++ b/CadRevealComposer/SurfaceUnits/SurfaceUnit.cs
@@ -0,0 +1,18 @@
+namespace CadRevealComposer.SurfaceUnits;
+
+using CsvHelper.Configuration.Attributes;
+
+public class SurfaceUnit
+{
+ [Name("Surface Unit 1")] public string SurfaceUnit1 { get; set; } = null!;
+ [Name("Surface Unit 2")] public string SurfaceUnit2 { get; set; } = null!;
+ [Name("Surface Unit 3")] public string SurfaceUnit3 { get; set; } = null!;
+ [Name("Surface Unit 4"), Optional] public string SurfaceUnit4 { get; set; } = null!;
+ [Name("Surface Unit 5"), Optional] public string SurfaceUnit5 { get; set; } = null!;
+ [Name("Surface Unit 6"), Optional] public string SurfaceUnit6 { get; set; } = null!;
+ [Name("Surface Unit 7"), Optional] public string SurfaceUnit7 { get; set; } = null!;
+ [Name("Surface Unit 8"), Optional] public string SurfaceUnit8 { get; set; } = null!;
+ [Name("Surface Unit 9"), Optional] public string SurfaceUnit9 { get; set; } = null!;
+ [Name("Surface Unit 10"), Optional] public string SurfaceUnit10 { get; set; } = null!;
+ [Name("E3D Reference")] public string E3DReference { get; set; } = null!;
+}
diff --git a/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs b/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs
new file mode 100644
index 00000000..d33c3506
--- /dev/null
+++ b/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs
@@ -0,0 +1,99 @@
+namespace CadRevealComposer.SurfaceUnits;
+
+using Utils;
+using CsvHelper;
+using CsvHelper.Configuration;
+using RvmSharp.Primitives;
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.IO;
+using System.Linq;
+
+public static class SurfaceUnitMetaDataWriter
+{
+ public static void AddMetaData(IEnumerable allNodes, string filePath)
+ {
+ var rvmNodes = allNodes
+ .Where(n => n.Attributes.ContainsKey("RefNo")).ToDictionary((k) => k.Attributes["RefNo"], (v) => v);
+
+
+ var config = new CsvConfiguration(CultureInfo.InvariantCulture) { Delimiter = ";", };
+ using var reader = new StreamReader(filePath);
+ using var csv = new CsvReader(reader, config);
+ var records = csv.GetRecords().ToList();
+
+ Console.WriteLine("Found " + rvmNodes.Count + " nodes with RefNo attribute.");
+ Console.WriteLine("Found " + records.Count + " records in file.");
+ int count = 0;
+
+ Console.WriteLine("Adding Surface Unit Metadata to nodes from file " + filePath);
+ foreach (var record in records)
+ {
+ try
+ {
+ var node = rvmNodes.TryGetValue(record.E3DReference, out var nodeValue) ? nodeValue : null;
+ if (node == null)
+ {
+ continue;
+ }
+
+ node.Attributes.Add("SurfaceUnit", record.SurfaceUnit1);
+ node.Attributes.Add($"SU-{record.SurfaceUnit1}", "true");
+
+ if (!String.IsNullOrEmpty(record.SurfaceUnit2))
+ {
+ node.Attributes.Add($"SU-{record.SurfaceUnit2}", "true");
+ }
+
+ if (!String.IsNullOrEmpty(record.SurfaceUnit3))
+ {
+ node.Attributes.Add($"SU-{record.SurfaceUnit3}", "true");
+ }
+
+ if (!String.IsNullOrEmpty(record.SurfaceUnit4))
+ {
+ node.Attributes.Add($"SU-{record.SurfaceUnit4}", "true");
+ }
+
+ if (!String.IsNullOrEmpty(record.SurfaceUnit5))
+ {
+ node.Attributes.Add($"SU-{record.SurfaceUnit5}", "true");
+ }
+
+ if (!String.IsNullOrEmpty(record.SurfaceUnit6))
+ {
+ node.Attributes.Add($"SU-{record.SurfaceUnit6}", "true");
+ }
+
+ if (!String.IsNullOrEmpty(record.SurfaceUnit7))
+ {
+ node.Attributes.Add($"SU-{record.SurfaceUnit7}", "true");
+ }
+
+ if (!String.IsNullOrEmpty(record.SurfaceUnit8))
+ {
+ node.Attributes.Add($"SU-{record.SurfaceUnit8}", "true");
+ }
+
+ if (!String.IsNullOrEmpty(record.SurfaceUnit9))
+ {
+ node.Attributes.Add($"SU-{record.SurfaceUnit9}", "true");
+ }
+
+ if (!String.IsNullOrEmpty(record.SurfaceUnit10))
+ {
+ node.Attributes.Add($"SU-{record.SurfaceUnit10}", "true");
+ }
+
+ count++;
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine("Error adding metadata to node " + record.E3DReference + ": " + e.Message);
+ }
+ }
+
+ Console.WriteLine("Added Surface Unit Metadata to {0} nodes.", count);
+ }
+}
\ No newline at end of file
From 91b123dfcb94e0d13b8042e93c8168a39079b48a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A5l=20N=C3=B8dseth?=
Date: Fri, 5 May 2023 10:05:05 +0200
Subject: [PATCH 2/7] formatting
---
CadRevealComposer/CadRevealComposerRunner.cs | 1 -
CadRevealComposer/SurfaceUnits/SurfaceUnit.cs | 33 ++++++++++++-------
.../SurfaceUnits/SurfaceUnitMetaDataWriter.cs | 2 +-
3 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/CadRevealComposer/CadRevealComposerRunner.cs b/CadRevealComposer/CadRevealComposerRunner.cs
index 2350b997..050291e4 100644
--- a/CadRevealComposer/CadRevealComposerRunner.cs
+++ b/CadRevealComposer/CadRevealComposerRunner.cs
@@ -60,7 +60,6 @@ IReadOnlyList modelFormatProviders
{
if (cadRevealNode.Parent?.Name.Contains("/A00-AREA") == true)
{
-
if (regex.IsMatch(cadRevealNode.Name))
{
cadRevealNode.Attributes.Add("SurfaceUnitVolume", "true");
diff --git a/CadRevealComposer/SurfaceUnits/SurfaceUnit.cs b/CadRevealComposer/SurfaceUnits/SurfaceUnit.cs
index e79ba3ec..d8414a0d 100644
--- a/CadRevealComposer/SurfaceUnits/SurfaceUnit.cs
+++ b/CadRevealComposer/SurfaceUnits/SurfaceUnit.cs
@@ -4,15 +4,26 @@ namespace CadRevealComposer.SurfaceUnits;
public class SurfaceUnit
{
- [Name("Surface Unit 1")] public string SurfaceUnit1 { get; set; } = null!;
- [Name("Surface Unit 2")] public string SurfaceUnit2 { get; set; } = null!;
- [Name("Surface Unit 3")] public string SurfaceUnit3 { get; set; } = null!;
- [Name("Surface Unit 4"), Optional] public string SurfaceUnit4 { get; set; } = null!;
- [Name("Surface Unit 5"), Optional] public string SurfaceUnit5 { get; set; } = null!;
- [Name("Surface Unit 6"), Optional] public string SurfaceUnit6 { get; set; } = null!;
- [Name("Surface Unit 7"), Optional] public string SurfaceUnit7 { get; set; } = null!;
- [Name("Surface Unit 8"), Optional] public string SurfaceUnit8 { get; set; } = null!;
- [Name("Surface Unit 9"), Optional] public string SurfaceUnit9 { get; set; } = null!;
- [Name("Surface Unit 10"), Optional] public string SurfaceUnit10 { get; set; } = null!;
- [Name("E3D Reference")] public string E3DReference { get; set; } = null!;
+ [Name("Surface Unit 1")]
+ public string SurfaceUnit1 { get; set; } = null!;
+ [Name("Surface Unit 2")]
+ public string SurfaceUnit2 { get; set; } = null!;
+ [Name("Surface Unit 3")]
+ public string SurfaceUnit3 { get; set; } = null!;
+ [Name("Surface Unit 4"), Optional]
+ public string SurfaceUnit4 { get; set; } = null!;
+ [Name("Surface Unit 5"), Optional]
+ public string SurfaceUnit5 { get; set; } = null!;
+ [Name("Surface Unit 6"), Optional]
+ public string SurfaceUnit6 { get; set; } = null!;
+ [Name("Surface Unit 7"), Optional]
+ public string SurfaceUnit7 { get; set; } = null!;
+ [Name("Surface Unit 8"), Optional]
+ public string SurfaceUnit8 { get; set; } = null!;
+ [Name("Surface Unit 9"), Optional]
+ public string SurfaceUnit9 { get; set; } = null!;
+ [Name("Surface Unit 10"), Optional]
+ public string SurfaceUnit10 { get; set; } = null!;
+ [Name("E3D Reference")]
+ public string E3DReference { get; set; } = null!;
}
diff --git a/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs b/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs
index d33c3506..bb012979 100644
--- a/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs
+++ b/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs
@@ -96,4 +96,4 @@ public static void AddMetaData(IEnumerable allNodes, string fileP
Console.WriteLine("Added Surface Unit Metadata to {0} nodes.", count);
}
-}
\ No newline at end of file
+}
From 45e922801a1de2092082c102a21cba1949dabb70 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A5l=20N=C3=B8dseth?=
Date: Fri, 5 May 2023 13:54:57 +0200
Subject: [PATCH 3/7] Reformat with csharpier
---
CadRevealComposer/CadRevealComposerRunner.cs | 3 +-
CadRevealComposer/SurfaceUnits/SurfaceUnit.cs | 32 ++++++++++++-------
.../SurfaceUnits/SurfaceUnitMetaDataWriter.cs | 4 +--
3 files changed, 24 insertions(+), 15 deletions(-)
diff --git a/CadRevealComposer/CadRevealComposerRunner.cs b/CadRevealComposer/CadRevealComposerRunner.cs
index 050291e4..d0475684 100644
--- a/CadRevealComposer/CadRevealComposerRunner.cs
+++ b/CadRevealComposer/CadRevealComposerRunner.cs
@@ -66,7 +66,6 @@ IReadOnlyList modelFormatProviders
cadRevealNode.Attributes.Add(cadRevealNode.Name.TrimStart('/'), "true");
}
}
-
}
// Add Surface Unit Metadata
@@ -80,7 +79,7 @@ IReadOnlyList modelFormatProviders
SurfaceUnitMetaDataWriter.AddMetaData(cadRevealNodes, filePath);
}
});
-
+
// collect all nodes for later sector division of the entire scene
nodesToProcess.AddRange(cadRevealNodes);
diff --git a/CadRevealComposer/SurfaceUnits/SurfaceUnit.cs b/CadRevealComposer/SurfaceUnits/SurfaceUnit.cs
index d8414a0d..0c0088cd 100644
--- a/CadRevealComposer/SurfaceUnits/SurfaceUnit.cs
+++ b/CadRevealComposer/SurfaceUnits/SurfaceUnit.cs
@@ -4,26 +4,36 @@ namespace CadRevealComposer.SurfaceUnits;
public class SurfaceUnit
{
- [Name("Surface Unit 1")]
+ [Name("Surface Unit 1")]
public string SurfaceUnit1 { get; set; } = null!;
- [Name("Surface Unit 2")]
+
+ [Name("Surface Unit 2")]
public string SurfaceUnit2 { get; set; } = null!;
- [Name("Surface Unit 3")]
+
+ [Name("Surface Unit 3")]
public string SurfaceUnit3 { get; set; } = null!;
- [Name("Surface Unit 4"), Optional]
+
+ [Name("Surface Unit 4"), Optional]
public string SurfaceUnit4 { get; set; } = null!;
- [Name("Surface Unit 5"), Optional]
+
+ [Name("Surface Unit 5"), Optional]
public string SurfaceUnit5 { get; set; } = null!;
- [Name("Surface Unit 6"), Optional]
+
+ [Name("Surface Unit 6"), Optional]
public string SurfaceUnit6 { get; set; } = null!;
- [Name("Surface Unit 7"), Optional]
+
+ [Name("Surface Unit 7"), Optional]
public string SurfaceUnit7 { get; set; } = null!;
- [Name("Surface Unit 8"), Optional]
+
+ [Name("Surface Unit 8"), Optional]
public string SurfaceUnit8 { get; set; } = null!;
- [Name("Surface Unit 9"), Optional]
+
+ [Name("Surface Unit 9"), Optional]
public string SurfaceUnit9 { get; set; } = null!;
- [Name("Surface Unit 10"), Optional]
+
+ [Name("Surface Unit 10"), Optional]
public string SurfaceUnit10 { get; set; } = null!;
- [Name("E3D Reference")]
+
+ [Name("E3D Reference")]
public string E3DReference { get; set; } = null!;
}
diff --git a/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs b/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs
index bb012979..b1a259e3 100644
--- a/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs
+++ b/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs
@@ -15,8 +15,8 @@ public static class SurfaceUnitMetaDataWriter
public static void AddMetaData(IEnumerable allNodes, string filePath)
{
var rvmNodes = allNodes
- .Where(n => n.Attributes.ContainsKey("RefNo")).ToDictionary((k) => k.Attributes["RefNo"], (v) => v);
-
+ .Where(n => n.Attributes.ContainsKey("RefNo"))
+ .ToDictionary((k) => k.Attributes["RefNo"], (v) => v);
var config = new CsvConfiguration(CultureInfo.InvariantCulture) { Delimiter = ";", };
using var reader = new StreamReader(filePath);
From 133f533333d0d1c11cf4f1f94bc4a8b34f5f12c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Benjamin=20Kj=C3=B8pstad=20Kofoed?=
Date: Wed, 31 Jan 2024 15:09:58 +0100
Subject: [PATCH 4/7] Remove duplicate code
---
CadRevealComposer/CadRevealComposerRunner.cs | 61 +++++++++-----------
1 file changed, 27 insertions(+), 34 deletions(-)
diff --git a/CadRevealComposer/CadRevealComposerRunner.cs b/CadRevealComposer/CadRevealComposerRunner.cs
index c5f68401..36332875 100644
--- a/CadRevealComposer/CadRevealComposerRunner.cs
+++ b/CadRevealComposer/CadRevealComposerRunner.cs
@@ -87,47 +87,40 @@ IReadOnlyList modelFormatProviders
// collect all nodes for later sector division of the entire scene
nodesToExport.AddRange(cadRevealNodes);
// Adding Surface Unit Volume Attributes for Sleipner T
- var regex = new Regex(@"^\/\d+[A-Z]\d+$");
- foreach (CadRevealNode cadRevealNode in cadRevealNodes)
+ var regex = new Regex(@"^\/\d+[A-Z]\d+$");
+ foreach (CadRevealNode cadRevealNode in cadRevealNodes)
+ {
+ if (cadRevealNode.Parent?.Name.Contains("/A00-AREA") == true)
{
- if (cadRevealNode.Parent?.Name.Contains("/A00-AREA") == true)
+ if (regex.IsMatch(cadRevealNode.Name))
{
- if (regex.IsMatch(cadRevealNode.Name))
- {
- cadRevealNode.Attributes.Add("SurfaceUnitVolume", "true");
- cadRevealNode.Attributes.Add(cadRevealNode.Name.TrimStart('/'), "true");
- }
+ cadRevealNode.Attributes.Add("SurfaceUnitVolume", "true");
+ cadRevealNode.Attributes.Add(cadRevealNode.Name.TrimStart('/'), "true");
}
}
+ }
- // Add Surface Unit Metadata
- List fileNames = new() { "SLT_surface_units.csv" };
+ // Add Surface Unit Metadata
+ List fileNames = new() { "SLT_surface_units.csv" };
- fileNames.ForEach(fileName =>
+ fileNames.ForEach(fileName =>
+ {
+ var filePath = Path.Combine(inputFolderPath.FullName, fileName);
+ if (File.Exists(filePath))
{
- var filePath = Path.Combine(inputFolderPath.FullName, fileName);
- if (File.Exists(filePath))
- {
- SurfaceUnitMetaDataWriter.AddMetaData(cadRevealNodes, filePath);
- }
- });
-
- // collect all nodes for later sector division of the entire scene
- nodesToExport.AddRange(cadRevealNodes);
-
- var inputGeometries = cadRevealNodes
- .AsParallel()
- .AsOrdered()
- .SelectMany(x => x.Geometries)
- .ToArray();
-
- var geometriesIncludingMeshes = modelFormatProvider.ProcessGeometries(
- inputGeometries,
- composerParameters,
- modelParameters,
- instanceIdGenerator
- );
- geometriesToProcess.AddRange(geometriesIncludingMeshes);
+ SurfaceUnitMetaDataWriter.AddMetaData(cadRevealNodes, filePath);
+ }
+ });
+
+ var inputGeometries = cadRevealNodes.AsParallel().AsOrdered().SelectMany(x => x.Geometries).ToArray();
+
+ var geometriesIncludingMeshes = modelFormatProvider.ProcessGeometries(
+ inputGeometries,
+ composerParameters,
+ modelParameters,
+ instanceIdGenerator
+ );
+ geometriesToProcess.AddRange(geometriesIncludingMeshes);
}
// If there is no metadata for this model, the json will be empty
From afcef1f67250a68027059a1e1e3396ef4130ab6d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A5l=20N=C3=B8dseth?=
Date: Mon, 11 Mar 2024 09:27:08 +0100
Subject: [PATCH 5/7] change csv name
---
CadRevealComposer/CadRevealComposerRunner.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CadRevealComposer/CadRevealComposerRunner.cs b/CadRevealComposer/CadRevealComposerRunner.cs
index 36332875..5ef60f87 100644
--- a/CadRevealComposer/CadRevealComposerRunner.cs
+++ b/CadRevealComposer/CadRevealComposerRunner.cs
@@ -101,7 +101,7 @@ IReadOnlyList modelFormatProviders
}
// Add Surface Unit Metadata
- List fileNames = new() { "SLT_surface_units.csv" };
+ List fileNames = new() { "surface_units.csv" };
fileNames.ForEach(fileName =>
{
From 021b15e5e17f4035f8a39be053273a765bdbfacb Mon Sep 17 00:00:00 2001
From: Nils Henrik Hals <3185998+Strepto@users.noreply.github.com>
Date: Wed, 22 May 2024 11:03:46 +0200
Subject: [PATCH 6/7] Add support for multiple surface unit files
---
CadRevealComposer/CadRevealComposerRunner.cs | 15 +++++++--------
.../SurfaceUnits/SurfaceUnitMetaDataWriter.cs | 2 +-
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/CadRevealComposer/CadRevealComposerRunner.cs b/CadRevealComposer/CadRevealComposerRunner.cs
index 5ef60f87..454b2f9f 100644
--- a/CadRevealComposer/CadRevealComposerRunner.cs
+++ b/CadRevealComposer/CadRevealComposerRunner.cs
@@ -45,6 +45,7 @@ IReadOnlyList modelFormatProviders
);
return;
}
+
Console.WriteLine(
"Did not find a Primitive Cache file for the current input folder. Processing as normal, and saving a new cache for next run."
);
@@ -101,15 +102,12 @@ IReadOnlyList modelFormatProviders
}
// Add Surface Unit Metadata
- List fileNames = new() { "surface_units.csv" };
-
- fileNames.ForEach(fileName =>
+ var files = Directory
+ .GetFiles(inputFolderPath.FullName, "surface_units*.csv", SearchOption.TopDirectoryOnly)
+ .ToList();
+ files.ForEach(file =>
{
- var filePath = Path.Combine(inputFolderPath.FullName, fileName);
- if (File.Exists(filePath))
- {
- SurfaceUnitMetaDataWriter.AddMetaData(cadRevealNodes, filePath);
- }
+ SurfaceUnitMetaDataWriter.AddMetaData(cadRevealNodes, file);
});
var inputGeometries = cadRevealNodes.AsParallel().AsOrdered().SelectMany(x => x.Geometries).ToArray();
@@ -149,6 +147,7 @@ IReadOnlyList modelFormatProviders
var devCache = new DevPrimitiveCacheFolder(composerParameters.DevPrimitiveCacheFolder);
devCache.WriteToPrimitiveCache(geometriesToProcessArray, inputFolderPath);
}
+
ProcessPrimitives(geometriesToProcessArray, outputDirectory, modelParameters, composerParameters);
if (!exportHierarchyDatabaseTask.IsCompleted)
diff --git a/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs b/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs
index 2168d756..38f52b0c 100644
--- a/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs
+++ b/CadRevealComposer/SurfaceUnits/SurfaceUnitMetaDataWriter.cs
@@ -12,6 +12,7 @@ public static class SurfaceUnitMetaDataWriter
{
public static void AddMetaData(IEnumerable allNodes, string filePath)
{
+ Console.WriteLine("Adding Surface Unit Metadata to nodes from file " + filePath);
var rvmNodes = allNodes
.Where(n => n.Attributes.ContainsKey("RefNo"))
.ToDictionary((k) => k.Attributes["RefNo"], (v) => v);
@@ -25,7 +26,6 @@ public static void AddMetaData(IEnumerable allNodes, string fileP
Console.WriteLine("Found " + records.Count + " records in file.");
int count = 0;
- Console.WriteLine("Adding Surface Unit Metadata to nodes from file " + filePath);
foreach (var record in records)
{
try
From 1f512094c0f6a17c13589ee34471c814194cd788 Mon Sep 17 00:00:00 2001
From: Nils Henrik Hals <3185998+Strepto@users.noreply.github.com>
Date: Wed, 22 May 2024 11:20:29 +0200
Subject: [PATCH 7/7] Add log block
---
CadRevealComposer/CadRevealComposerRunner.cs | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/CadRevealComposer/CadRevealComposerRunner.cs b/CadRevealComposer/CadRevealComposerRunner.cs
index 454b2f9f..68172b3c 100644
--- a/CadRevealComposer/CadRevealComposerRunner.cs
+++ b/CadRevealComposer/CadRevealComposerRunner.cs
@@ -105,10 +105,16 @@ IReadOnlyList modelFormatProviders
var files = Directory
.GetFiles(inputFolderPath.FullName, "surface_units*.csv", SearchOption.TopDirectoryOnly)
.ToList();
- files.ForEach(file =>
+ if (files.Count > 0)
{
- SurfaceUnitMetaDataWriter.AddMetaData(cadRevealNodes, file);
- });
+ using (new TeamCityLogBlock("Surface Unit Metadata"))
+ {
+ foreach (var file in files)
+ {
+ SurfaceUnitMetaDataWriter.AddMetaData(cadRevealNodes, file);
+ }
+ }
+ }
var inputGeometries = cadRevealNodes.AsParallel().AsOrdered().SelectMany(x => x.Geometries).ToArray();