From 46ed55ca923e8c1e007013aba7318f1d0e389545 Mon Sep 17 00:00:00 2001 From: GCRA101 <126593217+GCRA101@users.noreply.github.com> Date: Mon, 15 Dec 2025 17:16:28 +0000 Subject: [PATCH 01/83] Add folder libs/ with dll for v26 --- SAP2000_Adapter/SAP2000_Adapter.csproj | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index 84c83f84..80b2cbec 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -71,6 +71,9 @@ False False + + ..\..\..\..\..\..\Program Files\Computers and Structures\SAP2000 26\NativeAPI\x86\CSiAPIv1.dll + C:\ProgramData\BHoM\Assemblies\Data_oM.dll False @@ -129,7 +132,7 @@ C:\ProgramData\BHoM\Assemblies\Quantities_oM.dll False - False + False C:\ProgramData\BHoM\Assemblies\Results_Engine.dll @@ -137,7 +140,8 @@ False - ..\packages\BHoM.Interop.SAP2000v21.1.0.0\lib\net47\SAP2000v1.dll + False + ..\libs\v26\SAP2000v1.dll C:\ProgramData\BHoM\Assemblies\Serialiser_Engine.dll From aabda220330b0ef4764f3cb37ac5e492759e8110 Mon Sep 17 00:00:00 2001 From: GCRA101 <126593217+GCRA101@users.noreply.github.com> Date: Thu, 12 Feb 2026 07:16:16 +0000 Subject: [PATCH 02/83] Move CSiAPIv1.dll to libs/ v26/ folder --- SAP2000_Adapter/SAP2000_Adapter.csproj | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index 80b2cbec..135b40e0 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -71,8 +71,9 @@ False False - - ..\..\..\..\..\..\Program Files\Computers and Structures\SAP2000 26\NativeAPI\x86\CSiAPIv1.dll + + False + ..\libs\v26\CSiAPIv1.dll C:\ProgramData\BHoM\Assemblies\Data_oM.dll From 4c2e2960a375955ca2ccfa82a7e104237c81d98e Mon Sep 17 00:00:00 2001 From: BHoMBot Date: Tue, 17 Feb 2026 11:35:31 +0000 Subject: [PATCH 03/83] Update project compliance --- SAP2000_Adapter/SAP2000_Adapter.csproj | 58 +++++++++++++------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index 135b40e0..013fc1f7 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -1,4 +1,4 @@ - + @@ -32,42 +32,42 @@ - C:\ProgramData\BHoM\Assemblies\Acoustic_oM.dll + $(ProgramData)\BHoM\Assemblies\Acoustic_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Adapter_Engine.dll + $(ProgramData)\BHoM\Assemblies\Adapter_Engine.dll False False - C:\ProgramData\BHoM\Assemblies\Adapter_oM.dll + $(ProgramData)\BHoM\Assemblies\Adapter_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Analytical_oM.dll + $(ProgramData)\BHoM\Assemblies\Analytical_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Architecture_oM.dll + $(ProgramData)\BHoM\Assemblies\Architecture_oM.dll False False - C:\ProgramData\BHoM\Assemblies\BHoM.dll + $(ProgramData)\BHoM\Assemblies\BHoM.dll False False - C:\ProgramData\BHoM\Assemblies\BHoM_Adapter.dll + $(ProgramData)\BHoM\Assemblies\BHoM_Adapter.dll False False - C:\ProgramData\BHoM\Assemblies\BHoM_Engine.dll + $(ProgramData)\BHoM\Assemblies\BHoM_Engine.dll False False @@ -76,67 +76,67 @@ ..\libs\v26\CSiAPIv1.dll - C:\ProgramData\BHoM\Assemblies\Data_oM.dll + $(ProgramData)\BHoM\Assemblies\Data_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Dimensional_oM.dll + $(ProgramData)\BHoM\Assemblies\Dimensional_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Environment_oM.dll + $(ProgramData)\BHoM\Assemblies\Environment_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Geometry_Engine.dll + $(ProgramData)\BHoM\Assemblies\Geometry_Engine.dll False False - C:\ProgramData\BHoM\Assemblies\Geometry_oM.dll + $(ProgramData)\BHoM\Assemblies\Geometry_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Graphics_oM.dll + $(ProgramData)\BHoM\Assemblies\Graphics_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Humans_oM.dll + $(ProgramData)\BHoM\Assemblies\Humans_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Library_Engine.dll + $(ProgramData)\BHoM\Assemblies\Library_Engine.dll False False - C:\ProgramData\BHoM\Assemblies\Physical_Engine.dll + $(ProgramData)\BHoM\Assemblies\Physical_Engine.dll False False - C:\ProgramData\BHoM\Assemblies\Physical_oM.dll + $(ProgramData)\BHoM\Assemblies\Physical_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Planning_oM.dll + $(ProgramData)\BHoM\Assemblies\Planning_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Quantities_oM.dll + $(ProgramData)\BHoM\Assemblies\Quantities_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Results_Engine.dll + $(ProgramData)\BHoM\Assemblies\Results_Engine.dll False False @@ -145,32 +145,32 @@ ..\libs\v26\SAP2000v1.dll - C:\ProgramData\BHoM\Assemblies\Serialiser_Engine.dll + $(ProgramData)\BHoM\Assemblies\Serialiser_Engine.dll False False - C:\ProgramData\BHoM\Assemblies\Spatial_Engine.dll + $(ProgramData)\BHoM\Assemblies\Spatial_Engine.dll False False - C:\ProgramData\BHoM\Assemblies\Spatial_oM.dll + $(ProgramData)\BHoM\Assemblies\Spatial_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Structure_AdapterModules.dll + $(ProgramData)\BHoM\Assemblies\Structure_AdapterModules.dll False False - C:\ProgramData\BHoM\Assemblies\Structure_Engine.dll + $(ProgramData)\BHoM\Assemblies\Structure_Engine.dll False False - C:\ProgramData\BHoM\Assemblies\Structure_oM.dll + $(ProgramData)\BHoM\Assemblies\Structure_oM.dll False False @@ -271,4 +271,4 @@ --> - \ No newline at end of file + From b76420b46231f34689155a7b0b99071cc060f52c Mon Sep 17 00:00:00 2001 From: GCRA101 <126593217+GCRA101@users.noreply.github.com> Date: Thu, 19 Feb 2026 13:00:25 +0000 Subject: [PATCH 04/83] Remove unused nuget packages --- SAP2000_Adapter/SAP2000_Adapter.csproj | 3 --- SAP2000_Adapter/packages.config | 4 ---- SAP2000_Engine/SAP2000_Engine.csproj | 9 +++++---- SAP2000_Engine/packages.config | 5 ----- SAP2000_oM/SAP2000_oM.csproj | 4 ++++ 5 files changed, 9 insertions(+), 16 deletions(-) delete mode 100644 SAP2000_Adapter/packages.config delete mode 100644 SAP2000_Engine/packages.config diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index 013fc1f7..c3d77112 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -242,9 +242,6 @@ - - - {4bb31ae9-b7ce-42c8-80a4-484389d23de2} diff --git a/SAP2000_Adapter/packages.config b/SAP2000_Adapter/packages.config deleted file mode 100644 index d337e302..00000000 --- a/SAP2000_Adapter/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SAP2000_Engine/SAP2000_Engine.csproj b/SAP2000_Engine/SAP2000_Engine.csproj index cdf2bb73..f589d490 100644 --- a/SAP2000_Engine/SAP2000_Engine.csproj +++ b/SAP2000_Engine/SAP2000_Engine.csproj @@ -116,6 +116,10 @@ False False + + False + ..\libs\v26\SAP2000v1.dll + $(ProgramData)\BHoM\Assemblies\Serialiser_Engine.dll False @@ -152,9 +156,6 @@ - - - {bc975b64-e35e-4155-a067-7a88505e61c2} @@ -175,4 +176,4 @@ xcopy "$(TargetDir)$(TargetFileName)" "C:\ProgramData\BHoM\Assemblies" /Y --> - + \ No newline at end of file diff --git a/SAP2000_Engine/packages.config b/SAP2000_Engine/packages.config deleted file mode 100644 index c1639134..00000000 --- a/SAP2000_Engine/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/SAP2000_oM/SAP2000_oM.csproj b/SAP2000_oM/SAP2000_oM.csproj index ad5b784f..711f4dc6 100644 --- a/SAP2000_oM/SAP2000_oM.csproj +++ b/SAP2000_oM/SAP2000_oM.csproj @@ -51,6 +51,10 @@ False False + + False + ..\libs\v26\SAP2000v1.dll + C:\ProgramData\BHoM\Assemblies\Structure_oM.dll False From 1dd95594c1b25c4cd8c473af48a95f9f48af53bb Mon Sep 17 00:00:00 2001 From: GCRA101 <126593217+GCRA101@users.noreply.github.com> Date: Thu, 19 Feb 2026 14:39:41 +0000 Subject: [PATCH 05/83] Fix reference to SAP2000v1.dll in .csproj files --- SAP2000_Adapter/SAP2000_Adapter.csproj | 8 ++++---- SAP2000_Engine/SAP2000_Engine.csproj | 4 ++-- SAP2000_oM/SAP2000_oM.csproj | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index c3d77112..a0c41192 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -71,9 +71,9 @@ False False - - False + ..\libs\v26\CSiAPIv1.dll + False $(ProgramData)\BHoM\Assemblies\Data_oM.dll @@ -140,9 +140,9 @@ False False - - False + ..\libs\v26\SAP2000v1.dll + False $(ProgramData)\BHoM\Assemblies\Serialiser_Engine.dll diff --git a/SAP2000_Engine/SAP2000_Engine.csproj b/SAP2000_Engine/SAP2000_Engine.csproj index f589d490..00a56235 100644 --- a/SAP2000_Engine/SAP2000_Engine.csproj +++ b/SAP2000_Engine/SAP2000_Engine.csproj @@ -116,9 +116,9 @@ False False - - False + ..\libs\v26\SAP2000v1.dll + False $(ProgramData)\BHoM\Assemblies\Serialiser_Engine.dll diff --git a/SAP2000_oM/SAP2000_oM.csproj b/SAP2000_oM/SAP2000_oM.csproj index 711f4dc6..bd516e33 100644 --- a/SAP2000_oM/SAP2000_oM.csproj +++ b/SAP2000_oM/SAP2000_oM.csproj @@ -51,9 +51,9 @@ False False - - False + ..\libs\v26\SAP2000v1.dll + False C:\ProgramData\BHoM\Assemblies\Structure_oM.dll From 4134984bb64ead59a3b7ccae49e77af4d751829d Mon Sep 17 00:00:00 2001 From: BHoMBot Date: Mon, 6 Jul 2026 11:32:15 +0100 Subject: [PATCH 06/83] Update assembly file version to 9.3.0.0 --- SAP2000_Adapter/Properties/AssemblyInfo.cs | 2 +- SAP2000_Engine/Properties/AssemblyInfo.cs | 2 +- SAP2000_oM/Properties/AssemblyInfo.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SAP2000_Adapter/Properties/AssemblyInfo.cs b/SAP2000_Adapter/Properties/AssemblyInfo.cs index 2b0d4c88..aaf29f05 100644 --- a/SAP2000_Adapter/Properties/AssemblyInfo.cs +++ b/SAP2000_Adapter/Properties/AssemblyInfo.cs @@ -55,7 +55,7 @@ // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("9.0.0.0")] -[assembly: AssemblyFileVersion("9.2.0.0")] +[assembly: AssemblyFileVersion("9.3.0.0")] diff --git a/SAP2000_Engine/Properties/AssemblyInfo.cs b/SAP2000_Engine/Properties/AssemblyInfo.cs index 4a137dae..271efcc9 100644 --- a/SAP2000_Engine/Properties/AssemblyInfo.cs +++ b/SAP2000_Engine/Properties/AssemblyInfo.cs @@ -55,7 +55,7 @@ // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("9.0.0.0")] -[assembly: AssemblyFileVersion("9.2.0.0")] +[assembly: AssemblyFileVersion("9.3.0.0")] diff --git a/SAP2000_oM/Properties/AssemblyInfo.cs b/SAP2000_oM/Properties/AssemblyInfo.cs index 9cdd1114..ca981b7d 100644 --- a/SAP2000_oM/Properties/AssemblyInfo.cs +++ b/SAP2000_oM/Properties/AssemblyInfo.cs @@ -52,7 +52,7 @@ // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("9.0.0.0")] -[assembly: AssemblyFileVersion("9.2.0.0")] +[assembly: AssemblyFileVersion("9.3.0.0")] From ba6b727d451d1731ead4da048ba669ff0458c2bf Mon Sep 17 00:00:00 2001 From: GCRA101 <126593217+GCRA101@users.noreply.github.com> Date: Mon, 15 Dec 2025 17:16:28 +0000 Subject: [PATCH 07/83] Add folder libs/ with dll for v26 --- SAP2000_Adapter/SAP2000_Adapter.csproj | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index 84c83f84..80b2cbec 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -71,6 +71,9 @@ False False + + ..\..\..\..\..\..\Program Files\Computers and Structures\SAP2000 26\NativeAPI\x86\CSiAPIv1.dll + C:\ProgramData\BHoM\Assemblies\Data_oM.dll False @@ -129,7 +132,7 @@ C:\ProgramData\BHoM\Assemblies\Quantities_oM.dll False - False + False C:\ProgramData\BHoM\Assemblies\Results_Engine.dll @@ -137,7 +140,8 @@ False - ..\packages\BHoM.Interop.SAP2000v21.1.0.0\lib\net47\SAP2000v1.dll + False + ..\libs\v26\SAP2000v1.dll C:\ProgramData\BHoM\Assemblies\Serialiser_Engine.dll From 1a24101dc607b99d3d73b3fa399a31d9209c1d62 Mon Sep 17 00:00:00 2001 From: GCRA101 <126593217+GCRA101@users.noreply.github.com> Date: Thu, 12 Feb 2026 07:16:16 +0000 Subject: [PATCH 08/83] Move CSiAPIv1.dll to libs/ v26/ folder --- SAP2000_Adapter/SAP2000_Adapter.csproj | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index 80b2cbec..135b40e0 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -71,8 +71,9 @@ False False - - ..\..\..\..\..\..\Program Files\Computers and Structures\SAP2000 26\NativeAPI\x86\CSiAPIv1.dll + + False + ..\libs\v26\CSiAPIv1.dll C:\ProgramData\BHoM\Assemblies\Data_oM.dll From 25345718a40ebc4fe37fb78969b2841aa950f50f Mon Sep 17 00:00:00 2001 From: BHoMBot Date: Tue, 17 Feb 2026 11:35:31 +0000 Subject: [PATCH 09/83] Update project compliance --- SAP2000_Adapter/SAP2000_Adapter.csproj | 58 +++++++++++++------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index 135b40e0..013fc1f7 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -1,4 +1,4 @@ - + @@ -32,42 +32,42 @@ - C:\ProgramData\BHoM\Assemblies\Acoustic_oM.dll + $(ProgramData)\BHoM\Assemblies\Acoustic_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Adapter_Engine.dll + $(ProgramData)\BHoM\Assemblies\Adapter_Engine.dll False False - C:\ProgramData\BHoM\Assemblies\Adapter_oM.dll + $(ProgramData)\BHoM\Assemblies\Adapter_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Analytical_oM.dll + $(ProgramData)\BHoM\Assemblies\Analytical_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Architecture_oM.dll + $(ProgramData)\BHoM\Assemblies\Architecture_oM.dll False False - C:\ProgramData\BHoM\Assemblies\BHoM.dll + $(ProgramData)\BHoM\Assemblies\BHoM.dll False False - C:\ProgramData\BHoM\Assemblies\BHoM_Adapter.dll + $(ProgramData)\BHoM\Assemblies\BHoM_Adapter.dll False False - C:\ProgramData\BHoM\Assemblies\BHoM_Engine.dll + $(ProgramData)\BHoM\Assemblies\BHoM_Engine.dll False False @@ -76,67 +76,67 @@ ..\libs\v26\CSiAPIv1.dll - C:\ProgramData\BHoM\Assemblies\Data_oM.dll + $(ProgramData)\BHoM\Assemblies\Data_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Dimensional_oM.dll + $(ProgramData)\BHoM\Assemblies\Dimensional_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Environment_oM.dll + $(ProgramData)\BHoM\Assemblies\Environment_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Geometry_Engine.dll + $(ProgramData)\BHoM\Assemblies\Geometry_Engine.dll False False - C:\ProgramData\BHoM\Assemblies\Geometry_oM.dll + $(ProgramData)\BHoM\Assemblies\Geometry_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Graphics_oM.dll + $(ProgramData)\BHoM\Assemblies\Graphics_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Humans_oM.dll + $(ProgramData)\BHoM\Assemblies\Humans_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Library_Engine.dll + $(ProgramData)\BHoM\Assemblies\Library_Engine.dll False False - C:\ProgramData\BHoM\Assemblies\Physical_Engine.dll + $(ProgramData)\BHoM\Assemblies\Physical_Engine.dll False False - C:\ProgramData\BHoM\Assemblies\Physical_oM.dll + $(ProgramData)\BHoM\Assemblies\Physical_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Planning_oM.dll + $(ProgramData)\BHoM\Assemblies\Planning_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Quantities_oM.dll + $(ProgramData)\BHoM\Assemblies\Quantities_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Results_Engine.dll + $(ProgramData)\BHoM\Assemblies\Results_Engine.dll False False @@ -145,32 +145,32 @@ ..\libs\v26\SAP2000v1.dll - C:\ProgramData\BHoM\Assemblies\Serialiser_Engine.dll + $(ProgramData)\BHoM\Assemblies\Serialiser_Engine.dll False False - C:\ProgramData\BHoM\Assemblies\Spatial_Engine.dll + $(ProgramData)\BHoM\Assemblies\Spatial_Engine.dll False False - C:\ProgramData\BHoM\Assemblies\Spatial_oM.dll + $(ProgramData)\BHoM\Assemblies\Spatial_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Structure_AdapterModules.dll + $(ProgramData)\BHoM\Assemblies\Structure_AdapterModules.dll False False - C:\ProgramData\BHoM\Assemblies\Structure_Engine.dll + $(ProgramData)\BHoM\Assemblies\Structure_Engine.dll False False - C:\ProgramData\BHoM\Assemblies\Structure_oM.dll + $(ProgramData)\BHoM\Assemblies\Structure_oM.dll False False @@ -271,4 +271,4 @@ --> - \ No newline at end of file + From 2b7f6ee862472e0a58d30a2bd2da6909af50c72c Mon Sep 17 00:00:00 2001 From: GCRA101 <126593217+GCRA101@users.noreply.github.com> Date: Thu, 19 Feb 2026 13:00:25 +0000 Subject: [PATCH 10/83] Remove unused nuget packages --- SAP2000_Adapter/SAP2000_Adapter.csproj | 3 --- SAP2000_Adapter/packages.config | 4 ---- SAP2000_Engine/SAP2000_Engine.csproj | 9 +++++---- SAP2000_Engine/packages.config | 5 ----- SAP2000_oM/SAP2000_oM.csproj | 4 ++++ 5 files changed, 9 insertions(+), 16 deletions(-) delete mode 100644 SAP2000_Adapter/packages.config delete mode 100644 SAP2000_Engine/packages.config diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index 013fc1f7..c3d77112 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -242,9 +242,6 @@ - - - {4bb31ae9-b7ce-42c8-80a4-484389d23de2} diff --git a/SAP2000_Adapter/packages.config b/SAP2000_Adapter/packages.config deleted file mode 100644 index d337e302..00000000 --- a/SAP2000_Adapter/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SAP2000_Engine/SAP2000_Engine.csproj b/SAP2000_Engine/SAP2000_Engine.csproj index cdf2bb73..f589d490 100644 --- a/SAP2000_Engine/SAP2000_Engine.csproj +++ b/SAP2000_Engine/SAP2000_Engine.csproj @@ -116,6 +116,10 @@ False False + + False + ..\libs\v26\SAP2000v1.dll + $(ProgramData)\BHoM\Assemblies\Serialiser_Engine.dll False @@ -152,9 +156,6 @@ - - - {bc975b64-e35e-4155-a067-7a88505e61c2} @@ -175,4 +176,4 @@ xcopy "$(TargetDir)$(TargetFileName)" "C:\ProgramData\BHoM\Assemblies" /Y --> - + \ No newline at end of file diff --git a/SAP2000_Engine/packages.config b/SAP2000_Engine/packages.config deleted file mode 100644 index c1639134..00000000 --- a/SAP2000_Engine/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/SAP2000_oM/SAP2000_oM.csproj b/SAP2000_oM/SAP2000_oM.csproj index ad5b784f..711f4dc6 100644 --- a/SAP2000_oM/SAP2000_oM.csproj +++ b/SAP2000_oM/SAP2000_oM.csproj @@ -51,6 +51,10 @@ False False + + False + ..\libs\v26\SAP2000v1.dll + C:\ProgramData\BHoM\Assemblies\Structure_oM.dll False From addc1b16f9460732e92699ee1dc217bff605693a Mon Sep 17 00:00:00 2001 From: GCRA101 <126593217+GCRA101@users.noreply.github.com> Date: Thu, 19 Feb 2026 14:39:41 +0000 Subject: [PATCH 11/83] Fix reference to SAP2000v1.dll in .csproj files --- SAP2000_Adapter/SAP2000_Adapter.csproj | 8 ++++---- SAP2000_Engine/SAP2000_Engine.csproj | 4 ++-- SAP2000_oM/SAP2000_oM.csproj | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index c3d77112..a0c41192 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -71,9 +71,9 @@ False False - - False + ..\libs\v26\CSiAPIv1.dll + False $(ProgramData)\BHoM\Assemblies\Data_oM.dll @@ -140,9 +140,9 @@ False False - - False + ..\libs\v26\SAP2000v1.dll + False $(ProgramData)\BHoM\Assemblies\Serialiser_Engine.dll diff --git a/SAP2000_Engine/SAP2000_Engine.csproj b/SAP2000_Engine/SAP2000_Engine.csproj index f589d490..00a56235 100644 --- a/SAP2000_Engine/SAP2000_Engine.csproj +++ b/SAP2000_Engine/SAP2000_Engine.csproj @@ -116,9 +116,9 @@ False False - - False + ..\libs\v26\SAP2000v1.dll + False $(ProgramData)\BHoM\Assemblies\Serialiser_Engine.dll diff --git a/SAP2000_oM/SAP2000_oM.csproj b/SAP2000_oM/SAP2000_oM.csproj index 711f4dc6..bd516e33 100644 --- a/SAP2000_oM/SAP2000_oM.csproj +++ b/SAP2000_oM/SAP2000_oM.csproj @@ -51,9 +51,9 @@ False False - - False + ..\libs\v26\SAP2000v1.dll + False C:\ProgramData\BHoM\Assemblies\Structure_oM.dll From befdddac8c6d1f31a4f4b9f8a59cc5cb7d1bce4c Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Mon, 13 Jul 2026 15:19:20 +0100 Subject: [PATCH 12/83] Track SAP2000 v26 interop DLLs in libs/v26/ --- .gitignore | 1 + libs/v26/CSiAPIv1.dll | Bin 0 -> 1177608 bytes libs/v26/SAP2000v1.dll | Bin 0 -> 488968 bytes 3 files changed, 1 insertion(+) create mode 100644 libs/v26/CSiAPIv1.dll create mode 100644 libs/v26/SAP2000v1.dll diff --git a/.gitignore b/.gitignore index aae0387c..d023b020 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ *.o *.so *.dll +!libs/**/*.dll # Packages # ############ diff --git a/libs/v26/CSiAPIv1.dll b/libs/v26/CSiAPIv1.dll new file mode 100644 index 0000000000000000000000000000000000000000..70657150c68370a16200b4d21a3febcc143bfba0 GIT binary patch literal 1177608 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 S3rVV| z=gA-|Nd8dIAAqbQc}YFb0{M!hyLz4jvWs=qoD$UaEp3h}nGc&Iv^jPxusK6g_ve6= ze^&B5Fhu&0d=nynk(50iluDahN+k=~v>~}3BKViM@OMdTUyOLZC26KM%RzEKCpM#$ ztO994vR}zskY7luY3-kbJS0h{Hk&|dt~W{M}TWJt%dHq?y|62f3HW z^Y9(;1%93v8MKt7mm^V0eA4KNwMnYvf}S)N;nzTXn?jBK+83Fpl>9u$lB`PFIFeII z$z|4a9wk3Gl3&SDeNMZ`6jXA)sx37^$-iAJnWp6Ua7*SXsqJcCqNGU|8{t|dDF)e6 z-zyp7;yI|~;wD?_h>|y4#(q&!y`i-^sbsbDb4JMtm&40S>R}McoUq9JrR0yrmi(h6 zf2{Rno9n-W=p-M zr1p=NG*A**YDse?zq*WdRx;nkGf+vP`L@(nCAnMv!zl+`#G%VYEP@Ay30l$C6`9pQqL>d;B1O3`Ql@1Q%1?e z4mO_3N>;42Hr17+aJ}=YlJ|SqQeBixad{r7B%LE8l=O0BG>H6jL9f;D>#Axd3c=sg z)qKxY&7|nZu)(i+wfD?I(5hxibWC0$>zf56DapPz#@S>fnYqy?mr*J+Nw0VCeW6bH zwH1&oc_TS7i#C=T<#(v2L}yJzrbTB@L}o_kPDDP8&YOr_i0+e!T#p`-i2M~jJQ4Xj zdQ>9vPxRPC6TeM3P08CL$>!pClsbBI^^843UkA zNZ!bvM5I*Ymqg^H$jL;cY~*wzQa%K_ap&(l`csSKu+ zZ!r)3K-KT4F>SCr_e_H|#9K2GO7+qdV?LpJ6Z^uoRNrA&vVp28zA3z!Y6xoEPPHAe?4r5_wU=r&${wUD zP{%VzsAgjid7P>?)G4Yr;pHqGr4kb!Z)$DIf8K3p^Oa-dUvyG`jwfUAYHK}%C*II|F({Rr;q?(2dHKjT; z4xc?x#rDUJn`+ZS&vc}E3wB+p{zm`4OI7VH&-A65R>(60sp?!bW+>HH7=NRv%KmN4 zc&cX*^AxK3C^3U-Qw7g_L^V8%G4rWLT{dP3Rbf20UrF^^dt*MOTJeW5pHuzb&of_A z<@nMw+oRJX4-(DO&yt)%HxD zsX>(!Bk?t=Z$8ESPZiV~c>e!K@c*iJ1LAv~{+=3aObel#g&e;?-b8 zbgkr>x5@g|#7slgzaD-=gi1;bpn7$vXNFMi!Mrh&>WzuUjH5b&F*%uPWD@-TCY6kX z*;Eq|-^Wz1Ju+r7RTO%91=VjDlWV9RV$S)DYT_>Zx&~Fz8J_uy>JRkgPO1V)J@Xw^ z<=e*W_tn4n^+T#8P{*k1{Da>{p!xvnG*xP-^Hj4@_7c?zTKxnt*koTA9x??@;x`XUDy%P9Yopsm3=qW-!%_W}X>AC7#Dp ziI+)KQtt;;63d5F65l*3sdo{T#Il@9>RnAGEn4qiMSH)Xl5A|Hl5BiUB{}$(O7bVq zh3%E?LDeqSeYtP{csQ`45~Q9SBq+MI?vRl%7ITA z8d1Hz&X{KYRozEm{_2EZ<|P|25WnwDbpv*ts3K#H=|+{asWCmNQjN!cgX+hb*l$q% zH3Rz%s<^q>Z&0mD>zN5u4O3yiL4|*W)6AqwQVjbIs-kJJ-=Ml((wL=Gb4p>qL6s>7 z_8U~sy@>q=)n91kW~z1RvEQKjry%wlR88mMm!GNn)W&{;Dw5imBUFQ4HRd?gH;CmF zmEBc&=ENshd&sUm>zNBwEx;~QHLii*#->_S2`4?OEje+@qq>9BgUrHH)eU;+soV7G)Pw8N{-T zs>XN5tfG=#^E#^bD6x^MJ4$S!lAZJps%W%L-fqBN4PN$9$?p0Gs_w%)bChaCU;O$p z)iXnk`IV~RCd>>}gHZ29D)W;uSE&x7-kVhAk%ND!X6(bvKs67ZpHO`b&(Y;2f^RFeCHz8!k-2$hWX<5V)9Pf^L(J?meE-5*pkhOSV_i1>?2#({iR?iuNs z`&80fkEtXZQ5EE>WFsk+WFrMt-~SntmP+!HkxKHCl}hrGlj_QGWAac*hMuRA3>Bf0 z43(hD3V&s&Bv%!vBvE>NVD}MKE7;Aa`Wkji zsFuQRC6(m#Q!2^n=Twr@FR3Jx+o&Xy-%v>=_fSdx4p2${ex#E8{Y)iUJ4q#3J3}Q| zyFevbyG$inyFn#c`-e)hc8^N3_J~TdmZYNOUa}TTCD}+$CD}+rCE3V8B{|LFD_qS% zB{_YLYStN?Kd9z`6{hNP82_R)mE`3msu$1V6HqG2&?{7up&C@V@uuW!R4q|k1FEUW z)$3Gw5lagy$yHk_$yEm`$<^CbQdfcdSM8a^ukCg>4kAr;(0Qac%Dur zo@Y~CE`hTF)oQ54RMnwYP<@Csbd9fGz}bMRcP^X_s6N4*`xR9$tin5~b{EEPyik?G zJ-MGM9m*c2N{zMq7**9mI2%wEM~Tx^9pUdhRgtG~HlSLIy~=f}x>%iWQB{2jX9FtP zIs8ZUWlHpXCF%XsrLY5_dWhQMsmc|>4uI;XG}r-9$$mdG)f=U;1E4yAb4G3|4`V7n z)nT-w5LNjcI2%yCjM_?5{e`xbqdHR@zl1_HE=`0g1zILR1M*;6V+d6c{i#Q=$W2W(hKiVJ&mjlqUr-L!>BHUji&kzJDv$t?Tcbh zNR?{+hf`n;p!x*k;FNENyqu+yXDWYCNye{GZqI#jaXKq8q#6&m2 z8UWQ~Xvvuv2UL%{S#?8I*se0{yvkA{^(?CvwYRGOT3>}r;Ae_V3`_JZji-xL&8u2= z-CgbSf`2t!wh*F^XNk`+CVf>hr&SNpa-Y>gUVPOWIS>{0Qn@kCwe*tiDU4#O>hR*L zGsugtlB4&1Riv1&!d`y6jB(Gh7w=j%^Bb$Am2x#)V#7h)A1pBq=L%n)m}1$1UA_vJ zxOW!!5lfW*-B*dP=H}I|_i&d%g|AK+iO-05^~YjXeLLE!9P@BD`emKnI%ikesim&O zqq(-kGFRf7vpeJL$~(`wN7>ra6t=2YajV*mv8tH6dc&0+=*n($c7;E-5k%b8{4SPp zE|%6VmIki2%FfFHS4Vm0Ws0+V-`OR1wVh6FBi-cGM5n&4WusbzyT{LIrw3N$!I|A> zd)ryn!>JaREUW1J{q6i6cK%vAFOOZ>D`RchC5}yT{<=CZbDT=~sx9&5A*+r#m9K$q zWm}h_rWq`Y{>ZB0j-8op*+o~joomPS0=ABm)2-cSPF=;i>gT0VORJ){+Y(+_badDg18-PO^q9VJ~mR=TT)2Kyz#ckT6Qo+(sW=F^{@iu%B^lvs`Zt8uErWhbC# zinDCg4XmqF#XDHl&t1KK-LlPZSvAUCedMlw+ug{jKPp=_)v4dr zE?k?;iIwSD=0sn~oan1gj>+t(S6zt|m?M1l#FZHC>@GOF!p<%S<`Tcea%U%VqR(U| z^p(tnzIx4h8R_bfInlq`(v@BB%6{z1PDc;=cJaCQG-(s;6rCSHoqqzl-0{qg^?tUTN>M zu-%*u#=JwjF;4Yys%Z~p4~Xsv!&8jYa?Vr(I{%WkY`%m|kK{eo4s>RB~&vQ@_> zSyg8(p5L>?b?i`l^~1B4-JEEdj86aRr_OWjwAQY56?=6lvf+TULN-Kj#(Uo`Gezw83n%Ec}l zLtHEKBG0~ETNmG3qb+;JhYxk&zWiy?Zh0g96 z?jFBHeyuIszf&+a#UrIu|}&qQ4o~EBk5*#;&hYoieIE#~kak)7h+g zDxX!gyI3{BsZ0eeJ6go5!>6rk^Sh&nnB{P@LnqvIEtXS>6?v zt#+QXRkv4@Vn*`qHe=rKReFpjU!B3K>#M0QSHBOjtd48j$KTizYl_;dnOy#&oWCb7 zmh`T@dET*QD`Q^sYkL>-y{`&m-|nmFdF|C}&s()0W8A-52;<6EdneiwIWVjEY@1^l zqwUo@|JtiHT<@1~S$ht5w_kSZMqh_$iR9>MUv1yyv#{rUC5`!-cBP%_jBE%C+l?<^%(t`~n$B0@ zs}08CT`*ql;M4%8COh@-1Z$TRneZ#ZLel^Wy`s%`P|jUdNo|{pc2OX#Ciu|_u#Ala#=OX zU2TuD{?(pNO?9d@YV)s-bLx3_b(UjYo!a5ldZ((p5=)eYBQ1@qCm89cs=`;7{DJRK z^6J||Jyla1Se1E|y}A^0j&Ju&C#(K*Z0df?mNv8MZ|rIO5)G`JBH#3%Q?2=^;!5`$!wzUnZ^s)yJ$`%IpiiVFLa`ScF`rNPO@SNR@UmP=K*gyiKROI)pH zRijG23fujFoSIkU`OCc=o+>%T`0N7KJYPL@>ZVij%-p|vVun@UJ0;J@)r(_tuJBpG zKdgHHIa|kgSK<$MRi2sqC7!`L=&Ld4L0`!y9=_`CR1>EZpZ$1?7mZ; zyZXSfIA!5T+hbQ1$4DnRRrz;stW4$Sv%aJz7o%((wL^`Re2}6;m}`m`R`6Q9C}<;N%MSleD?!(8O%RX#$A6Uj_Xtz zWAIrtmHc~WQ8<}rFwdhMDX6OAYDTIr!ZUNJVxw^uqRNg|en#~cylkVY3$~YP zCfHG`1MvJC)qQxrM1>87`G;x=Vt!2Z0%}WERoaW8VbW8{zX_b3>VNQDfGRs$RD!B8 zT2zs01X}be)%VC+6RLEmw=LBRsJAQC0@U#y)e+P&oa!&sF^TF`WNkLpI(S|}wHKb( zQl&tPwotte&)-tL3(tqC&cpLbs;A-k5320&e3PmaqJK#BKD@+KlU9BVFKMU_z)M!D z{D?j;)f>oAF{&qssvOl@@K=LsHT*TC`WyaQQRPLPZA+ z7s|hT7Lv)BTt?Lm>NBbhD7&5N5z2l~C8P6as&Q!V?^Iu*z1OM!hxp`OOW$*(y1iH9 zpnR6Wu`G_|b*!Lcr5!8hSWU<3IM&>;){edHSP#brIW~++?(<1ha-V-hCHMI@%1b5l zRdHumflTJ6DpV3dJt~Qy1(ih5iAo~q4dq8aluSI2qLMjrn!EZjnRs4IC7#z(iRZ0U z;&~61cs@!cZ97dRZM#AxZM#DyvtANh$Y5mFOGzcOUS=v8VR@)z)+z_fkouKT%1f zXQ(97t5g!{T`Gw*s+P1(B25M5$Crgn;>+P!LC1xNh@Pt zm9o+w>7e}fW+#*O=BAQJi%?0VWvL`m`B!u@7>QK=B^qQ6k;<@N?Qc0xpl-`e2zO|geEJGdg9qX;E1yKL<6){W;rW%2(b)fv{o0Ba-+gdx;g-qtKcc>&A1F0nX zF;vpO)1iDX3&!~Cg+o&WP`=I<1$H=6W|8wjQvcFOGieq=k#PdTc@f=%6 zS}vZ`QHkg5R5B)?hw|$vMJ8p-Qc2kwR8qDPm6UBmC2f;`xg&#-p6N#=Ju{L@dSNP+ z^ujzU>4lY4GEO%_`SpHHCUt!4*kLkR1CCM2XgW(Jqv@KnyGJH5KXNQtT|0_XQb{{9 zQ%N22uVMQ27Ik(don2)r8O3#|q~7LKlMr(Us*IQgdQ!=KIhab?JDy6~JBv!%yBNx^ z?Nc&|^m8hSYKObJpG?NkVR!YEyZR@Yl)dJz-lLKhMc0$|O3$RGl3vY9B{NMvs+yPu zUZj$dSdmI*8u`@8pA(x>NsHQ3NsD?=Ns9(iNsGo(Ne|ATk~wi9)iTtvhDv6d%~Wzn zeM=>G)Q?nhNBv4A`}Rvzmr?dMmF(M1eTho;?a8TR-=2v|_U*Z;&LF-bR8LT#EY&k8 zTZ3u}$~K}}hO%v_MqxB{rP_dA?MIacZ5v7T0@^l}sx`dKqdEdFE2)a2j*V2M(6*ga z?<0Q)sdl3mPEg%P9T%wbBEFkc-B8DWRQUMAByAvVJAyjWQ@w#4{(QDZ!M;hF}{{c?yap< zz2IdJm5lqNP`!7Dv97PDv97Bl|&HRP+BP?F&&kR#OzcuTRcxCvqdQ?na5wD zdLJ#XOSK!G-=Io{m^)HcK)t=FWF8+vB|Gy8RI)SwkVXLzK%+E=3i0C&U`Ob z2}Jc1)tji}4An=d<0{o>sN*ixUDOfPNLo}0(Wjz%19fD9^7E3HO!88YO7c>gO7c>L zO7c>VO7hZzO7hZ)swU#=O(l2eP%6pGL@Js2XH$KJvP-F|qHXJ`Brn^jBrp4@BrnIP zBrj*FBrn&fBrm>_yxb#`yvQfm8I0s5HI?KgE0yFWAC=_gMJmZlMJmZlZ7Ru2Q>q_O zM|&!{Lwiuk9Xg0g?$EJRa)-{Kk~?%EmE56gp#1D^CX?)Lr;_Y`PbJy?nM$(zJC$Vj zI+bMiK9!8RNE2zBjJh;blHF&hWYp!Sl2KQJN=98JD#`9^RFd6hRFd7ds3g1ZQb~5- zr;_ZBqmt~-q>}8)dx3s-Kc$lFZlRLwen%zQJwhef{SC^`!DTYZ!3`?O!2>GELCovo zS#pq;N^+2mN^($uswQG7NhKq!GL-MR4w=jm4XI>~XiX(^#M@LdN4!TRbHoTLnIon^ z`CjIdNqh^bB)&CN65nPjiSJt~iSI`$iSJh`>7z?j(nq(cq>l`qbNh89hw}HQX{e-* zXQ-r({8Um$2`IlrB{JEsRilztHlUIct(;vKGKu~jD)Btf*^QwR&(o`VDWhz-Et5eA;*^o+B$<{u@)wijp;Ocu+zv1c#s((@M6snhzjk#3#^0!$*RUNI| zK(z&4zJ~I1dVoxF^&^$!>Q^es>7UN-mb1I-?4p`mFR7sXzD!RgUUE>0mx5H1@zPY1 z@hVg@Ug}ZRL=IX|$$0KWCH>KxO8R4{&yc@~RFc!#RFc!BRFc#6RF_d=8&r(TtuTjY!$FQndG@Ml>b*P_D)NDgB|}3Q~p(pjkLly5DmO} zS_H}H$Y>C;$>PXDwaMPSo8)aiIYC0*gF_$(& zmDrdom=BcLm|rnVmDrf8n@vh=%&(e#N^Hz^%}FIT=7#2)5*st7n4AWGZKG_=Elhfn zm`r0|^2`<_u&o&2uUhPmq4+c%?RwJ(AkPf*Nqa{Yy@DMSY~FI@m)xGY3_l$lskac{ z_J>VCdgHUdy&#>O%}Z+Ywj<5drkf*e)ux9dfxD6 z2}l%dswW^bW?;_(f{&Q^S1oq-Av}S_I2`QA@g9DE1>}n>iES2YU4hMk&#tjpY9`MsF z0r?LzQtJey;ahk&JOTN*5WbljCb8SG1ihPp%mx_{tYm?0X>28sOR!mNNvh&k@!JL<%PfiA z{0^R1Bp^pImSvS$?rdg&$i3r8stf0^^J;}1vb9My033#I+I;;+#m{*mYs)28blQi^+c`y+B*{8(jO(kQt;XD2yYfWzwd?yJr|BooO z!F0;Sx=bCs=Ti<@#e~bhYO&de<7p4#+3Ls(AhkfYIWidYMm>-nj!Xe*3i6F3*5+GB zl0mkH&0a@rsr`=RfK5l({NRZ7^P?lS)K88yUxZ%@K`BhQ{HqrGN(Vo}6OMF*O&{2t za-<1tB<9~NN!4);?p%bHbQLO_*X5}xTBcAQR<>4 zu{P#_*a$C~&Fr1FQP%SnvrmcjeBGQN33kFa%_ZL^-qv-?lz&#LYa3O?wGgL#@2q%3{+xke`qEoD)rdNx67n1TgrH=l-Pcc^0p@O6XWeyV*5RrcakKC zC%Jc7ZLH^%-u*;=(s;>oOYK3a^j;>CpzRsFyh`lY$mEq$VzZIOtER+`jc2^3K8d$u zBZs$Mi5(j`yrj>u?eTVOLwp2bx zY^ef{ys-h#3oynCI?@T`BakAF9Kr!*3CN3%#9|qj-31O*T33Pf{;uFBdqIfS7IZq z?;TKLBW&QERAM7+BYfSvuf#^!%uAL>8s9d`M%cp3q{K$p%F9a<^l2Nfq}tft zY3Ef{Vtc2(*GP%&oeo|HCAN3Ec>PEM&)vN-Bxy2rKqq{SjP>xAYAJg@?cr@xV$Y{N z@r&kuEA08Sk9SRpJ)gekMd$Tx?D=$nmsN>9pAPbhllbw(zW+# zao@{+b+k9AfRysgF|2Pw#(4Rj_sLxBn&gZ>*6Z|wkThm0&Q{B?#*OoG6!pmv9NdMB z_kLB$&+`Z#m2@w$&+`Vh1iq$Bv0Ou7Gh80lf3Op z>`8o*w_k}piBIx=QDRTxle`N`>`8o*cUy@)iBIGhn zr+Y7!)Vj|4XY=XaL?!lYKHa;Z#GcKkdu2=crR>>!x;I0KJ)2MWt|_r+^XXpY(kvBa z&*sy;x=QTXe7e_Ci9MUo@ZMHp&*n3|eoE}we5NP=Zk6=1J)6(;K2T!M<}*F{gbV{HlOePr^KGk=X;IH`K9dHe7?6vi9MUo_oB=DHuh{j-)o`7p3Ucb z8!HM+%@=rsmDscSLT{oHdp2L>&GSjTJ)1A_ zZY!~8^Ce#Gihk|(Y`(->s>Ghnmv|*A(I(2C&6jwuD6wbrrCxm{_H4e)YwweIdp2L` zZBt^;<}1DQmHpc7*?gtfRf#>Duk_?QMbd-zY`)UV`if8N*?grZ?;4AZJ)5ueGaZ)>nGRl-SeyO0Qs5zmz?#uk=PLv8VNw-mgmRX?>;lVl}^% zJ*}_wCMvO~^_AW^pG4Wy`bzJ%5_?)-<3(4epD24;U*~1=NxVIqZ}8SAv1juQUNlZ( z(sp|`-{8snjza9&e1o@9i9MTd@RHZ`ZS2{6gV$b(J)3Xv?kTZn^9^3TT7D^euH4{V zP-0J`8$5ZlO=`EN(GA`VCH6$W!Mmo!p6EAtRciaC?1_GZC+~W}Pn12;Z}3(ru_yXX z-c}{{M8Cy5sDA8;ew&x;HQ$dt(QosLD6uE{?Or)0_C&wktL>9`d!par$-7w6E_b2j7a;g=ghestvD&)~l`-sW&*R$Kgn zAILFBYGFq$`|#tAJcA>zlse(agLgdh6v#YO84JNcz9II{3l zzxK;-&?*%+nb9kDq~=|~EE z8%sX_3dlvEV*8?yBR2CT9kH1&?TF2M8Aoj9 z%Q_;N--No#J0f}B4f2X3lIMdU)f|~$2TzGXYCBQ_&wHu$keA?Te2bu^9`9&Bk13BiR@MKk`ih z`KuOdv$4<-JL;A=Vq3b*5!=!gj@XuNcEq;p8%GXR(!0PB+lrHpSU&-=qxZbCIl2zd z!rS1DO-F22Z#rVf^F2rG7&B39I@)gU_oR;49Hw@}_C;DpY*wFg#NOQ*9kKWF(~j7z zW_847HJc+g8#x@QfIDRYS{jg9f8t3hNG@kHZ@5pMbL6KP{#=*Okxsk)r?LTAg;`=P z`~>7#)U^ZT1y}0CU-(`ENHIqSq4tv?r5qWK+J#hcL~I@`ulSbsWC# zNd7PJu76v+C+f%+v?30qr6b9A}_9u8xkZ zRMORv+BiYWv&wfJvAxsF5j$1`V#n$rXJbd^2uJM5oZyIzOqrjjJ7RM<#}PXY=R0Dv zy2ueb4wpD0RYw3S$!CFM2THJA4Z*5Vpq>6QMZ-Y)iX(Sz6O5GcJ)jh-AIY;oh;Gv&Z@M_ z_QkW&W0lyxcrN-wCAKf}MlV-l`yzkz7fPfrWc7SL`gKP8fRSv`wK%R8)6 zyInnBijHdN6T5nrkItyX_QfmF`IOi-rD}8=CAN2(M2}Ts`=WL9dL?$1=@|Ww65AJp zqvdT=iN~&cav5C=bmDv1DiGEj! z9ho0Q%loJjk8S&m=&4F<+h;|~d#7S!+rA?DrV`uI_0h!}`!;qx-5Xt*Bxu+7(e>5F zw(CH28zt8Bf#@+x?3h0my+DawVNXTNTcZ+>&HV4tXO-By;Bs`*Cccdwhkr*GQDSF_ z`_YY+*sOYy_DXDjMMZimv3ZV(j8J0dgrt!Vl-L;{F0xpO&2x&#XG(0IQ$==?1o=r5 zkza$9cG>)-i~Op@uDR(VSC!Z`_o>K3C3elt6p4S`_hZ-GERjq~?3$Y;@|+U8=4Oe! zq{ObdIU=tqv1{&gk@iaLnp+?;Ly28;OGS1ok*vy^TP5?}JJXZJuXE1}L#(b#`Q&5*e$q3eSnmR$|BMyokIdDt>GZ z=SMb?1Z`g!5ewNhJ%16e+QH9aN6LWo0NLiqCXo3c2OQbZ8{eS-x#-9kyf0C*9lq`3 z$iX2v>w(0^*t+KS$NO9$=^YtV2Kz&h0*-7Oj*~G+VMoS{@Z+iA$TI90y*KeqAV=Qq zh;I^sG;yR$W&D0GNP9=_p_GuGjtp0up^h9!%wjXyktXN-Qu7??tEE;s693q@+3ZM? z5q`{j9Qjbm&yJL6g?|eYbzN|z0Z4O@D~?=jk9S2t9y(Hb5I&y=Ng8XjI()8Qdum7S z;LP|lY_d7B7g?2dJ@3d*4e%TCATK$x;ud-jq>3e}KEmgEIosoVAC|-}zvz#IfXvg8 z(8bxD$%=PQQEHeYH9z#TG0BmZAhlpK&yn{=_%@$9^1sgb?LpXVbL0^E;wO+3jx6qo zPxV1gIa1;d-hczSWJ#))lRV?Sg|{n`YQ|DEoq~U>D*;(C8BaVCkS8GN!X(zzz#W%> z%*6WuuYhESVs3&W==6n=XzNLWJ^Z;M@I2U&ftvZDj{FKD?==l~q%r(RT_YS>13!7;XQU%@G#jHG zNrqp8lP8m79l47S-sSDSfUL%x@B;jdb2g8g<6m$9neNDNJhN&DGRu)IDAf|=BS%ub zfwvYx7CTaZDn2C!S(s9drcO6-hOJ=uRs?Ap{YS-}>*AGz&u zO#_o{Q)1Vq3CV6Mv1`+uWSNj{iO{Z1i<8w>V%Mhi$%ZPiYtxQo^0uCovTM`9Wb(e8 z5W6;=OqLb*f)KklT}mczWC^ir)171^mDsf@I!@lc5F5KTrH#9$#I8*_bNpTyg>X>MF<%w`g^U1jFRRZ(JBnN@Lvl-O0~tGM+_?0T_3&b0IW*mdV( z+-pkgx|1ZnjS{==MB=CVB;L;RY2z;`v9o&G_=<1RbG)7T)5gzMV%Mg$@i&#&wJB|U z4Xk2lSG--D(#9`TV%Mg$@%MZZW!I*(@h@WDmTcIy>ACn8O6=P7Li|)Ec9nTKewz}z z%2bQLq{OZ=_2bjyjuy{$m1z-Qfh5>fc8ss1Hg?_V9RG$AyY6(3@1n%6J8#GLS7O(l zZt>%k*mb8z{6|Xcy3;Fug%Z2&^p5{RiCuU4#DAy6t~>qWe^O%Co&NE^E3xa&fcU?Z z*mY-M{9`3{-FZJg1$G{i4ZH3PiGN0kU3Z4Zzo5jfJEP)XR$|wk(eX8v*mY-2d^06> z-5DR>QHfo5CdBtqV%MFC@gtPjb!SriG$nT3nH;}RiCuT5#;;Ri*PRdIw=1#h&h+>L zO6(zox{l zL@VRlD6uQi>i98A>`JsTezp?35^akAjwFb1SG+_cC!m|>{pZ-u<6KMj{>wC`5`JN#!&*L9{o;x%5oO@>O%-z`yy+6VcmPv1(Q8u(t@d_nI> zFD3awW#QNK3j!p2RR;Oc(+$afl|LfrlR%P#D%CdAn@l7}RQOjAdG0={vP+I`%4#}R zDQ)$;wt0_^b(*A9^B3zG9HLr8pR>@KNP>ra1KAeEl? zR3<)0-(aIQ*Hq?{#E|eeV~wo#e2U)rCwZtch9r%|%kPMc4l-ZC?=KN#zJlLX5oF%S z?~w>HU(wH>?z;FKMCN_{qD7E-f4`a{$b1z)KF@h8WIn`?&mtD&C*1FK5sXE&-vAMe zMYP{25sXEQ-&7HdMK!-gA{dJ}zYQYDyv@(AhjDadKH0Cc2=ZLpZ-)r-?DUK3X>5hj z$?@weg3Q0*w?_n-&-1I=i?=e*f_y*ze?AK~(r2tWG&+SU_e;o08md&FZ<=%xmXYBM>T4}4_R1oP&mBzFW-p}7Ei0cw0 zV0$7x-_w3>LwwfLE5mim$Q6P5LZnV zjC&mwjC-aE#yw93<6fY`k*=bnH-rRCr@N=UB+Vf{xc@N)qx_n-!6l!6?sE!6<*Mf>B-!2{<;G<`as2B}7Nr6pZq>+6LL! zr-E$o-znpN`98?T5fx~@r(+x5daB@ zJWub)P&OhUnhjHsjhfnqvr$T0rK=ztIV#9To(i(jPzBj&qJnI+Qb9J_s~{VlRX7{x zs6X9QIz`g=q)7Uz@Nc11q}gPM3i2~r1^Iao5^yGjzQIRZO@nBDOyT@gr8Y~o%>j}$ zlC>(x*fy2OX0+Z*ZFZ@+N73*4knB^5Iz-oal7lLF&v{u!lN?cLDc9a(Dj16sDj171 zD#+>;6=d~470xQ>@U}{2T5lp&zR$aRFG$@ zN;1W@k+!M^3Ft(b-$#-J(af8|nLk8rUeGqVH13y3UQ|KmTdE-Q?NpHYE-J`;4;5s- zw+b>pPz9NPTLqaPp@PhhS3%}KP(kLWs^n1)dH$NGf*dYXK@PuA381X{(!J1nNWiC* z)#@Z$A(~ZFkX8Qv8~@AqK~_su4p`}amG*N%mF7Pong+B~I#&zmYj0=~RRcTChq#b*z#s`0mMOj%AVOg*TLFSha-u+{jUc%TYC zIWpxo-F5RjC&AjLq@0)Mdv>8J+i1^2Y0vz-^hTej(VqD`n6WCA>G^`cL-#BsAkmxt z<}z(nU1eXGmt|5Jsdb00G*5~Tf5&Hb8ToaN@dj5s_TzJbguj=Rs517X#j=RDN>Z6Y zvWDb&m8burJ0g-)l}M5wNzzpY4WJcrl5CatL~>R3zUgK8i`vvvIVMt|GIl-sDRC{Le2QJdFP=8)7N>7?>v zReFDlq?<}xlKLcXsC13DSXz+uS9zPH56NJad-P=YF3AX$6so#uB%@UtenjiIBokD2 z7kF7#l6(LOIIxnQVM*qx;Lg(&%sZywdT0vHWfh+V3ytbE1$U<(<5)haRF(Y1u~3Ca z@EG-HiHhYRoyR20Rl2=Mp9=M&D~ZaD-{~8>Bzsl(?z9C-sY*Y(d*@@FR{7yA`pd=C z=5LkWG!}hHE<*I~^gk8cvzdbX78RckRGAZKKc@Uj^}LMaG4|tgk>pzvpDL)j8mH*@ z3P>ucI7v>C1gTg^u8@SO1d{mBnHj6nrUKn3kR+(|C#g%4s)DPHONGzw_B0-DNWhl! zRNbWcDpg0&v-XqXgYWcd8=pOkjBo4~U@IR!R#)1p2omru-S_q*X$bMO;d(Zu?Mb@d zpf-)mwBh%tTSN5P+g1fvHdE%)73o9Tk12S=-;|*)dIR~%HlAx8XG7a)r0sDmjjMyo z)1MmOXzm0Fc&~^)=che)Q5oNu>itRaslJNt*UAWw#cKMm8@BQsov*8dRhm-uen)MF zsBoV7iZom$nQE+r+Kg05=|NA~Bx6-dD9Q^YQ&l#K%vO1@kv?&zHVahzH__*?z3G!9 zmGxot8%-pisl<>Zl5AG-5!s>AlI{v#pf-C{KA^d&kYv9~M{4s5$sv{5)TTAbuPWHj zF%|6RgbMa^S_S(#U&T)66t5#;E#*>`ToK$gU9Hkf1a~|4s>~9>(?o^9)gpMN_6z($ z1b0?JfxnAjb;TNZLj+IR(ScEvZSD`Avf~3?B6!NK8Q4q&PuVGf-9_;Hl^!@&1gk4` z1OF$2)s=$4Z#-hIEHw<|n&G44N%Q5vKSgj?`D)+|5#*;uU@VOYZ-x962R0BvetHFV z62a5ffWWs!@U-=I;A9cpoxT(JsR(j7HgK~Do;}A0o)AIoQv+{{;Mr<+pl=`Up&9AN zfl(eQ_QkBXAaI}|-dJy05V%2v??rjNWqsfu|8GCv1YVLhnB%qwJ`myj@CwY%z#4tc z{O}sczQC76I6u55^GjeS5!BD|z@Z|D{Z!x-5md{$z|A74mMejOh@e_-1zrFKjC?vV}zbu&cIuLD8LM3AvlL5DnI?&ng_Noj*8=qo`t zM3Axnf-1gcsvUIZDd6g)@-84C{nKm-|!2>w(A8H)|xB!Y~^1(%3$ z#(4e57JNel>p!)FV+R>M#QINGaD5Tv&>h^$BWCP{!QG5DzPJy6F?fe;g{pfo*!ZEj zVsFkNum8LjY^QrHu9gENy#CWYxQ$25J--#)L)sv#gM&wkU|nK(@Mj`emv}e$D-o!D>cnaE?dJ9G(eoXteRg zGts%=C9)Mp=Ung^5gr|0Bf1wHJk&TARx_RosqYbU&%q&0r42?WG^CpdMkg}l0}+f) z^^ip(7@fqB^&%J@d&rL>7@ayHe~4gooFO+vFc#S%vBQi$V=VGR8i-&lUI}S0g0W~G zGEf9#(K_T~5v(J14%r}rJa-Q%6~U@ezYy=?d~`EELqdW*QtXRo&tW0G4AE=Lu#goZ z$o!O$QW0c+en_PeW%s;1B+4Un?$G)VuPm(yv5R13X>~~U|J!O^NW&+#;`x9I7>QhO`f&aJFfsm6%8(%!{91KZ+$1^&v!ErJ!H-$KTV zV9o0Hkl7+wA1e)6CNkrsu_AOLWUB~Pjn0G|6v2wnKOv_?uxfNU z7m8r5DI#>E2-ccnL%$cnnqKwLKSi*9m=t=5pB2H{ zU|Q(&B3RdQgw_?ox>iPLBN41?WrubW!Mc_!bdX2Pvob$)oV39TRbl9C5v))(3|%9F z6{;qo--%#_szvBckC=Pz5?X$YCsJRmS#=F|>!P?h|(6%C2`+6^Qp$OK#J_-F@1Z!VwLa&Kn?Q2u0_j|^%u=e$J zXqX7rthR?1ieSxZU+5bmShG4DIz|L*R=C~>lqQOYlT`f zCm2V^x>l&QPz38*R%;6ptZRi^yBXq(b*(7tHjkKnj3e@%stn#rWaQrV0-t&t+gPrCIv5v-48S+foC#rjx|b%qGm$8xL} zWGk$X?%>BEo&Njk-w?q%+kESA z5v;QI)S-O>x{WEDb zwTyJ3@gG=5PImFK3@Ibi=rgjBWrTm#WLz2fi0+;ym628t>C>(Ma0g+8e$BMWxYClzHRo4&Wcri@&gOrI~8k(`QNmaR{U&wHn7#i)!_r}f^0BuA{> zj6C}yhsUftM3BQ{)-dWBjfF3Ac+A>Y1UWor-6Mh=9<# zW7foJ##YGTG3!VX55wn7e%S*M5~ zhsUhv4e>?}k69~yp?h&&x&ubkvy+OZVKzY8P(&Q$6kE4tPken+cZU3Wd zOBq>0a=nbiklZOFtLa#e%1Akq@_n8>`VTYd+aG1*(QI02FC!gW&|gU?BafER@5+{u zuJk-tt&G%POY8Gxg}yab^GVU)$wEA3^K>nG{cC))GB zD!Vp#S#n8ksr2h;d`^8wrT!}Vjc96fPo+1V7yN#&cNmW-e^%R!gufM4LB&p6aS!?W zYP5O1$oK`Gr&YSnH9ooaRe6(y`&>z7%pxyKQ#yKp%JxU}SwBgz%Jf5qgsIGI=4I(e zZK70Gki0_@tMYK5mt`VJb(L`X+;c8TVpyuDGK+mthxV{ZBB(=q*clPjp*<{{u9bYg zqYmw1Gel5__OMGLs6%^Ly;;Uqs6%_$d=b>4J?w@E>d+q6aJI1(>d+pxL0WlO&38O)(-nZ1a+7mwnYSWm>E_gf;!9&`%eUQSU;@XJflCT!-B9XBB;Znuvih) zVS}*eMNo$?g}oqxI&2j7k_hVXm9SzF)M4|m0V1fw)?x38pblRPn=^dB2UrOJo&mu*P?QaLf&*v~nYt0dg!qDr=n-UlGLs?v_+ zMUtB;8|Y4kiH2o9emf=Y-8 zUn7D_hz&0lK_w)GSNPaC7Ahe%Jj5ertvbVNNE_5fMz})+wUHB^FM`_04R0xe+Nc-a zO$4=35I$H0wee#3BoWj`qws|ysEwxK8$?hWt-|++pf+9$FBL&;bPB&Jg4*a7Uj7p! zcGSij;b9`EjsD?w5!A+@@LUnp#<1|FBB+f~;oU?~8{@)RpD$jC26n1*=SGF zS>iM??#*yL4{9ihN%LXF+P@JQ17)&d4uBa28}nZWqB>P&e|h2+o3fk$;QeEGUY+?-8@lFGq6Z z{EWtZ9!6(MV-@c61d^sI+(Uk6yPe87y87`GSqGJto9VC7(pDW++R@t1B9g8uZ;4{epHEVojoOCC{U4GoDu`l-3ip}c zz1gL5h~84>{rsSEn&bh=K9%8ZXkDT|y`QQwktB%ZSCxLWdL2#jhsuW{XH>WnlBvx_ z6^-WEH+jaGMkrzDjVL3>Cft3?`|o!dHN?B=uD$ zE;stqKxGXH_vaOrbP_&R3zcFLK32OZ%M#8;v1e}Lis}^A+z`(*HJ=5YqPmHoqPj*6 z5kW=ujG7{Xis~1&Py`hS*5{yfwZKTFdMzs(@jh%~n zLj*N;DQb)eYV3N{91+ymov76!sIf;;yG2lA<*ObSL5)3A^_mE3ta4SK&p8TnEJCaD z|MNMxlh(dIq&f^!*-x^ZNo^J0&pDC|73?Qhh4*ux z+PGABKNSYhs-g<-=UI}*D%ej;6;J(8n^r2kpL!%6RCqt#NqVX9Ruf4Esc?<)j5bQ; zJpGE%Y-%$`h4=g!$$Kii=WQgDRf>Dj^}9XIg(}1A8NUraSET{9`IWYsuhN|4EXk)T ze5|V^%T@STz5^|mFRO-m#fa(5(~DIfdc@rGwW@x!+Q`=p-ZPK#e^paO zc+Wh_5305j!Jf-UcNM`XSBQScBj%p{qNhk3-ZPK8fAkI!-ZPJTMD(R6_QT^I7aj6H zqdyq;=c8+Q#N2c3=oD##N=S(=6yalWB{-w|itw?x66!{OB!WsPi2h6jmGENp1`$+3 z!{`zbR6>*JGafPf(>nTwwBe(3ZM2P!rMZN&%17tg=o;O?Bj#59qqzm{^!W4BfhwF; z{?+2ZZo_7*yt9MnLQ|JmoGEv2!*6{gx zaH>i-k&jgJ2GXzj(N=R*nu&a>GO?raU7?jK3rKj+YgNKJd0E=fe!f((lXNHfTICFF zHGt$>l}9AQNp`E`(pK-1{HW5BWDd#CDudsk)ee&5D&s^>s$5t|zr#Rn&Z;~h;csMI zR>`GoaGRSdO-Z=T!|2vB?mVCJm{y4CA%Zcj81uFW#`Kw(2_hKNN-^_9Fs4;vmWyCa zgJQObU`#_}4v1h(BV*2qU`(sU+!4W;#>e=5!F5>djWJD%Nf*JGrp6SDU`$_#86bi& z&5LXGfxC#+AwCV2*&i)m|Y?m)8;WpMKGqVV=OC-9%4*8#UzMeOnb#-iC|3o z#WWVdn7$P=SOjA_B4(io#&lfF9ubV`hcTBuVxGA(W4JdsbNOy?whE8(k5n7;Rd@vX zuKQCJzKZgU_PGj=;4ie*|5O%^pwCZ9R;#QexkU1%N*DT#yIUk*$2^cejR zVX-&*^LP=>CS3&mITTYMg8m$iX(xjI{2ntv1pPS?GeHFXIUBRcBWA`fX`i`= zeBW|Kh2I|Wdz04eR8aFbR8aG`RQTM9qOI<#?CeZyY$OjB(AoiLFVt*^P{3;9mqq$pRe>;{xKVw1cqhp(jAohu|Z(}QoYg+6K z5yU$7GnP{2;8_IxMyOA+k(UhH=w*z<$f z!y?%8qu8?|*mJpOZ+pb7=ck^PJ_ocbpkI@sqgPaUt~d3!j2x#s0{-TO*{0JV`h>2G zl&3Zpsu;6P;!?T?C?mffr`6~(!oTVoSVor7vv61$`Q<#VFqDx6ar6!AGEyspL{!@aGqyD*R1T{`?|Bg@5^<+eE80AmKLERJOLFZ$Z-0<5hkUv8ybh-v#CC za~+jiG?RCutx{Dg(9s8yWT^D*V6=Hb)9d68^-ey~=uN(@|x=wCSS4adF1Fsc>AJv0f^_KB8~OQV;v8+$Nbw z@}>&^Mf8tIhN#pL8LpB~+4zLoj8thOGFFB2vz*$DSK<5|A(^kj`QbKeR5(A}<~x;v zB$r5zsw^S#A4KP>$`NUEN2LNCi`!JJX7T*X_lcr5)kwlr3Poa7lBhp?tVETTB)p$= zm2uLhP~}T$(^BQv=EkwQsaU8DAHAm4(t~q{`RQW~|B)$~^C9 zyvj8a-p?eJ6(pH-^eHM^NE(vNRzdwNR6+eLQQ`A~&$wkOd|tGq{j5^qaqmd7L50VC z2+4L89(QiDSB1x&+x((}{G3!le$J>MKj&4DpGzt@-><6Re7~uJxbCSSE=zTb=U=`L z$2Ea^_>>CAwSc6u3dhB5B2+joZc{@Aan)2oTy<0smqP_{WvXyoJQl`Z%jQ{_K3gQ}}g1APjAg*yLh-;z>#_K~BjMsD(#5G$5 zaebn~ajm3mEK%XOz9m_y!f|n%jVc@$x7n_Oxb~+@)lflPi7MP@ zzDC(qxX*lzs-=Sdq^h7l=_=??whH=_tHS-^)s=cG+#jA#3sf-2y{LjY?j;qT<9I)f zRd|l${WMXDAmMv}<|?&F_#U8*%9Zv;n+_`FrA-$V#NI;%vG-O%?EO^``&%j)iya#RI1 zU#fzdKdHiTas8Z8;kdYd{!!t$xXl$6j*Hv;r-Hcds35NUDv0Zm3gYsLvv~gH`*2)* zo|aePxcEG+sDeKGsi4nQRM6*874$h$1$~ZHL7%IupwICt=(9~FpL)n+VOPOe)KbA% zq^e*n(p3;wwhH2MsUWU=6~xs*1#vZ2L0nB#5La^*#MMeAU*c-3g19=UAg<0Th>L%t zm;cdkc}e~BQbAn(R1nu&Du`>S3gQ~6g1E-0Ag*yLh--pMeg|W`CaEBpd@aO z2v!D4;$qhuTVZ9OByO+>Rt8Gq4vJu9pd>DFgRvD>21?>aieP1+B<`pPRt8GqYJF*J zg_VJlxN(MfV`ZQuZng+k1`ft87s1NFk+>})SQ+>&Zm$Sd29Cv*ieP2n&$ufhSQ$7K zXW8iKk2h8Z&cy|aU}fM!T%rh82Cl}vAcB>FTX8RW#9R@&6W3PSaLx0z_g-9I5w3Z@ z_CAgqE7G@v(WZR-Y!SX^<2FynuMpw$l=tHwze9x2Q*IL!e?)}mQ*IL$e_n*=Q*Ki= z{(%VA3aZ8XZ8BoVT0vZVlnB-e665V6SSxrgKHDQ^q&4FkNE?on&!$@O?L;_IKATeG z`-oumAU%GJ2v!er;%ABA3Xm87xd^TR_2V~*72%BW%0T1z zsLe*CoUtP$o#WezaK^aJ;Q09>oH1@QDZW$$s|O3?gTFHNgVlpI@eM_=daxsYtO!;Q z4#sa4!Ro=u_%k9{Jvbllx5d~qRu8Vm*Av0&fhA#>2v!d&Cu|VG>OpM6B@wJ1)Jh2c z+SoHz57HAdL~w=7O=uv3D`dTdb|Sb!7AEu&!4!0v~2%dKaCo~n| zO5nAE5eXwjxDt4+U_!zQ5v~MoGb7=s2v-8PS&-oUjnN-uYKHs=yjML1G!b2Xuz2qL|g&_@K3K1vuRf=J6HP8UI>PbGfl5i`?(G%xWh z5k%TBai0hxZJhXr2qJBo_^${eZJFq`gZpDf+BUJWM~b~MrmrQ|5W$#sN=z3)q}>u< z7D1%F6FZA=q`bl~FmaLyN6ISi48nrM!GDqwY0%`x;(L$2+q@0i6cZ1>AJ)jB8YTz;tCOr>9)k9 zA{f&>iRE`1QD97ePOK$@F)dAOC4xxLCH53Sq!$v0iy+b~iIYVT>Gi}#9x)@mmAFRQ zAksUDJ4F!bgTx~u90kvV7TY-yj)LdG^0qr7=wU_MGrNqq&_h34ln8oQ*;Z2oJq)(x zdc^Eun5~ht;U4muLxiop2=|cJ9ID#-h+u||wY?*P8MeA@vIx(xyq|d60+BW(ydRrw zwMYaB-*4D$yF_Y{@cl+@+ixORyKvYpieT*`%l23V*~qn3`OZTBioKDIdba8!$VQ

Q#YZH)+zDPOf- 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 literal 0 HcmV?d00001 diff --git a/libs/v26/SAP2000v1.dll b/libs/v26/SAP2000v1.dll new file mode 100644 index 0000000000000000000000000000000000000000..28252ab3f87b1f2ef698d0fcdbeb5df9ce2fca1a GIT binary patch literal 488968 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 z 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

=k$*Li-dD}M=KZ9bE0KF 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%0DQas&gK@?!>Tl}!mmT0v1pyC)#sDIlX;twY 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 z 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

nq#Oup9VFuv$^- z8Q+INvl{uo(6UZih`}jX^Q;*NUxNR0ENj#`Cnzv021B^ey3Q(Da|OT3 zx)NbEv{p*RPen{v4yWpP(z_rySD{C5LYunLQ|sL8(XU&r3`8;o$-NRGioycRwPr~T z9&oFrE_B8$r0PalxNaM1*JzPqerw`P^mqR;wHl}3 z|7`qUj{kZ1@8PVnKGyr?S1x?x(yQJ-yWuU*er)}zR#U8@A=((T8b$zVZ)dQTATn}% z$GC=$PW6}|vDd0VvwF0thoc@j^_Zp})78UMj~VLGqaI7uW4U^48YT5qYWlfFKkw1c zt@^o5Key}W4*lGzpS$#Pw|?%?&m;QzoPIv9pD*a=QT6O^($A=VHtT1bevZ@63HsTo zpE3QMq@R=ZbBcc2`swIrPCuvV=XCw_^mB%O&eG30`Z-TOck8F_U;kbmeoR02>E|>0 zd00O+ANn;P`ZXW=Us3T@OFuOqs+tc~&4;SyLsj>ys{2*d{iy1GRCT+ny4_XX?&^G9 z{sR5HSwA=FXGK42`gxarZqd)3`ngL#ckAbV{XC$b2lex5{XC?fnjclokLnRke@;K2 z*UuO9^Qe9v)6W<6^JV>fMLh>B{cO_DsD3uGRE*;*jpL_IkuYNwJpZoMv^KC%$ZQ!7$KdqmK^z#}0JglEb^i%U~ zK=W6T;)BUOGc5Sv){>@SSY#vGdSNWWJJR2EniGCVuHI5u>MMk!aj*X18@F#N8 zs8NxY*4B=htsS!?BU_<6TSmkp4bezb%<7mq0-*9Fh}5F3(GgapwY7C5;l$37qatTo z$aE&Ot~J(*j_kFZeUy(6rKjvHB7 zG&-uOqZ#$jMpBfGTmmAkV@8eWXzuK2Zt0jk(rQFh>&c@=BVkuZZ)S;pheNlO8@wd%H{?^+AD8IuRy}z#MbC>SZ8Yl5>w!Qy?_Wn56wXxRdn1#%52R2fktr!s`!4O&#IgXtqOl+Olh=Gi> zwna~EYieS>x^t$JjU&fMXHY1{6TrWHH~TL zXj3WLIyN!1$%Gt+oY9iIt)uqX2n1`7nQ-MEhAa1&@W2Fy2PXL8yCi&<3D+cC3&LBZ zye)pblvnf1t8JC|t$zF-3Gea4`z5^JgeylFt{m~h+a$cr5ATrh4%53FdzUkzX$(y> zX=?|h>;op;Ka1i1S$=q*g!h?n?UC1U9aqt^t()H(^=Ydle#Kht@>T9O4q7>*D4}nl|3f+4CbC; za@U?_*|n!lxUy5~+G)c5bEIu^$e4jmhB_eZ3c}T!nW}oTiLc7wRQ2HWbS!0^OUKBh zs~qX5JTH|z9}tcT;b=e*mQ84zMZhy?^&2zEelgx~~(X+oG55IiAx0ijI@Z2@7j5GDtN zDMFYM5OPAu1%&BBm>v*j2tki@|GW-U{JxHU5sCgiIxPr$CGFmTuv-YbHQ~9A{%3^n zOh7m+gu?;hh!Bnh1R3RiJ<8Q79aUjfRkNx(t)nV!283``=c$aUj_Q6P?3e5ZRXUOn3i+UrpAN`R3pqqMCWK>tih(u~2HJc=RoDth?z|9?UyzJ1 z2>ED0J}Tr8;eZehNV-Eoxl5gzAd{;T0jgq6wQi1~y2R z4KzCSfx0ARLwyhXaBL?SR$=18APe`M|Ltg~;!K z5on|k$sI6~3&JibbXSmNw-9y*ggrvoBOTZokar3>MA$2Yy+I0*{sANXs7s`2Kuc3? zQ%7wBvjAe3(m$KKr;h%squ9Ar?!_N%eQYZttr@s--s$v*^{WLm4&yC zX|H?@B>-XzGiD?xu-hXO8)@lJY=rE#vZd0O7gU6cX5)!MWC8wOqWm^NnloTYLAqpIv+5jJ|*W(+&33AN)e? z>DV{U*wpc>FFkh0k@uau|F7>{{MSS8j(+^c>f3)cbLXge|L6Db&pdU1>gn&FH150~ zfBwGPHoWtK?&N`v-#+@y$oJwK&sg})E1C{{?p+IFJEPep{d31$u=uvN-~8xZ*;SwX z%yn<=nfbuE7mfYmnWI)b_=7k6OZ3gg#kKBMC+kLNnnrxTn(&`B_n;CzC!2x0{AI$BNV z5WI!}JhYn5B{+{@GQkA|7ZO}V0AHom6eoZW*J`?$z$Spx-)e#<)M`o*I0R{e3_+G4 zN029guh(jNEx|N`O9@^_a2dgL0yuuHrXqn$;1QGv$^>wgT21g8TTL?wUQciZ!7PH= z1XmJVMKFipYJ#~0*AT$ZYBgO;a2>(*1oH{rKyU-W8wubAwwi7vIFn%etFOM=bT7eu z1oso{0GO}}o?Lp^*TK6?kFfFXcBqIjsiC34YQ7xlSHUAqZ*mg~cr`M`qA19ZMvh$; zeapB{UH+5XwqB+wS59y0L5k>yKg6F0FVo0Vmo@Y7pa;J9F8HB!;@tFTN`4v*@_SQ` zHNDkChQ-q0`hUOw^o#%XvWD>uosA>}7pa0H-oj9@>(K@>6v|MM9496&!a^&evJ zMS#jPh+M$X^8nRx1P(zbfkzM{m<&+ai?pkOY;FRm9VNyLwHiR>E`ogw9wyk0v>Qk| z0MO5>Hn%Z&2=w_tsuKt%k#rcOn}O6`VCZRp{+$2=EVjxrsymQkEs)B~0R0v*mRNa( zL6+9fF7&gI{-p%V37EB??d@mYeiqlyR`%aRu#KRHU=u-wU<<)kg6#wc2o4hLCt&mX z+3Wse1Z+z+M=*ncRaRMBm4#N960qJX%d4`sD(kJX)VEr|lfECu*>>8`7u@N;kr^fngtiL9;O(Hg#pp$@Ism&l*PEd)A zL`&K?qwx04NYK6+nc6oaQ~PFQYTu0X?VC|y`({+#z8ST)Z$@L=H>0ubo6*?z%_yyX zGg{KV87*nwj25?Vo=<=_wQojq+Bc&)?VFbppw{-ys|nT;Y#`V~P$8%h+(od3;2wgl z1ltI<6YL<^NwAAxH^Cl)y#$XD>?7DuaDd<-!P5kX2%aH092prw|2Mxp8vZ!treg3F z9fVKH$DA=L34KvMTDiwZ2POpQT|Qb1p<4oKkgc{gpzaCK{XSYb5}?}xbcf%toR3ZO zqiY9zw0~BB?(@;wF(0k$_6zWQV(p-h_P^qz)hPkm6re%9)o4I%^U=x{zlI*4xEaQf zaqb=R(ap_1THEBKm0Ey?_!a8THou1DLDKC$+W(x7ZVsAQ+2!Y&?#EYyc2$GMRQC8u zXZT5LPy1+Pr;ql}@zH^x3)P!_Y867=afhV~q|*h#rjrym#Oo5mkB0E)Lih{J6x9TA zvxM+4y*Wf57s4lm@JS)OGla)NxE;cs5I!x0dm+3ngij9PQ$lzygijCQGuS!9e0oF} z_6ww6#3ZImB!oi^bllr$hL$03R?MWBTUO+lK0XnM12=5ZQ zf?EWaSRBPL{T_k)331p$xD5~`VgoNtiaEchlu99ggf;2!)7(TI>#k5xOiv9RSr-cE=^2$ldgTOHGh;#`4H zimdD*c?JnMFaX3c0bu`}(Xl49fD9pzaAXKUjA;V78P_D6B# zj4}{v1D}btz*;*gHX@3X+KF=hNj|e+<^l=cfCl`l-bW_HaH?vCq-`S7wIC^My+IKe zF~%W6ifL<64;e+owY0ECl!F09=#1FtaH&k7{*ZrsY*aW-S0{cPeOx+;AWWW5gV<(*`DO%7hZDnz&L{$vgY>kaXK2jr6y(F3#Y2zPTuW~UC|EXAe zxDu5r40V6~=AqhB?9_iQkDu8`P|C@g(QFe()wDm_A?+tg{>)IdMX3oO0XXM3SyiH_ zA7%~|Em9+WZ)rV0))H>4$}vQzSavH0owFImM3h+QM^sZ=uZ*1@Wevdyszw41F7qFu z#A7G_6UAK}JL8{7{g2cyBRRM`U=jNAPxR}|*qCs;1~cM3j6lGz!Lh7NehaZv{*h!S z=vF(#qP`+K25|}cr@G~LZiuEFuPk&PnYTenC*saH$ZyaLEg5Odvw%26%|rI@BGM;52`F& z(bFmaSh?zoQca=e7ganF%NtSZp9x%4hz;f%j|Px>V#`_JaFlQSv`)lZKgTDekpUeQ zvO=OET-hm9|FBb<*e=0GaaC=JLZv~|MdT5UK&SE@9-LTEr$!O&XF*d`WE2WlL|PRE zI^GULCj0~ypbDKj!UZTIwK7BNsd{B**F%4i`svF4w5rzXWLOBez~ZeRlmZ$-Gm6%v z*4CCFfK|^Av1(~?IOAw`4`sAsT~-*fC^jOeTJphgR1qbcm{6<`mL;|UW6qCt$Wkjy zr{bz%N!@ci((%ZR#@@o@@Ykf?uJcb0m z1=!Lui?dT{Y7JGFgE94`nFAz$z8&FH(0u-d%_={eMx-0az*i7aIjdI|3)=-LJI$D6 zWJUN-q!P(t<%-Cuy6TcNtFcuEN2j(7BA6)0|1werii3rpaU#Vg9m-}CPbQJEI(z{J zUYTBq=D6{fd8Dlxuoo~aky7LhXN9PTaq{01Z8?Q?Q^C%_PQv4u9)cj%lV|zl(`iGr zwnkL)X>ghPQR8Sqnu2oNmY}9K@PO?>`{BsMUyBk7%_t>&()M$NK{A~b$H;BwMOIZn zXk=hbwo;PW3H2A)nHV`yI<2tOFs7k2G6rIB=>loQo5DF&IQ%kkVBey2zK$iEiRT3# z)oL1ZQ<;xwoj=BGhNO}mP347gA~}R=c;xxxdA%GiP1{5fU*B7Dd1RkTS6)o zQ7Hl=s~RCiH&c+L7K$TFP<0|CT+y9rF$#u!Gu-rf)FJxBjI^+Jg5K~2=}l@;MnUVb z0$`pTwDMUUHRVmUN&EoHP*UHL6VGqG%=OB4%V&5#L3aS&JBmUeTVsD=m^kxg1KXoJg4 z^%apKla!s9*cwi+S*6x?rc=HWCJU9JQ^`Ouks1-SM$$-=4AVPBPpF2f)s3=)Sc336 ztwu|g%yAMHwqOY)izJ5>IhN(2n^+V@l``gZnJ~wV8B6im$iNUD6;Q*<1!FmmS`nrC z?O{%t&#f)6eAyaQKUm7pZsZC6>cwbqtdT*A4#xnCxsnT6Guq&6Qmz@J&3rL4(!-3f zq%lh&ae%P4xO&mhmg!1`A%dvYOG`v4WhqeDCH3l+FzBr`I~;}12eH1OfCSr%91_N$ zHraDXpk$@sK`&%9y;VKs!5N^tlew;vY{Ps^0yi;IIpsi*GPJJcl2%IL+Qw^7rU@~td zvn8TURS^YosSqX$oMMVn#GDYP3!LFQ%D@1h<36IfBJA>ss{i4r)+w>^Sd0UElCs6+ zgim5hKy}EYZw{sXk7}I28X>ckQdwqz$`bRBcPJQHX-i#){^2&Bs1UW45nUA(9mrlo z%xTYX!g5OTU+KBX$s*>kA0sUj@f)$V4^!)BNlJFAU&Go^=yYMMT0oQ{_t)bKVq;OM z?5a2xs$Nr+c}kHJbjnaMToPKKt(05Xj4E4haA1KYp<1S*bCO_WNABr)y}q*>v- zs-aTCg|TtNB=F17Y-yP+?I(F~S%Z?+x5;qC&!|LN1qn@~b&quEIy4oILDPYu5}U^8 z)N$xP!zENW{xPqx8~s!vvzs4Zma zsbna(Q_o*^S(Xt!e`OXc`<~MUmNsAuc1YZ%YYGW|5?bbxq=Vvbl0cu~=Tr)OKoT11 zr%<|&r~759YLQ&@BNB2AS3kOp(At7!$=3^hT1Evu~=MJ~2dt{R`PL z1)*AIFsS6o$b*qCk+?vrPLwbb=t{|jGDFFO*>Zd&S{0~5l}o{(H3s_! zk_JtW3|}eBi-dRTb)0F71iHJvxn?3og1KuFm?j1)W7twmA0uJA+pL%qA>~;0hnk1O z^+%7L+343ZZeggc00UsJ}o>aE0bCa!nDp;c$tRCGICaTlha@VqILP?6SiZGJ;MD z)Fqoq(;Bo%8l*FxCVOlSn^27cKx}BsxaEAYxrb~(U1_fs`|||pRO%oPTcKNG1b9pA zMEt`}0`Do%<$A(eFjDw%&#-J`>?wm;hJnYe38#u#RbM!hcPM9s;*&^k%WM7)SC}pJ zPjG}&f_dV9zki&5nr|2UL#bJAT6Qn>U6WG6qf$RMke>JuxnNEnmq)cdJQpc|+99N7 zo6M}R=8;&V5d0amTFrCRt))ZHbMc>1R2joxar&!dQj%J2gIsF!ua+?+Q;VTWZv;>B zDO;vK!XyZul2lnBgOf^>@(eSI2Z*af^Jn#$B5TreZK^BXNXrAsjU!sMTuA;=Cj=dZ z;m>e3+&#TxWsS$sKd;ZTdjrwZVdHmT-7%EQ54=u#GRnNH zgFGM*oD)V-@RX%ag+!VOK$fLWlMy^!X&v$ce-I|k4n!Fn7^rH5&Lzt#9W7j=Q6Kz+ zr%+)_*IA0+b)}G*NF78niIP@5OmK>7ilkA67`93p<<(bBA8N$4T!(taHAC@QF+bq5 zPAjXp?#u9reMyJmVz>xQxnKsD9MloUqyw_MG6nbp!I20WX?maT zB26*cL1KnF`U65M9vU)4&4#mjk@mpv{1KY?lF~g$S8917jLM* z^R8PTYByUaOQ{-2S^PR=?F$hw!fHBlu$e@MfFU$q6d;m=ow`c+_vK9!u!u*KIE)a? zWR!e-vjk1T8yKxPBETRJ6U$j-5^11=B2X0Iy3P#+qKo31jpTSKg*EWC0IY%Gj*y7) zk@?Rg2&*?*P^3m$ad?IIdGKDrb`+yu7ukNYG{p=&@~QU(C@SclS_hB=1B=?#Ig;r$ z;*p#!)Y;Xk6hmQ)Yx}9fFs`6Vk(<;aBA^YTBe%(+QmW+u=~_&VdOBl<&e1Y#j&RFS zKF+f^A}m*G^PN=G<{V`3)SNYd7xY5&RD~>(7mL6lNSiq&REM+J3TbbN=*u9eqh*XB z0H|Be&NyVC;e{OX3z*JcA8n4s87b?FN~X@^Wbt8h)yWu&;|{4hof{$l|mp+=Jt?4D-C zJYmOtfwKh85x79!_JhZUQ&Eqr;U&hHe|Rfh??x-?+yQUiRCtW3T7wi)QbizMz6aYk z3A{_-eu2lr?_Fb@C_g8JtXAF@)~!;~sIncOlc@*2X?}bnMPX7l3HOVzsRsqhyZyLY zgp?Nq9u;^%;30vs|Hfq?O!J(;mkDvp2cabt*_Y!I52krV=uv@9LU~c}4Sc6`0zs#Q zw+NJ)2A*q!rqn%_zQS)H1O$Ww^3IVOC&tU^Jw{F<#gl+*GT0pH7Vgj>eviPd0#yUI z3BJ9ZQy=W`haPHf5JjfZzz#{jPvBz$_X`x33>+3*n1|afSfj8I_gE0$C2+UEJp%U% z6sF?338vX8lZ}cN8jX8?K}EknAE1R?Ie~>;7{Z>ALKcByT9#PbpiU_vViUx3B|PP< zDqfZTNJuc*3zFcAz|bPMJZtra-_YgjDpvX+)!btff&LJK`-^Nx{7i$^ozBkE<$& zkVSK)7Uom3!Y)-K!lF?IMd&!>2z#(V^)sP;m9X13$f0~h5FGy<5%sPqr-#HTeZ`T2 zCoTxkZa|@Wi20@hLh5B%`6!O$r9f#3kyxr!ewe0Wob%)-b#g2u^SkD>=$cAQuof=WOX;{{@` z`ZAst7E*JJSqDZNX_T^O5yy{-9(cqJ8WTh?um3UxYGuDb@~4s%u3D&uL-8E0UoIE0M37qB_11-dZx``4L z&)E9oyGd&BrjG1v%=<4K3NcG`(MqtOW}x4YOK}3jCc>yWAw8D2X~fV#GT{YAB|^r8 z7iiTg-8RK_95-M1{H`bj4hOy54~oE@0g4&wO?0(g)7(+pa77xDWhe`O z0mlce$9`2o3Y8iS{kxz1!n_3gWPN~*1H+rP4>HP5jqmuX@dTxVqtBPI0+M1RXNlzC zzLRr?n+{U6-Uda5$BJRE9c*kY(kKxHLi=8-mw6V9zo-DED41T4ovKo$QfdLp!hCWi z%q%64(TQlhQSz$&0(Gnuik^vfQg$UffqCn*T9xUuI$Q;M!g9vZlvQ(`eN$82c-NKD zsaguB=Rf^Pxr+b3464E(24T?O;K2{|Qb(B);RvC#YWmBLR`egDWiO^mXC6>wOte1t zRj6u$&x_-0X3?^f)Z)Oog9Ap$haLlzaC~;7kCYHeo{MFNimNx6&(EO{e@f84}`J0YJ$vL z8Y{?(LJ{XnFZwWSH;kSWPGPo#Su|FI&T?U3{VW5hIb~vBjo*ZVO%o2woRTh7-X^m> zC@IGQkqTBguLQ9Ghg>yw=UNfXmSws_J^)mT98 ze36q4m7g)VYq+hW4R@uyY&_B^3>?5zmY)bjmp@cNm~=2`$!}tcj=ce2#vIM7k?+Mt zYY#NxGV0b*R-^$t;ANw&#s)klv~@`4STr-VZjqySEHe7v;$EJ=pKAeuWQFzoIQ_sph>WO;{ zgpMooRJ?g^(P5pgwpEAs=;wa*#JwMqud+=)cc|)e>M>2HKA@hs@IzAf@6+^S>RH*X zl6#tbP$zpuJ#o2(WUDsmr!KY{)!{bvtf0~CYmW+Uw$!tBNQawsc$0coYWivVW?F^5 zu$bjKdb@h|Kc}9Xb*+_MD%o^JuIk#Vx|Rw!#ZqRd=-SijS=p(c{d3e4_duw=-K?Km zRJNrZJyGPYJdbMw1UYJu=M3_KM*5p@1pw3ZM-9?!kZ}f?V30`$=`={pAhtmqgG@7s zXOK37Og6|AgX9b{-5@i7Q0kCro-}X|t|<^?uR(SjO9dYouy-RPkOc zuHl^CQJp5pJbdO~kog9gWso@rSzwR~t_G0AHG^z2$Xy26k82$y%|U}aZIELc8E7+< z=MD0LL5>>afI$u!)j*=mq&20_zR8n8eiV1Yu=P=%l~3PJl6vfUs%46@H4j~QgY zLC|xR>##wOfzr;Z)PgIbQ9EvgCY&#DmcTgz7YM8ftO?vC z@GgP-1s)@Wvy&wp6!^42Rm%&49~F2&;30w1DmXit>p6ih6T;a^XbDAH3uh3BFz64uSgwJ|=L#Kxr|2 zkt{*_245s`=^=cP#CHkYEpU&(y#l4r@I^AsPQuy-h))#%k!XXy8S_kD5IZk&%Jply zR^waXN*lU+<%_E2+gbY>kd9Zj;)~51tk!D^bCR}g#|m?1#@6GG(`0;+j=7x6!=@*PxDIx2y{q ztVxA}=Xr^w6EE6nC+@hJQoLa2a`9{;QLr;fCtXbALe}O6YgBToGu57o3tTU6uuhwL zWoaJ10exjp*P5Ow`pe@kU7wt4gIlfR%IIG2t@vU>{k@P^BG}F>=!wb`LsGN`jld6^ zWsoL=j4%lAzm+t+16L4Ufh!2F!4-s8;R?cAZw2Aaw}SBYTS0gOt{~$La*9EC8?Hnx zG6=866$)?06@(Y#3c`DA1>s$`g77L^L3o|5AiUvL5Zs!5Z*c~NZKGVgPd&;UePOQculV$ysB3aUeYT_ z#vr@_SSY*&SPvR2qN)I?s13vufl^}1e5RN~&QiQw%9i3zs*sE4^QCM&Zx1+Td%-PC!>MWj2KlI$1ZKOeRwh6*n0#7P7^7(kt8fR6gstMpViWjEs%= ze8zR-4q6p2B)}>spU9?DIrK261;9xbOG!7MjhF2lR?2j~1Odnt;)S&5+2ypCvmMP( zFJCOVN!N*&Y;?;hmt1hE!$N|+;y`Uqr8pbVe&*KYbQ#{ zM5>t3LX|G(i}?%$wU|P;9k4o{cgyK`CXsMT8Hj1pjFDH&6})uWiD%F?q%1*XbH!{t zUBa-JOL??aOGvt4=gZl$7e`+(?vNY^M-Jm!faGKPq}&8nG~s7Dk1@*H@od&Bpq-g? zyqHdT@j@<}NSB-}%pN_Ou4lXXQYr+*>C#Cu6m7JWLDR_`N2g)Rm+6yk`a{=;D&Luo5 z9yLaVd_IGzS&E}baw+4*^EtZ|&pD{bDJDx8WId1awp&bq)k()jkJ1^iG68>_PKr~#xbLyU6CTme1GU_MvI)%1B4!Cj)6GFRQu%lS z6QvB!<%_PK#c52dVjA(#M&MG(w&S^UIvG!9>`XS1$ze9>c9tLydFb|d(uJCHN|?&U zER?eYbyLFZOgkkk)0EGWo642T80bP7bvjuOQU~oE$5hW_IP9fhAXAWe zNI|>^jTg^kpxujJwv=|Yd}3Y|vn7m?mrP?8gWX^y^peBrk+sX^gqiPl$#K$YEFG95 zm>n4~sE|sP;&wg_8OvshXuoQwlZ8Oo(DmhPk|m|EG(Z`~6S+(oD^n&}GWs)(kw_+> zUQ!9P4r&;>E$W^&MhV&&R)@WT};A~oz*ig;bw}Shb175H4i!)GaoBgI_^0b_ADd> zYD~2=V?*7zSTQqpl4}PfHJ?a;0Xesj#iC}HZBu3;G zww%D%dtTFJ7tV}3VO+gkmhrk^cfdRuIwI4y+vtuL!dP8VU;l)-F43B*aO%;1P_3M1u3E z2)%>(jA@ljVKK^-y;2fZJ*CbmCsUb{jp32n-6Yn{jGf1lhh}-0j+o6VWgcr$I`6`; zDkP!nQm`Hh7~eRg8_GI`>6q8;%qNg359=fCLfJc5aKXv~baFlkh3h)`R8IFjQ!3`X zgomgMIbVQk%qI((c&_ZFvBpEy<&9v<-VR2?@#2yu!Mf#ymo|GRb1zE|tnoo_l+a zCbXuLP8G`WWC@*dQZR7xSa9OyTppv4$|c>Dmicrh2~K1%8Os^W_aqpU14A(d5@pQx z9175y!Oo>%mT(?HQlLL`m`9wOFv+rR8Kz9$(c=!aT7*8x#FGWuHjsa$ggsP-HgutH z68W@Vj}~PTi*h|(UGbhgbfJ??cE@wQscz`cM6xH9&STE&+IwwhaU!v3aok>E~Ox2QV{=EM_=6N?ew4Sp^H=exUlbBhz*PH#_MkCBU& z%!Q)DjHD#nFq(3-E>fQB!7@x23uZmS;(+16I#5htWrGDxg@}|kDlZmFF#5`RG)o2O z@**t6OtFk{FF}n#sidI2oib#{b5f33J6sqWxfJa>n4V68R(cL=al)lJ?4}ZSLbo$n zfMt+&pzCCe(lAz_r5vb~axnp+fpXV(S|jebIV%l>{Kd?jg}M7rl`RjmI=nhv1@^<#*ban zvV;v*8Kx#S8eR$fOgShMDvXu@)K{*M&Kk?A2u1H=+k{ObmP~lQFgt7pQ&HsjQXU}OK4^h8kLG2yn#-}EQT?M{SoW|$eH7& z^?Zj-k%O%v`V}c%$b2z{wV@0<5F3zGBIjsH&cGb>oCKDBw4d50ft^wrT(I*F1{fxI zQgc2Bi!f70o#hln4|WK2ayBgsSbnhkPPvMGcaiz^1cM%!B>;EH)ir3ye6$&xBpVq=jbixUxA|oWM$Guv{jSvbo(zkvmdswD$`52F60IxK@$U9Ldrapxl@1;dxeX#j*E*$>1fh;OjE6 zdCrxwvy4NxK|ZtC!lCPVti?I(^NZy~HmkXWtwYl0iUHk%S)9y(OE%RM%pV9pO%Xlr zg=DsnfGHkNVSYhE5?qfQa5e|iK2^w;%SM*qzA0rAuoPgya@FQ;0s@Q4l*}i%rX_NE z+;dJAa|4?wkE{geVFX|?!wv=GnZ`6uX7ntEPXOj5Y+me^(W6wEGYSSy0&5KRaah-k z1(=1^0XGNSGT632mLTqV55^lzZftb1q+?Xn7`a&SV9in=!2E))gSE!}c^RgaS57Cf zc<7YrY&uiQ!Os8_AKnElj<9Vo=~LKhLy;D9uA{jGES-a=39<(EW5)+BVQyjEOKF%Q z`9ii}Y#Vq?(kU3zUdhIMFJnIEp*P}g+0JGlh>q=P`Gm-%^4#?lv$X3HFoB`pAg-|F zlgV;E1G`l9sFcKdmx7|n7db{)aIimuUFVd_Ss352jk3DTG<+F$E(=30!;=FWi&74D zF9yPcPQqxEjOPUMTCkz2u{)zj!iK*CvluC%VRIOiEOrXIb}x-;ldyipZv%T1iiT?k z)E9hlE)=t|m(tj~(WjS%&|?;3@r3q+INK>3okYV8KNH{@+60Rm9xwDAoyk#;qc4~@ za5E&!nx9EHVbD67AW%6@7CR-F1Tc!y*vUXz;knUL2lEB)6f7HV21APB!x)t?k5aJX zosiCi*|HKdqAUR5S$PPXLGsKQ*t+=P)@ zfJTJb48ci4=akHhgTgPsZB>qE!D7s~GWX}0n;v8x$~sr_j15*OC*2I}QRrl*#F~!v z8>S;HRV-WSLN00RF|t!mQq1yHiA*hW&!3gEr8M}5wJPiC9wig-fF__hFbOe_GFZBc z&??w>B(cST`QVzJKIc1TBy67~oDr}OF`5qchENGGim~wr6I9<5iDIG*YZ_(`clwZV z^qtNd_~uHm6iev8N{OWrZbfVc(`=&BpDAR72EqcDcA&v@N*Fc}w=(vl@YJB4@N;3w zgtdk_0Q(P}OX|_Yc9L6l`n2d+PD6du9<2CGiQ4HcflmOOFGJJW3BA5!eJD5yOyDy7tkg?b5j^;r zbD1KYBZWjFty9`r>{n9YO&0E1@)MISLm`EfV#!XsSQ=IB*v`^&hXq*XuH1vviK`qY zKoaF9(O+$Y72!{Sj~kkU3_?55#4I*mu*e|#MVN0XJv(4PWZY~SK7lf=ivlMw<|GzJ zEajyv7;5&g@IS$>!0@4CwCiB17dfuj9Khd|E@Mg2wcFW35!M$pLsDiOeC1eSVbi7y z@Ls|WfvZvVC|6FGTXd@yd3Yq1Mk5qh3p zIG7h$50aP#sz(L5<>3y1>mC*)B$=M&9K-~>%`6=?rJQH1N|c3-A}v79IC#1+-(j-B z{DaV?ybPSYs?1Uf=P+=)!_7|rl1uB>#t}g&mBfNt#9Yd2n*lx_Sl_hk@<;@o3|+^? z6Mii0H`D09v1yZqJWdcGm5v9!1;d~F4tgZ8!e&yi1)!K!?T`;>vpjcFa2z;XVBo>d z5x{r!n7#EJFCis_Cm|y|4h?K3UeE~i2^5e zssKfcv-6@!3Gq*3)hon37mio#q+qQjMLw~afv)#*d83y+7_+ce;akHI0cHo<39ki~ z5-3`nctA1fF@jw2RH=+*x`f)X0LrxF8Hx)dhX##r(_--#cR>l=qFb7q6EGF$2dQ!a z&L~goWSIBxJYd{06S*2fGz(d1F!+*kI6;C#s;o6b0YxRV2~1loQs6uQ6f7hJ-eYJb zxSNgbT`Co@{=i#^T?|uVD~TD1(-!oy00Xp;G!_ee?ifBeD>67bgCYQzGPLJ22_E01 zaCV^EnN4yYV4lG$WJ>tf;Dv)qf#QX)K(@_ljLPuM;6%s6?BK44rvo{#5tAAo2FMu9 zPqW{|+LVRWj5Q8hH0+CED|(PmG$sL~84^*_DYI}6XCPU44T5tM8iU#fE!30OCArsk&7@Nnt%2y#{|C%Ka z0X^ezeuRYvs}Q6Nt2R8(*cM`LVuuJnegYa?>pBm59ySxKAR0~BB7pPQ>|nEogTn%* z2NrczCJw@ICJWmK$sudl>c9&JG0AvXNQ+q<-ty%bIY)q{SIj~*v1YMbU{w(sAYOvG zf*m}(awR=CaW)2DB~$^t@35?}!^Np3&NFNrtYR4}y3h}*%*83Y*Gcza>0iu!TpEgI zQED+73z_fjN-Ty$LeIEGxn3NKrMu&cdKdM?o!;(Td=b4@xy31`rz_Xhle4>2nJ`-y zbuD%>&>>vkQ(e9Bu0@NmB4nM#8K>9jPA*=gQhGQFNO+h+UM7Xvf&CqI2sA?mn?EoO z`c~JDO)d_Pv39^QiE+2FHP5H8e5JTYfSQJeGhD*h;v^aCKh6lid2D2H&_u5h$}GcE z36o9L?j{hC!di^2IA$?Us31#NW?h(?*e8JlNiFk9SpHa!vDfy*PYatBYYCW&BMXQ; zb}|Jm$wddp3NYI-?wItPDX^FFTyQgG6o|cKNsqgo=t<`nr@K%R&$$*kUEpkPF(+tu zt|#A>?e6K({KR4gOCCA|+c#)1$WnouBsgT@I=~c$5vNkZZnld!0m6{GC=)1b8;EN; z0U3e&7-#ExzGFRt%wboAG2;G-z971|FehP{Le-{?%;QAf#=)J7BO8b&rY!6_Xf&*w zDeQG|=3FxScg&PDHd;9TvspWwO|Wg?Y6C~0!0CH8@|n!R^OL8k?_vRQV6$N~AMUN2Bjm;TxZO+3svE0z zzN=>ubwr{EBA)2V_G-?fIgl<)V0xw@OW4ccmjVorY)M$Z z*mvM?B97y9Y-O-i2{0FM@A4O~VO z;P#|H1j`eB!PrK@Hq~Xi*gGZCP@T{NlutOnu}{Y=hF*h50t=1VK^Icknox}3SH;|f zghQ5KY?N_kh!75QsKLfJSWS5UgRdcup1E>q@0w+6dwWP7bvzZ6cg_336|w&qan?JY zc&YWkp_{(3=*w4pc>1?CPW$-$2jBSK2fx|7{@J;uw^<{;k>2>L?n5&#pYHCQyR2u~ zW69J0a3p^8OLzbLq4le$?tJK$9oHVb{kv~|=A-w--_pJJ@R$qF`ApNx&kju6KPUa# zL*wV1df$Ve`tLtKeq-S?0~c=o;(5oekI(B^_Seq*uCKj`uc|aHc=HjfVfLH|aK6s- zbk`{BX_xI)KMi<{#sB&EKX1_}>pU-rV~RF{(9hg!ylX}$&%F7RcmMFp$`4nyeD=S- zJe_5@mn`U7(z|l)f`xq9a6vA&pl<XZdoI<<)ah%;2t?$p3x*KgxjyVe|ycs?-;&UO~mo zJ&w+Fd_Qo0Wt26J6Hxz*Yr-mMU1wcmEd(rCbAipYuClH~cqU*OIDfv_^xMC2);8%k zgw0dE@rXHsG@Kvd9}j^Bl-gyjK{?B;vk)Jye`UHf!|)_UW-~Rlvc3jSV^5e zhR|yKE=T#@p%%oDW)1Q#k@m3!RewzSuomU5K~K7nrx$`hS<0MgT>yN&g>?fzH(6)- z^{vUU!aY&**2miMGTh=tI73tX$)$WyO_3}{9 z>gyvnrlL>F@oQN%l+s|$LLEya7kRMS+9<7FVl739iZAuFnDrpq`#<4VOvXEjepqM$ zKFk+tgOb1=v}py}w8pwcq=fC@T(B%p`g@gbBc*`-HGF4?(luDF>ihjV87n1GJs44r zYgiWQc}AJ6A0tP`s6PMTks3TsImuH%Z~CNfi_q$g;N#$Y93M5deE#px|0g+c^C+ts z4cmzg#{d5O|BnMvek33gvFz&ke;7IX!aHW%@ls2}sK}1$`M&_^r;&z+#7Xw(ks~f@ zZH$~g!m?+L9COjghNgyUHqy|v<8}5l`_vHSWP5aDgSDgSBaw<_pB>8AH16@eAKdii z*f|&dB(w9WE&p+Q<-XS^(mSeW7wzhZyX|Vzx*d&?23$f7&ErnTef7G+q-5hKlzh54XpzCq_J(c z-g@iQ9z=B`YHIhY6^TjqIgDx?dxoE*(AS3#4fVukda=2yR;`V>1^diXTi`#&77!_z|6W}I!GrJ6CpZ^pbe>-w-~QEj-~v8$1D!o6=8VKr7G zCu5`{VhWMtL@)O7FxOUCIEq&kWFFo@4bsu_DUvld=+q|}^Kd%0MRP7gQU%TSXKaDq^@tfFp zo{CNEz99bfqc>f7@O>|z-SscduSb0OrlW5>ec!L2`o`CGJJT0FeB0vR+e)hWGeDy6i{_J0$y6UE%r+=CF&+otQrX%lqcjfz!zGvI?dp7>Z zhOa#O@PW^~X+o~C?e4?RWOq&-@z%TkP<>t7dsaVmZMBg6-Vd7kE?oJZhD~SBdS>6J z&S+eBPwRrl;7R+(i6+> zTEA`mrEj>gxc<(!e{k7tGmbs?k&ZJKe|YUze{{u}zijRP)Gwa-?R(#Q$$gg|v7RrT z`}Rja?45Se?fbXx{Z`kCU#FgZ^2b*+Sx>*U^Zozv?w8JfZiDMfYUTqp-H{xMWB%!tGl%{bD&tDO{>Z<*_}>4lCgNAW^An#q``+KLIC!$%%KRs@z$Q%1 zJM4`kqnP<4MvQ7`Xj)<4Vox$*yWx%rOV_SleaXcauj=kwT{qoq*H0C>Bdb$&O z_Q;V`2ZJ%0VDFMfFU19wh2y7{ID zPyfO>FW-6kvU%tH*Ur0cUGc@!$GtfA^|xId|7`BJFTPs&+{+KV^t&}bnzV0j^k=N#V39ISHE+n9et_sD|hbt)~xBLrOR(xHgC^k4_x=IqdUKI=?f1Z`D^Fl z7jL~`!MrW2e*3_jOJ7+(dTH(cRbTxjP2Pye@E-|?kBgM^TZ=>_`|ig zeB=CwmaqT%s@KF{y#38@dd)58yxQ^Dy!iRIAHL+-V~^hXfxo`-n+tYN_>bB5_kFhE z!TYcOyd@kUyXm@~BMqvy zHSo>*W_@JEjy+Eg{ON{2wm;yFFD~49*YB79`K`a-{`QmJcJEpDot!#r&e)UA>-)fp zm#^OydFx-@y|wSR|99WRpZ?87mD)SbnegLZfB(`0r@rl>(=K{l@yL>Q{hzBZJ@(z} zp84hE_^-eH@MqTj@~n})cW=Gm+s__d_Ty*oxwCA&H6D_WjEe``_ zq1Ll^?(f!L{!-V#X+K=Jciu^7FI|~E`wP=|FMQ-juYc>;|B&xk^4r#rbuWMZ<4;cf zTBc>ecYblkt|xldPXEOIHBWy2%CjE+%>3CK|MtCi_q}iTl>ARWHsia;_9VtWc>M(* zIDhIN?)><>uUtR=+VfU#JMV2fPQN_n{><&Jyk*_W^Uu9!+a%n zqjSbRTfOir?|pp7kAC*LkM#ZdmuKCueCzM#zQ6sV`D>?7eyGp=`j21#K<6#FColN@ zS3miIzT(pRA1#0S-b+6EoyO-LKlYJnUo9S)Fyn3GoNs(<)py()x-D;t zz5Bj{tLilJkScqyMyBaA@!Y0ndyG-CjZynngF{WxP9?=51(E9$({*Q+h&jbhJDS~AD{4- zugtmer&nC?m(}lR`Q!!5URn0UHztny)$49Pc=)8BFL>kkR^0jLTI^gWvE*xyc6?yf zfjP4lO>B-{1>y~{z=iRydyMTVNOjafS|Q zkY?zR7U`56QaYqdLIeg0krWhBx}-xI5v02%L_pucD_6bmT}wZ_>#p^F+-J@{>&#hu zpWl9-=f96>Dhs=?s7?Nkd9!#Ayi)8T1A|!qOCqM8_cRE>`HbQP?z{1$V4Hb<=fXTR zc&(@qqFAx`xFyMJmumgTiN4h5y#1&>UW5KQV2bktdieH*9)qT%e#Uzju;<+X;PGuUH;FvfP%Ig? z#e0-F!FVSr4-Pan*y#K|H|$MXkgfaQVo6?seKZb+8EdE4-`>y zWV%xkH4F0L_EGfHCbW@EOWkc1qTAi-lDS2cr&xhT&-@X8Frxezw0(d25mtj){^t}w zIi65qRf^?U281*RGLwCVyos{Abu&TEQGzq(_{}QyM>ET~Y$e420$DZ7Dg0VuZG&ZU zBD2JT>bzIdKIYpjt`My3LZXaBg+E(Ify>ZP^CwSihG%6NSLm@*-((YA-2x0=3M8*4A3NJ9d7ubM-Q%A9*6z|0usfkXNS zBovApx2Fxcc9)meFXfj3+2YE1J?ajNLA0)UX5H0uvML|l<0!vOsAS)4H_=Ji_Xd#O z2!s?1gscy}#8vPAB(vxWjar8$xDn^+DHynzD2WorxlPsUbUER(if<3M+JW6H3B-wX z(%ysF(DuTWbSDsf{_-MXGDaQ#D$c?9j10QQ_wQ&lb~8{e^HX@6Q}-ZHyE9VZUrphP z)lYFj>f+uy!ZH<~E7v1Au>jq+H*mBF&bg(F;+E!bxMj&Vy;dpo$%r82_=|}bD9mh6 zS>peMTfqP4+@k)ATPQmMiivUYj9b9J0rm^CzNripvjiEXgrh)in=v(lse@Y60Lt7? zvfLlpD;HhN4-=i9UFa;eg|ZM4X2eQmDx79K_6860)d(8M+9eH(%I&dKlln`moTk@S z22Z>B^4;yaa(L@$Y~Ox@_1qf$+hG-tu(bR48!Ky(vgE$+$NVS>D9C$EQvJ0KI_BJ# zTIQ*YBtMBHesvQN&KOGVlb?jF8G(^WIXBkO4$ouA+L+YER(#K6hxK4uX}zMiUaWP!+;%5gT!M%e5tig$zhWzX6rfLH-ferivo)mo0L+DhsgN~@ z39z;ngUTv!KT)NxE~W|w&FbRXbzW3qTa~BI$UV)xGoWJ)C%qJ>aKF{=i}teo%6!Y(ndx%K*9Qs|qb74$hS z^q-k^rn3GMg>xpePznfDAp5t>LKR(qEB}~XVbuPE@^b(X_lCTcc z;&RiyK4PsHw%}nWr(?oa!WGeMTulQu#BT&L4JsO$B>h-yFNmUdlK2;y)ZMy_;E6*1x+6qw=_wy^d2(`bJw zL9lF*ZxNpoXIqROQlTWp==QiMaTPNEaO$-Wt@f%cS&XNE4njs_D++@ZC?uDwM&~kt zUQe*>O}2m0iqf?&F<)wCTQ)ORoYd8q4Y(sUjLTM_lVJNo_sWykbqq|Cgq-q}JVp#% z^uTbRyRUA@TRFRqAqb9JOOlixt?@e>hKG+G88QyLbsS|HFupMg`pZnC?>+%~e~}QZcFP!9B1-H)(2rS31F{f4I|^ zN0K2ykcFdj8bzRJ6#A$&;$uUhPf zd6uco4s^c^A&E85H8tFX$J4oG=|OLu^`}EuhpIy1SxQ+7A##7Jb!51|uhaf=8Gbey zzL{ONQ2*F-ErwEX{((?`zdzJ)I_LdR8cy;2e*Qqi{qB}r{_!&Urn!WRY3bZj_2&44 z2xZ14;|>TW9x8)q-a_DggYUik6~Kmth=GW>WDnEhmMciDt5Xoxriv{LbAu91e+Tic z0%7iSjpP6`Hk`+5637I%l(w>yx@&p4N_JPZgoZH4FuRF3p3{c*tQfkMHFfI`b@`H5 zS1i>87Z%*2XOoZI1(<|>eTpLna@p#P3oW|NG%Of^@DQvH5Y-?C?5kCWU)5N`(uy3H zNmO+>>2u$TAy--@Q$K9A8Pj6M;^?-k!>oS@6fIZbwxL>Eo=f95-J?;{3Zz)R{cF7>B8cRWQc zQg3p6bd-G2hDqa;ZQCWkAcoMN1)qBH2<(#t>MSBw#T^M%ntM3*E@Y^}^4 zob0Vk&T}P9A{=cKTYFbjCWNX=vVpNcnNc$zg}mQ-Row~x@Ms??I7HQBo~ZXSU+-a{ry&wQEdL)ymE_BgG}Sj{o^d`-85tb7i}nhfU! zd(eE z;pp27C2+P!Gs>6KO`-MNR9$z0&QDzJC+pok$GPhtbtS~Gmg>-uY8;la4O}bV`!brp z;ujk)8R8XBfi2k<#S|=}KCrpe@n|QlYNsL7*zZL$DWOUUZm+JP#w59&v=vCrOD1n4 z30Y+JoY;2u)Of639i-y|_F~UwF{I>UCW)4YojhEmeYIDfYRMa|1A=v4kG(K^r@SU~ zYC6n$gu5#we}1?`$Uc_ z!a;~rvQ?5lsiE#?l)S)GK$8G|Si;TOr=f-AxjXkkDSLEYc zdX^j?D9lJT)S1G)w?ZO0nxF56YRuGy^f`+Cs`Qv}dKU5TJOp5%Mhf5;sr9c~><72n zh8j#LxaqrI);_aUsB81n%gLDkUp)O62N4MMfAJUH{EMOfPoe5rs#)+5rE{MA&dZbG zJ~Ji0dlElThjJv&3<;DUf$|D%|Mx|?|2@U|ZV>+2MMchTn;xAHwbP&LyLX5NWrebw zV-bKxO7;D3{4*84E~%mp^-nxM^9;P9Q2(Gm1h4*iKNNUX&L7ktf%o^%%H&*wg>`+7tzv+~K>%>4fh_;3nM^}8Rm}FXN<53a6)DXt zW*qIOM9!CLcI)pxVoxdmn8BmH_DXY|ZnwrSNMEmFJTdKV)j;zBiwLsZ2w>5cz1Nf3 z8%rPcp@^v>5z%!2m8P2oB%M~y^fE#0*4VL;M}Bs5az9XJmXFJxhGs3~3&+wSUyht# z9!4xR7aq0(d7ttSY1C1Wr%3uWp7_K1&3l`#u?gH327NDROz^}%iQrDzIlATQ)Xr4l zTq`5*aa{DKN}v5J>@~Up<34FX01a7;xn)P@flc?o6P?A=MnlDollCBXoK6-2wU6|k z^t_JMl$I~5IXb=&bY@a!St<#2yFY$!3`&`ASC**9bpF&g?*~~De!(L|7MB+{(KN&~ z2Wxs_KpOar<%-N{6w>9=T9T<7UL;;@%VtP3>AaJb9h11jvnmbYEr#o43f`;`9$ij> zDEQzAbu6glZMIc)E{`8{X4m3+qoCw`KEm0;}MV zwQ?LK#Yn7L5PzXzT;vrjzw5)}*O@i;Bp;WGLR2{ktd86g6qkB7i(v+4Q4>$+uaV>x zptbci$hIX`9^|?>qo*5l_O4{C5DLo^v^euOE4wnaitgiZ3=a1seW7OE_jJV^TR*@r zf(2lpB47+&02&(9=RYJZ03Z9G)c;W^lH~}+|EVwp2X?k#r}(>;0}BYl`RQkLDD_V* zY}jSgsQ*!CLIP#{(GeYnO0+@H+1m=dRSw!Vc$;S9UP7}rR&GD9Qc<-M=mCHW<^tq^ zqIsm>$@4tr@-|G1v4BWx&>T0{nv(}J_Y_jT$)B9aq^Z%)Vv1HQ8qI@(hB=G;*w&=g zl(E5NFk0-uvjq@Qli{%Q%GUnn6U&d5rrBEJh^2ST38U|+MF;@SpXa;y<2-t0DRWLc zXOW`#DwczV;+ndTo2Cg{Je#p_(zUO7COokD5bfwSaM(a%kkP@3PuQ-#ncF3=l;Pt8 zUk;S4;#a5GjUg==B74)kbtqI6=vWKm6@7&u#;xODB1vQxmq1eyQ`EQyuwmFZfDmjs z8NYV#c1Y9u8XI8v!o%opc@FtOR(Bn;_?qyV%NX&?F7)-VWhpUFJiFSEFZp1X|IlQS z8;jc15f5*ePU5(uJv3rV(Dr^*ZI1G}Asp;7E zb&r!eDXjJ`cF=hYCi*-l8dBWu;rbbTueG>U&i~8f-HDYGKRF%xo+Wb0`5?gUWD@*R z53Uxg^@7M^PPL|Wf-H0SelvDRuyUNL*fKB0oCfPWhS-7_@pM6{IQlp;07wrF08;-L zJs7Y6ATH_<*4bon|4(cc)HL}QbLTA3G6SLmP$Md+U`mAG0gt~T0A=olQGxuS2$SZ|X{_r4svrLmU^e4)4Xb^vH0M#vvP z0B^o{-#M*~mAsiu0(+9}PSHNMI9{|-=MCXUVwTgltqpZVLV`;~W0J%W^#nQg;JXeu zWJc4I&q1P>AZt3RmZaP_)*OA`?^WF8$_{#+G-c?0v|1tNA!Uf0 z6sz4+IqFuU_hAErqApIMc`6UnC+}9EREezIXT<%PG>Wkk!N$cjVR}2G5vixjS&KI* zMOTAlkjYseQ>gWBCqMM*t z+vh Date: Tue, 14 Jul 2026 08:38:27 +0100 Subject: [PATCH 13/83] Update project compliance --- SAP2000_Engine/SAP2000_Engine.csproj | 2 +- SAP2000_oM/SAP2000_oM.csproj | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/SAP2000_Engine/SAP2000_Engine.csproj b/SAP2000_Engine/SAP2000_Engine.csproj index 00a56235..df1936c6 100644 --- a/SAP2000_Engine/SAP2000_Engine.csproj +++ b/SAP2000_Engine/SAP2000_Engine.csproj @@ -176,4 +176,4 @@ xcopy "$(TargetDir)$(TargetFileName)" "C:\ProgramData\BHoM\Assemblies" /Y --> - \ No newline at end of file + diff --git a/SAP2000_oM/SAP2000_oM.csproj b/SAP2000_oM/SAP2000_oM.csproj index bd516e33..fec20549 100644 --- a/SAP2000_oM/SAP2000_oM.csproj +++ b/SAP2000_oM/SAP2000_oM.csproj @@ -1,4 +1,4 @@ - + @@ -32,22 +32,22 @@ - C:\ProgramData\BHoM\Assemblies\Adapter_oM.dll + $(ProgramData)\BHoM\Assemblies\Adapter_oM.dll False False - C:\ProgramData\BHoM\Assemblies\BHoM.dll + $(ProgramData)\BHoM\Assemblies\BHoM.dll False False - C:\ProgramData\BHoM\Assemblies\Data_oM.dll + $(ProgramData)\BHoM\Assemblies\Data_oM.dll False False - C:\ProgramData\BHoM\Assemblies\Quantities_oM.dll + $(ProgramData)\BHoM\Assemblies\Quantities_oM.dll False False @@ -56,7 +56,7 @@ False - C:\ProgramData\BHoM\Assemblies\Structure_oM.dll + $(ProgramData)\BHoM\Assemblies\Structure_oM.dll False False @@ -101,4 +101,4 @@ xcopy "$(TargetDir)$(TargetFileName)" "C:\ProgramData\BHoM\Assemblies" /Y - \ No newline at end of file + From 199512fb87dfc4463932984505c7cc6470d6cc82 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Tue, 14 Jul 2026 11:26:59 +0100 Subject: [PATCH 14/83] Set versioned DLL refs to copy locally --- SAP2000_Engine/SAP2000_Engine.csproj | 2 +- SAP2000_oM/SAP2000_oM.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SAP2000_Engine/SAP2000_Engine.csproj b/SAP2000_Engine/SAP2000_Engine.csproj index df1936c6..28e3d7cf 100644 --- a/SAP2000_Engine/SAP2000_Engine.csproj +++ b/SAP2000_Engine/SAP2000_Engine.csproj @@ -118,7 +118,7 @@ ..\libs\v26\SAP2000v1.dll - False + True $(ProgramData)\BHoM\Assemblies\Serialiser_Engine.dll diff --git a/SAP2000_oM/SAP2000_oM.csproj b/SAP2000_oM/SAP2000_oM.csproj index fec20549..02bd7a8b 100644 --- a/SAP2000_oM/SAP2000_oM.csproj +++ b/SAP2000_oM/SAP2000_oM.csproj @@ -53,7 +53,7 @@ ..\libs\v26\SAP2000v1.dll - False + True $(ProgramData)\BHoM\Assemblies\Structure_oM.dll From 842ed1bd0211f834e26360397d65161bf4dc8ee0 Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Thu, 16 Jul 2026 18:53:42 +0100 Subject: [PATCH 15/83] Update .gitignore Track all *.dll files Co-authored-by: Peter Nugent --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index d023b020..f22eccde 100644 --- a/.gitignore +++ b/.gitignore @@ -5,8 +5,6 @@ *.exe *.o *.so -*.dll -!libs/**/*.dll # Packages # ############ From 1cd8fbf2653155e471b3cc82b0f089fd76be7e44 Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Thu, 16 Jul 2026 19:08:43 +0100 Subject: [PATCH 16/83] Remove unused ref to SAP2000v1.dll from Engine.csproj --- SAP2000_Engine/SAP2000_Engine.csproj | 4 ---- 1 file changed, 4 deletions(-) diff --git a/SAP2000_Engine/SAP2000_Engine.csproj b/SAP2000_Engine/SAP2000_Engine.csproj index 28e3d7cf..de4bc39a 100644 --- a/SAP2000_Engine/SAP2000_Engine.csproj +++ b/SAP2000_Engine/SAP2000_Engine.csproj @@ -116,10 +116,6 @@ False False - - ..\libs\v26\SAP2000v1.dll - True - $(ProgramData)\BHoM\Assemblies\Serialiser_Engine.dll False From dcb673249340931a1a6bd19be36355c53a5b47d8 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Fri, 17 Jul 2026 18:14:47 +0100 Subject: [PATCH 17/83] Use success bool parameter in ICreate --- SAP2000_Adapter/CRUD/Create/_ICreate.cs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Create/_ICreate.cs b/SAP2000_Adapter/CRUD/Create/_ICreate.cs index 0fca87f7..33295300 100644 --- a/SAP2000_Adapter/CRUD/Create/_ICreate.cs +++ b/SAP2000_Adapter/CRUD/Create/_ICreate.cs @@ -20,21 +20,22 @@ * along with this code. If not, see . */ +using BH.oM.Adapter; +using BH.oM.Adapters.SAP2000; +using BH.oM.Analytical; using BH.oM.Base; using BH.oM.Dimensional; +using BH.oM.Structure.Constraints; using BH.oM.Structure.Elements; using BH.oM.Structure.Loads; -using BH.oM.Structure.Constraints; +using BH.oM.Structure.MaterialFragments; using BH.oM.Structure.SectionProperties; using BH.oM.Structure.SurfaceProperties; -using BH.oM.Structure.MaterialFragments; using System; using System.Collections; using System.Collections.Generic; +using System.ComponentModel; using System.Linq; -using BH.oM.Analytical; -using BH.oM.Adapter; -using BH.oM.Adapters.SAP2000; namespace BH.Adapter.SAP2000 { @@ -48,14 +49,20 @@ protected override bool ICreate(IEnumerable objects, ActionConfig actionCo { this.SAPPushConfig = actionConfig as SAP2000PushConfig; + if (!objects.Any()) //Return if no objects + return true; + if (typeof(BH.oM.Base.IBHoMObject).IsAssignableFrom(typeof(T))) { - return (CreateCollection(objects)); + success = CreateCollection(objects); } else { - return false; + success = false; } + + m_model.View.RefreshView(); + return success; } /***************************************************/ From 1eddde9690bca4c71cfe57aebe282455837170a4 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Fri, 17 Jul 2026 18:17:11 +0100 Subject: [PATCH 18/83] Add SetUniqueName Method in _ICreate.cs Method computing and assigning to whatever newly created bhom object a name that is given by the concatenation of the input bhom name and the corresponding SAP2000 GUID of the element. This always guarantees that the name assigned to the SAP2000 object is unique. --- SAP2000_Adapter/CRUD/Create/_ICreate.cs | 44 +++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/SAP2000_Adapter/CRUD/Create/_ICreate.cs b/SAP2000_Adapter/CRUD/Create/_ICreate.cs index 33295300..ea5cc398 100644 --- a/SAP2000_Adapter/CRUD/Create/_ICreate.cs +++ b/SAP2000_Adapter/CRUD/Create/_ICreate.cs @@ -89,6 +89,50 @@ private bool CreateObject(IBHoMObject obj) } /***************************************************/ + + [Description("Concatenates the the BHoM Object Name and the last 7 characters of the SAP2000 Element GUID to get the Unique Name to assign to the SAP2000 Element.")] + private string SetUniqueName(BHoMObject obj, string name) + { + /* 1. CHECK OBJECT TYPE IS ACCEPTABLE */ + if (!(obj.GetType() == typeof(Node) || + obj.GetType() == typeof(Bar) || + obj.GetType() == typeof(Panel) || + obj.GetType() == typeof(Opening))) + { + return null; + } + + /* 2. GET THE SAP2000 ELEMENT GUID */ + int ret01 = 1; + int ret02 = 1; + string guid = null; + string tempObjName = ""; + + if (obj.GetType() == typeof(Node)) ret01 = m_model.PointObj.GetGUID(name, ref guid); + if (obj.GetType() == typeof(Bar)) ret01 = m_model.FrameObj.GetGUID(name, ref guid); + if (obj.GetType() == typeof(Panel) || obj.GetType() == typeof(Opening)) ret01 = m_model.AreaObj.GetGUID(name, ref guid); + + /* 3. CREATE THE NEW UNIQUE NAME */ + if (obj.Name == "") + { + tempObjName = guid.Substring(guid.Length - 7); + } + else + { + tempObjName = obj.Name + "::" + guid.Substring(guid.Length - 7); + } + + /* 4. ASSIGN THE NEW UNIQUE NAME TO THE SAP2000 ELEMENT */ + if (obj.GetType() == typeof(Node)) ret02 = m_model.PointObj.ChangeName(name, tempObjName); + if (obj.GetType() == typeof(Bar)) ret02 = m_model.FrameObj.ChangeName(name, tempObjName); + if (obj.GetType() == typeof(Panel) || obj.GetType() == typeof(Opening)) ret02 = m_model.AreaObj.ChangeName(name, tempObjName); + + if (!(ret01 == 0 && ret02 == 0)) return null; + + return tempObjName; + + /***************************************************/ + } } } From 66a52b281187ce05f76b3460a1ca11bdf3920d9a Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Mon, 20 Jul 2026 11:58:20 +0100 Subject: [PATCH 19/83] Implement SetUniqueName in Create/Bar.cs --- SAP2000_Adapter/CRUD/Create/Bar.cs | 14 +++++++------- SAP2000_Adapter/CRUD/Create/_ICreate.cs | 2 ++ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Create/Bar.cs b/SAP2000_Adapter/CRUD/Create/Bar.cs index e8c9271d..956470f1 100644 --- a/SAP2000_Adapter/CRUD/Create/Bar.cs +++ b/SAP2000_Adapter/CRUD/Create/Bar.cs @@ -70,20 +70,20 @@ private bool CreateObject(Bar bhBar) return false; } - // Set AdapterID - if (name != bhBar.Name & bhBar.Name != "") - Engine.Base.Compute.RecordNote($"Bar {bhBar.Name} was assigned SAP2000_id of {name}"); + // Assign the Unique Name to the SAP2000 Element + string newName = SetUniqueName(bhBar, name); + + if (newName == null) return false; string guid = null; - m_model.FrameObj.GetGUID(name, ref guid); + m_model.FrameObj.GetGUID(newName, ref guid); - SAP2000Id sap2000IdFragment = new SAP2000Id { Id = name, PersistentId = guid }; + SAP2000Id sap2000IdFragment = new SAP2000Id { Id = newName, PersistentId = guid }; bhBar.SetAdapterId(sap2000IdFragment); // Set Properties - SetObject(bhBar); + return SetObject(bhBar); - return true; } /***************************************************/ diff --git a/SAP2000_Adapter/CRUD/Create/_ICreate.cs b/SAP2000_Adapter/CRUD/Create/_ICreate.cs index ea5cc398..3029f690 100644 --- a/SAP2000_Adapter/CRUD/Create/_ICreate.cs +++ b/SAP2000_Adapter/CRUD/Create/_ICreate.cs @@ -47,6 +47,8 @@ public partial class SAP2000Adapter protected override bool ICreate(IEnumerable objects, ActionConfig actionConfig) { + bool success = true; + this.SAPPushConfig = actionConfig as SAP2000PushConfig; if (!objects.Any()) //Return if no objects From c5df7a5ca34629eb13f3aac0d00e9ad0f792adbc Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Mon, 20 Jul 2026 11:58:34 +0100 Subject: [PATCH 20/83] Implement SetUniqueName in Create/Node.cs --- SAP2000_Adapter/CRUD/Create/Node.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Create/Node.cs b/SAP2000_Adapter/CRUD/Create/Node.cs index 898fd5ba..ac56ca9b 100644 --- a/SAP2000_Adapter/CRUD/Create/Node.cs +++ b/SAP2000_Adapter/CRUD/Create/Node.cs @@ -55,20 +55,20 @@ private bool CreateObject(Node bhNode) return false; } - // Set Adapter ID - if (name != bhNode.Name & bhNode.Name != "") - Engine.Base.Compute.RecordNote($"Node {bhNode.Name} was assigned SAP2000_id of {name}"); + // Assign the Unique Name to the SAP2000 Element + string newName = SetUniqueName(bhNode, name); + + if (newName == null) return false; + // Set Adapter ID string guid = null; - m_model.PointObj.GetGUID(name, ref guid); + m_model.PointObj.GetGUID(newName, ref guid); - SAP2000Id sap2000IdFragment = new SAP2000Id { Id = name, PersistentId = guid }; + SAP2000Id sap2000IdFragment = new SAP2000Id { Id = newName, PersistentId = guid }; bhNode.SetAdapterId(sap2000IdFragment); // Set Properties - SetObject(bhNode); - - return true; + return SetObject(bhNode); } /***************************************************/ From 02fbdff601de88a852b286e944c9577b68e51f56 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Mon, 20 Jul 2026 11:58:42 +0100 Subject: [PATCH 21/83] Implement SetUniqueName in Create/Panel.cs --- SAP2000_Adapter/CRUD/Create/Panel.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Create/Panel.cs b/SAP2000_Adapter/CRUD/Create/Panel.cs index 25f27f4e..0e0b47c9 100644 --- a/SAP2000_Adapter/CRUD/Create/Panel.cs +++ b/SAP2000_Adapter/CRUD/Create/Panel.cs @@ -67,17 +67,18 @@ private bool CreateObject(Panel bhPanel) return false; } - // Set AdapterID - if (name != bhPanel.Name & bhPanel.Name != "") - Engine.Base.Compute.RecordNote($"Panel {bhPanel.Name} was assigned SAP2000_id of {name}."); + // Assign the Unique Name to the SAP2000 Element + string newName = SetUniqueName(bhPanel, name); + + if (newName == null) return false; + // Set AdapterID string guid = null; - m_model.AreaObj.GetGUID(name, ref guid); - SAP2000Id sap2000IdFragment = new SAP2000Id{Id = name, PersistentId = guid}; + m_model.AreaObj.GetGUID(newName, ref guid); + SAP2000Id sap2000IdFragment = new SAP2000Id{Id = newName, PersistentId = guid}; bhPanel.SetAdapterId(sap2000IdFragment); // Set Properties - SetObject(bhPanel); - return true; + return SetObject(bhPanel); } /***************************************************/ From a312a82385300402a65cf51322436859bb13a190 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Mon, 20 Jul 2026 11:59:16 +0100 Subject: [PATCH 22/83] Create SetUniqueName specific for Rigid Links --- SAP2000_Adapter/CRUD/Create/RigidLink.cs | 42 ++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/SAP2000_Adapter/CRUD/Create/RigidLink.cs b/SAP2000_Adapter/CRUD/Create/RigidLink.cs index 081eeb6c..fe2c3a20 100644 --- a/SAP2000_Adapter/CRUD/Create/RigidLink.cs +++ b/SAP2000_Adapter/CRUD/Create/RigidLink.cs @@ -24,6 +24,7 @@ using BH.oM.Adapters.SAP2000; using BH.oM.Structure.Elements; using System.Collections.Generic; +using System.ComponentModel; namespace BH.Adapter.SAP2000 { @@ -93,6 +94,47 @@ private bool CreateObject(RigidLink bhLink) } /***************************************************/ + + [Description("Concatenates the last 7 characters of the SAP2000 Element GUID and the Link Name to get the Unique Name to assign to the SAP2000 Element.")] + private List SetUniqueName(RigidLink bhLink, List names) + { + + int ret01, ret02; + string guid = null; + string tempLinkName = ""; + List newLinkNames = new List(); + + foreach (string name in names) + { + + /* 1. GET THE SAP2000 ELEMENT GUID */ + tempLinkName = ""; + ret01 = m_model.LinkObj.GetGUID(name, ref guid); + + /* 2. CREATE THE NEW UNIQUE NAME */ + if (bhLink.Name == "") + { + tempLinkName = guid.Substring(guid.Length - 7); + } + else + { + tempLinkName = bhLink.Name + "::" + guid.Substring(guid.Length - 7); + } + + /* 3. ASSIGN THE NEW UNIQUE NAME TO THE SAP2000 ELEMENT */ + ret02 = m_model.LinkObj.ChangeName(name, tempLinkName); + + /* 4. ADD THE NEW NAME TO THE LIST */ + newLinkNames.Add(tempLinkName); + + if (!(ret01 == 0 && ret02 == 0)) return null; + + } + + return newLinkNames; + } + + /***************************************************/ } } From 9f98d5c89565bed2fbafe9f75ecb0b35169dfc48 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Mon, 20 Jul 2026 11:59:52 +0100 Subject: [PATCH 23/83] Add UpdateUniqueName in _IUpdate.cs --- SAP2000_Adapter/CRUD/Update/_IUpdate.cs | 47 +++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Update/_IUpdate.cs b/SAP2000_Adapter/CRUD/Update/_IUpdate.cs index 03b48b1f..1607f2b6 100644 --- a/SAP2000_Adapter/CRUD/Update/_IUpdate.cs +++ b/SAP2000_Adapter/CRUD/Update/_IUpdate.cs @@ -20,12 +20,14 @@ * along with this code. If not, see . */ +using BH.Engine.Adapter; using BH.oM.Adapter; -using BH.oM.Base; -using System.Collections.Generic; using BH.oM.Adapters.SAP2000; +using BH.oM.Base; using BH.oM.Structure.Elements; using BH.oM.Structure.SectionProperties; +using System.Collections.Generic; +using System.ComponentModel; using System.Linq; namespace BH.Adapter.SAP2000 @@ -58,6 +60,47 @@ private bool UpdateObjects(IEnumerable objects) } /***************************************************/ + + [Description("Concatenates the last 7 characters of the SAP2000 Element GUID and the Node Name to get the Unique Name to assign to the SAP2000 Element.")] + private bool UpdateUniqueName(BHoMObject obj) + { + int ret01 = 1; + int ret02 = 1; + string guid = null; + string tempObjName = ""; + + /* 1. GET THE SAP2000 ELEMENT GUID */ + string uniqueName = GetAdapterId(obj); + + if (obj.GetType() == typeof(Node)) ret01 = m_model.PointObj.GetGUID(uniqueName, ref guid); + if (obj.GetType() == typeof(Bar)) ret01 = m_model.FrameObj.GetGUID(uniqueName, ref guid); + if (obj.GetType() == typeof(Panel) || obj.GetType() == typeof(Opening)) ret01 = m_model.AreaObj.GetGUID(uniqueName, ref guid); + + /* 2. CREATE THE NEW UNIQUE NAME */ + if (obj.Name == "") + { + tempObjName = guid.Substring(guid.Length - 7); + } + else + { + tempObjName = obj.Name + "::" + guid.Substring(guid.Length - 7); + } + + /* 3. ASSIGN THE NEW UNIQUE NAME TO THE SAP2000 ELEMENT */ + if (obj.GetType() == typeof(Node)) ret02 = m_model.PointObj.ChangeName(uniqueName, tempObjName); + if (obj.GetType() == typeof(Bar)) ret02 = m_model.FrameObj.ChangeName(uniqueName, tempObjName); + if (obj.GetType() == typeof(Panel) || obj.GetType() == typeof(Opening)) ret02 = m_model.AreaObj.ChangeName(uniqueName, tempObjName); + + if (!(ret01 == 0 && ret02 == 0)) return false; + + SAP2000Id SAP2000IdFragment = new SAP2000Id { Id = tempObjName }; + + obj.SetAdapterId(SAP2000IdFragment); + + return true; + } + + /***************************************************/ } } From b85e3b9bcdde976211fa81020090d1e33f8cb83d Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Mon, 20 Jul 2026 12:00:25 +0100 Subject: [PATCH 24/83] Implement UpdateUniqueName for Nodes and Bars --- SAP2000_Adapter/CRUD/Update/Bar.cs | 1 + SAP2000_Adapter/CRUD/Update/Node.cs | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Update/Bar.cs b/SAP2000_Adapter/CRUD/Update/Bar.cs index d0953287..aafa5a46 100644 --- a/SAP2000_Adapter/CRUD/Update/Bar.cs +++ b/SAP2000_Adapter/CRUD/Update/Bar.cs @@ -84,6 +84,7 @@ private bool UpdateObjects(IEnumerable bhBars) // Set Properties SetObject(bhBar); + UpdateUniqueName(bhBar); } return success; diff --git a/SAP2000_Adapter/CRUD/Update/Node.cs b/SAP2000_Adapter/CRUD/Update/Node.cs index 3f3dcb11..7c519485 100644 --- a/SAP2000_Adapter/CRUD/Update/Node.cs +++ b/SAP2000_Adapter/CRUD/Update/Node.cs @@ -40,9 +40,13 @@ private bool UpdateObjects(IEnumerable nodes) foreach (Node bhNode in nodes) { + // Update the node object and its unique name + SetObject(bhNode); + UpdateUniqueName(bhNode); + + // Retrieve node's updated unique name string name = GetAdapterId(bhNode); - SetObject(bhNode); double x = 0; double y = 0; From c1026c513ca90825588ae52727d843c87070dc05 Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Mon, 20 Jul 2026 14:52:42 +0100 Subject: [PATCH 25/83] Remove NET runtime issues section from README Removed section about NET runtime issues and related fixes. --- README.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/README.md b/README.md index e3512746..2705027d 100644 --- a/README.md +++ b/README.md @@ -9,14 +9,6 @@ This toolkit allows interoperability between the BHoM and SAP2000. Enables creat ### Known Versions of Software Supported The adapter is intended to support SAP2000 version 21 and all future versions. It is currently tested on version 23 exclusively. -### Net runtime issues - -There are currently some internal failures in the SAP2000 API when called in a NET Core environment. For this reason, running the ETABSAdapter in runtimes above NET4 is disabled. - -If you are using the SAP2000 Adapter with Grasshopper in Rhino 8 you can change the runtime used by Rhino to framework. To do this, please see this link: https://www.rhino3d.com/en/docs/guides/netcore/#to-change-rhino-to-always-use-net-framework - -A fix to allow for higher net runtimes is being worked on. - ### Documentation For more information about functionality see [Object Relation Table](https://github.com/BHoM/SAP2000_Toolkit/wiki/BHoM-SAP2000-Object-Relations) From aa39f41d7afbbc2bf801ba398d0ce5688ca6e69f Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Mon, 20 Jul 2026 17:26:34 +0100 Subject: [PATCH 26/83] Remove check on Environment version > 4 + RecordError in Adapter file --- SAP2000_Adapter/SAP2000Adapter.cs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/SAP2000_Adapter/SAP2000Adapter.cs b/SAP2000_Adapter/SAP2000Adapter.cs index 5ab97c11..7a9ae380 100644 --- a/SAP2000_Adapter/SAP2000Adapter.cs +++ b/SAP2000_Adapter/SAP2000Adapter.cs @@ -57,12 +57,6 @@ public SAP2000Adapter(string filePath = "", bool active = false) if (active) { - if(Environment.Version.Major > 4) - { - Engine.Base.Compute.RecordError($"The SAP2000Adapter is currently not support in NET runtimes above .NETFramework due to internal errors in the SAP2000 API. A fix for this is being worked on. \n" + - $"If you are running this adapter from Grasshopper in Rhino 8, you can change the runtime being used by Rhino to .NETFramework. To do this please follow the instructions here: https://www.rhino3d.com/en/docs/guides/netcore/"); - } - string progId = "CSI.SAP2000.API.SapObject"; cHelper helper = new Helper(); From c264b43d4e0fbfdd552bb13bd20429799b67bdf3 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Tue, 21 Jul 2026 14:14:21 +0100 Subject: [PATCH 27/83] Add missing call to SetUniqueName in RigidLink.cs --- SAP2000_Adapter/CRUD/Create/RigidLink.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Create/RigidLink.cs b/SAP2000_Adapter/CRUD/Create/RigidLink.cs index fe2c3a20..ed6031c4 100644 --- a/SAP2000_Adapter/CRUD/Create/RigidLink.cs +++ b/SAP2000_Adapter/CRUD/Create/RigidLink.cs @@ -87,7 +87,12 @@ private bool CreateObject(RigidLink bhLink) } } - sap2000id.Id = linkIds; + // Assign the Unique Name to the SAP2000 Element + List newLinkNames = SetUniqueName(bhLink, linkIds); + + if (newLinkNames == null) return false; + + sap2000id.Id = newLinkNames; bhLink.SetAdapterId(sap2000id); return true; From 6ef3764f35f692801d07fcfa4d1a87c73f697961 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Tue, 21 Jul 2026 15:41:52 +0100 Subject: [PATCH 28/83] Add RefreshView at end of objs creation Refresh SAP2000 View resetting also its zoom thus making sure all updated/created objects are immediately visible in the SAP2000 window after the push. --- SAP2000_Adapter/CRUD/Create/_ICreate.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Create/_ICreate.cs b/SAP2000_Adapter/CRUD/Create/_ICreate.cs index 3029f690..0535bda0 100644 --- a/SAP2000_Adapter/CRUD/Create/_ICreate.cs +++ b/SAP2000_Adapter/CRUD/Create/_ICreate.cs @@ -63,7 +63,9 @@ protected override bool ICreate(IEnumerable objects, ActionConfig actionCo success = false; } - m_model.View.RefreshView(); + // Refresh the view to ensure that the newly created objects are displayed correctly + m_model.View.RefreshView(0, false); + return success; } From cdf7a03fa9b12672a83f5788d8dc3cd119f51cf5 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Tue, 21 Jul 2026 15:43:47 +0100 Subject: [PATCH 29/83] Implement GetBhomNameFromSAP2000Id Method Add method splitting the SAP2000 Unique Name at the location of the :: characters. This allows to remove the portion of SAP2000 GUID included in the name and retrieve only the textual name input by the user in the Grasshopper environment. --- SAP2000_Adapter/CRUD/Read/Bar.cs | 6 +- SAP2000_Adapter/CRUD/Read/Node.cs | 5 +- SAP2000_Adapter/CRUD/Read/Panel.cs | 4 +- SAP2000_Adapter/CRUD/Read/RigidLink.cs | 151 ++++++++++++++++--------- SAP2000_Adapter/CRUD/Read/_IRead.cs | 13 +++ 5 files changed, 123 insertions(+), 56 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Read/Bar.cs b/SAP2000_Adapter/CRUD/Read/Bar.cs index 89e2265d..a07a6273 100644 --- a/SAP2000_Adapter/CRUD/Read/Bar.cs +++ b/SAP2000_Adapter/CRUD/Read/Bar.cs @@ -60,7 +60,11 @@ private List ReadBars(List ids = null) try { - Bar bhomBar = new Bar(); + + string bhomName = GetBhomNameFromSAP2000Id(id); + + Bar bhomBar = new Bar() { Name = bhomName }; + string startId = ""; string endId = ""; m_model.FrameObj.GetPoints(id, ref startId, ref endId); diff --git a/SAP2000_Adapter/CRUD/Read/Node.cs b/SAP2000_Adapter/CRUD/Read/Node.cs index 39e8b01f..345404f7 100644 --- a/SAP2000_Adapter/CRUD/Read/Node.cs +++ b/SAP2000_Adapter/CRUD/Read/Node.cs @@ -52,7 +52,10 @@ private List ReadNodes(List ids = null) foreach (string id in ids) { - Node bhNode = new Node(); + string bhomName = GetBhomNameFromSAP2000Id(id); + + Node bhNode = new Node { Name = bhomName}; + string guid = null; SAP2000Id sap2000id = new SAP2000Id(); sap2000id.Id = id; diff --git a/SAP2000_Adapter/CRUD/Read/Panel.cs b/SAP2000_Adapter/CRUD/Read/Panel.cs index 160c113c..19ee63ac 100644 --- a/SAP2000_Adapter/CRUD/Read/Panel.cs +++ b/SAP2000_Adapter/CRUD/Read/Panel.cs @@ -52,7 +52,9 @@ private List ReadPanel(List ids = null) ids = FilterIds(ids, nameArr); foreach (string id in ids) { - Panel bhomPanel = new Panel(); + string bhomName = GetBhomNameFromSAP2000Id(id); + Panel bhomPanel = new Panel() { Name = bhomName }; + SAP2000Id sap2000id = new SAP2000Id(); string guid = null; //Set the Adapter ID diff --git a/SAP2000_Adapter/CRUD/Read/RigidLink.cs b/SAP2000_Adapter/CRUD/Read/RigidLink.cs index a48ccc48..98bab654 100644 --- a/SAP2000_Adapter/CRUD/Read/RigidLink.cs +++ b/SAP2000_Adapter/CRUD/Read/RigidLink.cs @@ -39,81 +39,126 @@ public partial class SAP2000Adapter private List ReadRigidLink(List ids = null) { List linkList = new List(); - Dictionary bhomNodes = ReadNodes().ToDictionary(x => GetAdapterId(x)); - Dictionary bhomLinkConstraints = ReadLinkConstraints().ToDictionary(x => GetAdapterId(x)); - - //Read all links, filter by id at end, so that we can join multi-links. int nameCount = 0; - string[] nameArr = { }; - m_model.LinkObj.GetNameList(ref nameCount, ref nameArr); + string[] names = { }; + m_model.LinkObj.GetNameList(ref nameCount, ref names); + + ids = FilterIds(ids, names); + + //read primary-multiSecondary nodes if these were initially created from (non-etabs)BHoM side + Dictionary> idDict = new Dictionary>(); + string[] primarySecondaryId; + foreach (string id in ids) + { + primarySecondaryId = id.Split(new[] { ":::" }, StringSplitOptions.None); + if (primarySecondaryId.Count() > 1) + { + //has plural secondaries + if (idDict.ContainsKey(primarySecondaryId[0])) + idDict[primarySecondaryId[0]].Add(primarySecondaryId[1]); + else + idDict.Add(primarySecondaryId[0], new List() { primarySecondaryId[1] }); + } + else + { + //normal single link + idDict.Add(id, null); + } + } - foreach (string id in nameArr) + foreach (KeyValuePair> kvp in idDict) { - RigidLink newLink = new RigidLink(); - SAP2000Id sap2000id = new SAP2000Id(); - string guid = null; + string bhomName = GetBhomNameFromSAP2000Id(kvp.Key); + + RigidLink bhLink = new RigidLink() { Name = bhomName }; - sap2000id.Id = id; + SetAdapterId(bhLink, kvp.Key); - try + if (kvp.Value == null) { - string primaryId = ""; - string secondaryId = ""; - string propName = ""; - m_model.LinkObj.GetPoints(id, ref primaryId, ref secondaryId); - newLink.PrimaryNode = bhomNodes[primaryId]; - newLink.SecondaryNodes = new List { bhomNodes[secondaryId] }; - - if (m_model.LinkObj.GetProperty(id, ref propName) == 0) - { - LinkConstraint bhProp = new LinkConstraint(); - bhomLinkConstraints.TryGetValue(propName, out bhProp); - newLink.Constraint = bhProp; m_model.LinkObj.GetProperty(id, ref propName); - } - else - { - Engine.Base.Compute.RecordWarning("Could not get link property for RigidLink " + id + "."); - } - - // Get the groups the link is assigned to - int numGroups = 0; - string[] groupNames = new string[0]; - if (m_model.LinkObj.GetGroupAssign(id, ref numGroups, ref groupNames) == 0) + string startId = ""; + string endId = ""; + m_model.LinkObj.GetPoints(kvp.Key, ref startId, ref endId); + + //Dummy nodes with correct Id + bhLink.PrimaryNode = new Node { Name = startId }; + bhLink.SecondaryNodes = new List() { new Node { Name = endId } }; + } + else + { + string startId = ""; + string endId = ""; + string multiLinkId = kvp.Key + ":::0"; + + + m_model.LinkObj.GetPoints(multiLinkId, ref startId, ref endId); + bhLink.PrimaryNode = new Node { Name = startId }; //Dummy startnode with correct Id + + List endIds = new List(); + for (int i = 1; i < kvp.Value.Count(); i++) { - foreach (string grpName in groupNames) - newLink.Tags.Add(grpName); + multiLinkId = kvp.Key + ":::" + i; + m_model.LinkObj.GetPoints(multiLinkId, ref startId, ref endId); + endIds.Add(endId); } - if (m_model.LinkObj.GetGUID(id, ref guid) == 0) - sap2000id.PersistentId = guid; - - newLink.SetAdapterId(sap2000id); - linkList.Add(newLink); + bhLink.SecondaryNodes = endIds.Select(x => new Node { Name = x }).ToList(); //Dummy endnodes with correct Id } + string propName = ""; + m_model.LinkObj.GetProperty(kvp.Key, ref propName); - catch + bhLink.Constraint = new LinkConstraint { Name = propName }; //Dummy constraint to be populated in later loop + + /* Get the ETABS name of the Rigid Link */ + string name = GetAdapterId(bhLink); + + + // Get the groups the link is assigned to + int numGroups = 0; + string[] groupNames = new string[0]; + if (m_model.LinkObj.GetGroupAssign(name, ref numGroups, ref groupNames) == 0) { - ReadElementError("RigidLink", id.ToString()); + foreach (string grpName in groupNames) + bhLink.Tags.Add(grpName); } + + linkList.Add(bhLink); } - Dictionary joinedLinks = BH.Engine.Adapters.SAP2000.Query.JoinRigidLink(linkList).ToDictionary(x => x.Name); + if (linkList.Count == 0) + return linkList; - ids = FilterIds(ids, joinedLinks.Keys); + //Get ids of primary and secondary nodes + List nodeIds = linkList.SelectMany(x => x.SecondaryNodes.Select(s => s.Name).Concat(new List { x.PrimaryNode.Name })).Distinct().ToList(); + Dictionary nodes = GetCachedOrReadAsDictionary(nodeIds); - if (ids != null) - { - return joinedLinks - .Where(x => ids.Contains(x.Key)) - .Select(x => x.Value).ToList(); - } - else + List contstrainIds = linkList.Select(x => x.Constraint.Name).Distinct().ToList(); + //Get cached or read out all constraints used by Links + Dictionary constraints = contstrainIds.Any() ? new Dictionary() : GetCachedOrReadAsDictionary(contstrainIds); + + foreach (RigidLink link in linkList) { - return joinedLinks.Values.ToList(); + LinkConstraint constraint; //Reasign cached/read contraint + if (constraints.TryGetValue(link.Constraint.Name, out constraint)) + link.Constraint = constraint; + + Node stNode; + if (nodes.TryGetValue(link.PrimaryNode.Name, out stNode)) + link.PrimaryNode = stNode; + + for (int i = 0; i < link.SecondaryNodes.Count; i++) + { + Node secNode; + if (nodes.TryGetValue(link.SecondaryNodes[i].Name, out secNode)) + link.SecondaryNodes[i] = secNode; + } } + + + return linkList; } /***************************************************/ diff --git a/SAP2000_Adapter/CRUD/Read/_IRead.cs b/SAP2000_Adapter/CRUD/Read/_IRead.cs index edb073c4..f11fe08b 100644 --- a/SAP2000_Adapter/CRUD/Read/_IRead.cs +++ b/SAP2000_Adapter/CRUD/Read/_IRead.cs @@ -166,6 +166,19 @@ private static List FilterIds(IEnumerable ids, IEnumerable Date: Tue, 21 Jul 2026 16:14:00 +0100 Subject: [PATCH 30/83] Create ForceRefresh() Method Method encapsulating the main SAP2000 API methods used for refreshing the View (Facade Pattern). --- SAP2000_Adapter/SAP2000Adapter.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/SAP2000_Adapter/SAP2000Adapter.cs b/SAP2000_Adapter/SAP2000Adapter.cs index 5ab97c11..7d8d8605 100644 --- a/SAP2000_Adapter/SAP2000Adapter.cs +++ b/SAP2000_Adapter/SAP2000Adapter.cs @@ -167,6 +167,16 @@ public SAP2000Adapter(string filePath = "", bool active = false) private cSapModel m_model; /***************************************************/ + /**** Private Methods ****/ + /***************************************************/ + + private bool ForceRefresh() + { + int ret0, ret1; + ret0 = m_model.View.RefreshView(0,false); + ret1 = m_model.View.RefreshWindow(0); + return (ret0==1 && ret1==1); + } } } From 98e98003289f3b8a118e1a0921d3576e13c672bf Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Tue, 21 Jul 2026 16:14:21 +0100 Subject: [PATCH 31/83] Add Update Method for Panel objects --- SAP2000_Adapter/CRUD/Update/Panel.cs | 91 ++++++++++++++++++++++++++ SAP2000_Adapter/SAP2000_Adapter.csproj | 7 +- 2 files changed, 95 insertions(+), 3 deletions(-) create mode 100644 SAP2000_Adapter/CRUD/Update/Panel.cs diff --git a/SAP2000_Adapter/CRUD/Update/Panel.cs b/SAP2000_Adapter/CRUD/Update/Panel.cs new file mode 100644 index 00000000..94687882 --- /dev/null +++ b/SAP2000_Adapter/CRUD/Update/Panel.cs @@ -0,0 +1,91 @@ +/* + * This file is part of the Buildings and Habitats object Model (BHoM) + * Copyright (c) 2015 - 2026, the respective contributors. All rights reserved. + * + * Each contributor holds copyright over their respective contributions. + * The project versioning (Git) records all such contribution source information. + * + * + * The BHoM is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3.0 of the License, or + * (at your option) any later version. + * + * The BHoM is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this code. If not, see . + */ + +using BH.Engine.Adapter; +using BH.Engine.Structure; +using BH.oM.Adapter; +using BH.oM.Adapters.SAP2000; +using BH.oM.Architecture.Theatron; +using BH.oM.Geometry; +using BH.oM.Structure.Elements; +using CSiAPIv1; +using System.Collections.Generic; +using System.Linq; + +namespace BH.Adapter.SAP2000 +{ + public partial class SAP2000Adapter : BHoMAdapter + { + /***************************************************/ + /**** Update Panel ****/ + /***************************************************/ + + private bool UpdateObjects(IEnumerable bhPanels) + { + //Make sure Diaphragms are pushed + //List diaphragms = bhPanels.Select(x => x.Diaphragm()).Where(x => x != null).ToList(); + //this.FullCRUD(diaphragms, PushType.FullPush); + + bool success = true; + m_model.SelectObj.ClearSelection(); + + foreach (Panel bhPanel in bhPanels) + { + string name = GetAdapterId(bhPanel); + string propertyName = GetAdapterId(bhPanel.Property); + + Engine.Base.Compute.RecordWarning("The SAP2000 API does not allow for updating of the geometry of panels. This includes the external edges as well as the openings. To update the panel geometry, delete the existing panel you want to update and create a new one."); + + m_model.AreaObj.SetProperty(name, propertyName); + + //Set local orientations: + Basis orientation = bhPanel.LocalOrientation(); + //m_model.AreaObj.SetLocalAxes(name, Convert.ToEtabsPanelOrientation(orientation.Z, orientation.Y)); + + //Diaphragm diaphragm = bhPanel.Diaphragm(); + + //if (diaphragm != null) + //{ + // m_model.AreaObj.SetDiaphragm(name, diaphragm.Name); + //} + + //Update Unique Name + UpdateUniqueName(bhPanel); + + //Update Groups Assignment + //if (!UpdateGroup(bhPanel)) success = false; + + } + + //Force refresh to make sure panel local orientation are set correctly + ForceRefresh(); + + return success; + } + + /***************************************************/ + } +} + + + + diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index a0c41192..ff0c8937 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -73,7 +73,7 @@ ..\libs\v26\CSiAPIv1.dll - False + False $(ProgramData)\BHoM\Assemblies\Data_oM.dll @@ -142,7 +142,7 @@ ..\libs\v26\SAP2000v1.dll - False + False $(ProgramData)\BHoM\Assemblies\Serialiser_Engine.dll @@ -232,6 +232,7 @@ + @@ -268,4 +269,4 @@ --> - + \ No newline at end of file From 76ae6952e413638483004f4d379aaff0263b1929 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Tue, 21 Jul 2026 16:37:16 +0100 Subject: [PATCH 32/83] Add obj.Name equality check for proper UniqueName assignment --- SAP2000_Adapter/CRUD/Update/_IUpdate.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Update/_IUpdate.cs b/SAP2000_Adapter/CRUD/Update/_IUpdate.cs index 1607f2b6..f2389606 100644 --- a/SAP2000_Adapter/CRUD/Update/_IUpdate.cs +++ b/SAP2000_Adapter/CRUD/Update/_IUpdate.cs @@ -77,7 +77,7 @@ private bool UpdateUniqueName(BHoMObject obj) if (obj.GetType() == typeof(Panel) || obj.GetType() == typeof(Opening)) ret01 = m_model.AreaObj.GetGUID(uniqueName, ref guid); /* 2. CREATE THE NEW UNIQUE NAME */ - if (obj.Name == "") + if (obj.Name == "" || obj.Name == guid.Substring(guid.Length - 7)) { tempObjName = guid.Substring(guid.Length - 7); } From bfa65fdb61f984c1109192041a4d86f57f155a94 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Tue, 21 Jul 2026 19:07:07 +0100 Subject: [PATCH 33/83] Add GetStepAndMode Method in Result.cs --- SAP2000_Adapter/CRUD/Read/Results/Result.cs | 31 +++++++++++++-------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/Result.cs b/SAP2000_Adapter/CRUD/Read/Results/Result.cs index 9d101f1e..108c7ebf 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/Result.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/Result.cs @@ -20,15 +20,16 @@ * along with this code. If not, see . */ +using BH.oM.Adapter; +using BH.oM.Analytical.Results; +using BH.oM.Base; +using BH.oM.Data.Requests; +using BH.oM.Structure.Loads; +using BH.oM.Structure.Requests; using System; using System.Collections; using System.Collections.Generic; using System.Linq; -using BH.oM.Analytical.Results; -using BH.oM.Structure.Loads; -using BH.oM.Data.Requests; -using BH.oM.Structure.Requests; -using BH.oM.Adapter; namespace BH.Adapter.SAP2000 { @@ -108,15 +109,21 @@ private bool SetUpCaseOrCombo(string caseName) return true; } + /***************************************************/ - private List CheckGetBarIds(IStructuralResultRequest request) - { - int sapBarCount = 0; - string[] sapBarIds = null; - m_model.FrameObj.GetNameList(ref sapBarCount, ref sapBarIds); - //Get the bar ids which are valid - return FilterIds(request.ObjectIds.Select(x => x.ToString()), sapBarIds); + private void GetStepAndMode(string stepType, double stepNum, out double timeStep, out int mode) + { + if (stepType == "Mode") + { + mode = (int)stepNum; + timeStep = 0; + } + else + { + timeStep = stepNum; + mode = 0; + } } /***************************************************/ From 7d623f7831181a3cab3b2e09e2a474b5ac9c05e6 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Tue, 21 Jul 2026 19:08:26 +0100 Subject: [PATCH 34/83] Add Generic Method CheckAndGetIds in Result.cs --- SAP2000_Adapter/CRUD/Read/Results/Result.cs | 31 +++++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/Result.cs b/SAP2000_Adapter/CRUD/Read/Results/Result.cs index 108c7ebf..3a38e083 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/Result.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/Result.cs @@ -128,14 +128,33 @@ private void GetStepAndMode(string stepType, double stepNum, out double timeStep /***************************************************/ - private List CheckGetNodeIds(NodeResultRequest request) + private List CheckAndGetIds(IEnumerable ids) where T : IBHoMObject { - int sapNodeCount = 0; - string[] sapNodeIds = null; - m_model.PointObj.GetNameList(ref sapNodeCount, ref sapNodeIds); - - return FilterIds(request.ObjectIds.Select(x => x.ToString()), sapNodeIds); + if (ids == null) + { + return null; + } + else + { + List idsOut = new List(); + foreach (object o in ids) + { + if (o is string) + idsOut.Add((string)o); + else if (o is int || o is double) + idsOut.Add(o.ToString()); + else if (o is T) + { + string id = GetAdapterId((T)o); + if (id != null) + idsOut.Add(id); + } + } + return idsOut; + } } + + /***************************************************/ } } From 28148e5f46de8367de4cd9695860359955ee4377 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Tue, 21 Jul 2026 19:08:58 +0100 Subject: [PATCH 35/83] Move CheckGetBarIds method into BarResults.cs --- SAP2000_Adapter/CRUD/Read/Results/BarResults.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs b/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs index e93a19aa..218293f8 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs @@ -248,6 +248,22 @@ private List ReadBarStresses(List barIds = null, int division /**** Private method - Extraction methods ****/ /***************************************************/ + private List CheckGetBarIds(IStructuralResultRequest request) + { + List barIds = CheckAndGetIds(request.ObjectIds); + + if (barIds == null || barIds.Count == 0) + { + int bars = 0; + string[] names = null; + m_model.FrameObj.GetNameList(ref bars, ref names); + barIds = names.ToList(); + } + return barIds; + } + + /***************************************************/ + private double GetBarLength(string barId, Dictionary pts) { string p1Id = ""; From e04b9ec1c0f4131964f2841e4542d04509fa1be6 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Tue, 21 Jul 2026 19:09:31 +0100 Subject: [PATCH 36/83] Create Read Methods for Node Vels and Accs --- .../CRUD/Read/Results/NodeResults.cs | 95 +++++++++++++++++-- 1 file changed, 88 insertions(+), 7 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/NodeResults.cs b/SAP2000_Adapter/CRUD/Read/Results/NodeResults.cs index 112332e8..b6c50426 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/NodeResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/NodeResults.cs @@ -29,6 +29,7 @@ using BH.oM.Structure.Requests; using BH.oM.Adapter; using SAP2000v1; +using BH.oM.Structure.Elements; namespace BH.Adapter.SAP2000 @@ -52,7 +53,9 @@ public IEnumerable ReadResults(NodeResultRequest request, case NodeResultType.NodeDisplacement: return ReadNodeDisplacement(nodeIds); case NodeResultType.NodeAcceleration: + return ReadNodeAcceleration(nodeIds); case NodeResultType.NodeVelocity: + return ReadNodeVelocity(nodeIds); default: Engine.Base.Compute.RecordError("Result extraction of type " + request.ResultType + " is not yet supported"); return new List(); @@ -63,14 +66,46 @@ public IEnumerable ReadResults(NodeResultRequest request, /**** Private method - Extraction methods ****/ /***************************************************/ - private List ReadNodeAcceleration(IList ids = null, - IList cases = null) + private List ReadNodeAcceleration(List nodeIds) { - throw new NotImplementedException("Node Acceleration results is not supported yet!"); + List nodeAccelerations = new List(); + + int resultCount = 0; + string[] loadcaseNames = null; + string[] objects = null; + string[] elm = null; + string[] stepType = null; + double[] stepNum = null; + double[] ux = null; + double[] uy = null; + double[] uz = null; + double[] rx = null; + double[] ry = null; + double[] rz = null; + + for (int i = 0; i < nodeIds.Count; i++) + { + int ret = m_model.Results.JointAccAbs(nodeIds[i].ToString(), eItemTypeElm.ObjectElm, ref resultCount, ref objects, ref elm, ref loadcaseNames, + ref stepType, ref stepNum, ref ux, ref uy, ref uz, ref rx, ref ry, ref rz); + if (ret == 0) + { + for (int j = 0; j < resultCount; j++) + { + int mode; + double timeStep; + GetStepAndMode(stepType[j], stepNum[j], out timeStep, out mode); + NodeAcceleration na = new NodeAcceleration(nodeIds[i], loadcaseNames[j], mode, timeStep, oM.Geometry.Basis.XY, ux[j], uy[j], uz[j], rx[j], ry[j], rz[j]); + nodeAccelerations.Add(na); + } + } + } + + return nodeAccelerations; } /***************************************************/ + private List ReadNodeDisplacement(List nodeIds) { @@ -169,17 +204,63 @@ private List ReadNodeReaction(List nodeIds) /***************************************************/ - - private List ReadNodeVelocity(IList ids = null, - IList cases = null) + private List ReadNodeVelocity(List nodeIds) { - throw new NotImplementedException("Node velocity results are not supported yet!"); + List nodeVelocities = new List(); + int resultCount = 0; + string[] loadcaseNames = null; + string[] objects = null; + string[] elm = null; + string[] stepType = null; + double[] stepNum = null; + double[] ux = null; + double[] uy = null; + double[] uz = null; + double[] rx = null; + double[] ry = null; + double[] rz = null; + + for (int i = 0; i < nodeIds.Count; i++) + { + int ret = m_model.Results.JointVelAbs(nodeIds[i], eItemTypeElm.ObjectElm, ref resultCount, ref objects, ref elm, + ref loadcaseNames, ref stepType, ref stepNum, ref ux, ref uy, ref uz, ref rx, ref ry, ref rz); + if (ret == 0) + { + for (int j = 0; j < resultCount; j++) + { + int mode; + double timeStep; + GetStepAndMode(stepType[j], stepNum[j], out timeStep, out mode); + NodeVelocity nv = new NodeVelocity(nodeIds[i], loadcaseNames[j], mode, timeStep, oM.Geometry.Basis.XY, ux[j], uy[j], uz[j], rx[j], ry[j], rz[j]); + nodeVelocities.Add(nv); + } + } + } + + return nodeVelocities; } + /***************************************************/ /**** Private method - Support methods ****/ /***************************************************/ + private List CheckGetNodeIds(NodeResultRequest request) + { + List nodeIds = CheckAndGetIds(request.ObjectIds); + + if (nodeIds == null || nodeIds.Count == 0) + { + int nodes = 0; + string[] names = null; + m_model.PointObj.GetNameList(ref nodes, ref names); + nodeIds = names.ToList(); + } + + return nodeIds; + } + + /***************************************************/ } } From 282980a05fc19565bab14a5e107044779a5e9e44 Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Wed, 22 Jul 2026 11:14:12 +0100 Subject: [PATCH 37/83] Turn If statement into ternary operator in _ICreate.cs Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Create/_ICreate.cs | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Create/_ICreate.cs b/SAP2000_Adapter/CRUD/Create/_ICreate.cs index 0535bda0..1664fc89 100644 --- a/SAP2000_Adapter/CRUD/Create/_ICreate.cs +++ b/SAP2000_Adapter/CRUD/Create/_ICreate.cs @@ -110,21 +110,12 @@ private string SetUniqueName(BHoMObject obj, string name) int ret01 = 1; int ret02 = 1; string guid = null; - string tempObjName = ""; if (obj.GetType() == typeof(Node)) ret01 = m_model.PointObj.GetGUID(name, ref guid); if (obj.GetType() == typeof(Bar)) ret01 = m_model.FrameObj.GetGUID(name, ref guid); if (obj.GetType() == typeof(Panel) || obj.GetType() == typeof(Opening)) ret01 = m_model.AreaObj.GetGUID(name, ref guid); - /* 3. CREATE THE NEW UNIQUE NAME */ - if (obj.Name == "") - { - tempObjName = guid.Substring(guid.Length - 7); - } - else - { - tempObjName = obj.Name + "::" + guid.Substring(guid.Length - 7); - } + string tempObjName = obj.Name == "" ? guid.Substring(guid.Length - 7) : obj.Name + "::" + guid.Substring(guid.Length - 7); /* 4. ASSIGN THE NEW UNIQUE NAME TO THE SAP2000 ELEMENT */ if (obj.GetType() == typeof(Node)) ret02 = m_model.PointObj.ChangeName(name, tempObjName); From a5ec8dca0fca719535d20ea811c3c41496bd963f Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Wed, 22 Jul 2026 11:18:08 +0100 Subject: [PATCH 38/83] Return "" instead of null obj as output of SetUniqueName in _ICreate.cs Returning a null item when the output of the function is of type string can raise exceptions/bugs down the line. --- SAP2000_Adapter/CRUD/Create/_ICreate.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Create/_ICreate.cs b/SAP2000_Adapter/CRUD/Create/_ICreate.cs index 1664fc89..c1953d7c 100644 --- a/SAP2000_Adapter/CRUD/Create/_ICreate.cs +++ b/SAP2000_Adapter/CRUD/Create/_ICreate.cs @@ -122,7 +122,7 @@ private string SetUniqueName(BHoMObject obj, string name) if (obj.GetType() == typeof(Bar)) ret02 = m_model.FrameObj.ChangeName(name, tempObjName); if (obj.GetType() == typeof(Panel) || obj.GetType() == typeof(Opening)) ret02 = m_model.AreaObj.ChangeName(name, tempObjName); - if (!(ret01 == 0 && ret02 == 0)) return null; + if (!(ret01 == 0 && ret02 == 0)) return ""; return tempObjName; From d93025bc20f98f747645c98a979a073d47c7a9fe Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Wed, 29 Jul 2026 14:05:03 +0100 Subject: [PATCH 39/83] Add Utility Methods for Panels conversion from SAP to BHoM --- SAP2000_Adapter/Convert/ToBHoM/Panel.cs | 75 +++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 SAP2000_Adapter/Convert/ToBHoM/Panel.cs diff --git a/SAP2000_Adapter/Convert/ToBHoM/Panel.cs b/SAP2000_Adapter/Convert/ToBHoM/Panel.cs new file mode 100644 index 00000000..ef47fcdd --- /dev/null +++ b/SAP2000_Adapter/Convert/ToBHoM/Panel.cs @@ -0,0 +1,75 @@ +/* + * This file is part of the Buildings and Habitats object Model (BHoM) + * Copyright (c) 2015 - 2026, the respective contributors. All rights reserved. + * + * Each contributor holds copyright over their respective contributions. + * The project versioning (Git) records all such contribution source information. + * + * + * The BHoM is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3.0 of the License, or + * (at your option) any later version. + * + * The BHoM is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this code. If not, see . + */ + +using BH.Engine; +using BH.Engine.Geometry; +using BH.oM.Geometry; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BH.Adapter.SAP2000 +{ + public static partial class Convert + { + /***************************************************/ + /**** Public Methods ****/ + /***************************************************/ + + public static Vector PanelLocalAxisToBHoM(Vector axisCSI, double orientationAngle) + { + Vector locYref; + + if (axisCSI.IsSAPVertical()) + { + //Vector is paralell to z-axis + locYref = Vector.YAxis; + } + else + { + //Vector is not paralell to z-axis + locYref = Vector.ZAxis.Project(new Plane { Normal = axisCSI }); + } + + Vector localXref = locYref.CrossProduct(axisCSI); + + return localXref.Rotate(orientationAngle / 180 * Math.PI, axisCSI); + } + + /***************************************************/ + + private static bool IsSAPVertical(this Vector vector) + { + return Math.Sin(vector.Angle(Vector.ZAxis)) < 1e-3; + } + + /***************************************************/ + } +} + + + + + + From 51fcb309fe36de40126212b29f8863d9a8da5e9d Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Wed, 29 Jul 2026 14:05:40 +0100 Subject: [PATCH 40/83] Create Read Method for Mesh Objects --- SAP2000_Adapter/CRUD/Read/Mesh.cs | 125 ++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 SAP2000_Adapter/CRUD/Read/Mesh.cs diff --git a/SAP2000_Adapter/CRUD/Read/Mesh.cs b/SAP2000_Adapter/CRUD/Read/Mesh.cs new file mode 100644 index 00000000..2480c77f --- /dev/null +++ b/SAP2000_Adapter/CRUD/Read/Mesh.cs @@ -0,0 +1,125 @@ +using BH.Engine.Structure; +using BH.oM.Adapters.SAP2000; +using BH.oM.Geometry; +using BH.oM.Structure.Elements; +using BH.oM.Structure.SurfaceProperties; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BH.Adapter.SAP2000 +{ + public partial class SAP2000Adapter + { + /***************************************************/ + + private List ReadMesh(List ids = null) + { + List panelList = new List(); + int nameCount = 0; + string[] nameArr = { }; + m_model.AreaObj.GetNameList(ref nameCount, ref nameArr); + + ids = FilterIds(ids, nameArr); + + List meshes = new List(); + Dictionary nodes = GetCachedOrReadAsDictionary(); + Dictionary surfaceProps = GetCachedOrReadAsDictionary(); + + foreach (string id in ids) + { + FEMesh mesh = new FEMesh(); + + SAP2000Id etabsid = new SAP2000Id(); + etabsid.Id = id; + + List meshNodeIds = new List(); + + //Get out the "Element" ids, i.e. the mesh faces + int nbELem = 0; + string[] elemNames = new string[0]; + m_model.AreaObj.GetElm(id, ref nbELem, ref elemNames); + + for (int j = 0; j < nbELem; j++) + { + //Get out the name of the points for each face + int nbPts = 0; + string[] ptsNames = new string[0]; + m_model.AreaElm.GetPoints(elemNames[j], ref nbPts, ref ptsNames); + + FEMeshFace face = new FEMeshFace(); + + for (int k = 0; k < nbPts; k++) + { + string nodeId = ptsNames[k]; + Node node; + + //Check if node already has been pulled + if (!nodes.TryGetValue(nodeId, out node)) + { + double x = 0, y = 0, z = 0; + m_model.PointElm.GetCoordCartesian(nodeId, ref x, ref y, ref z); + node = new Node() { Position = new Point { X = x, Y = y, Z = z } }; + SetAdapterId(node, nodeId); + nodes[ptsNames[k]] = node; + } + + //Check if nodealready has been added to the mesh + if (!meshNodeIds.Contains(nodeId)) + meshNodeIds.Add(nodeId); + + //Get corresponding node index + face.NodeListIndices.Add(meshNodeIds.IndexOf(nodeId)); + } + + //Add face to list + SetAdapterId(face, elemNames[j]); + mesh.Faces.Add(face); + + } + + //Set mesh nodes - if there are no nodes, don't create the mesh. + if (nodes.Count != 0 && mesh.Faces.Count != 0) + { + mesh.Nodes = meshNodeIds.Select(x => nodes[x]).ToList(); + + string propertyName = ""; + + m_model.AreaObj.GetProperty(id, ref propertyName); + + if (propertyName != "None") + { + mesh.Property = surfaceProps[propertyName]; + } + + //Get local x-axis + double orientation = 0; + bool advanced = false; + m_model.AreaObj.GetLocalAxes(id, ref orientation, ref advanced); + + Vector normal = mesh.Faces.First().Normal(mesh); //Assuming flat mesh, all normals equal + Vector localX = Convert.PanelLocalAxisToBHoM(normal, orientation); + mesh = mesh.SetLocalOrientations(localX); + + // Get guid + string guid = null; + m_model.AreaObj.GetGUID(id, ref guid); + etabsid.PersistentId = guid; + + SetAdapterId(mesh, etabsid); + meshes.Add(mesh); + } + else + { + BH.Engine.Base.Compute.RecordWarning("Mesh " + id.ToString() + " could not be pulled, because it contains no nodes"); + } + } + + return meshes; + } + + /***************************************************/ + } +} From 0e6aab49cbde213ab950f4d5d08c00783cf9479f Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Wed, 29 Jul 2026 14:06:49 +0100 Subject: [PATCH 41/83] Update Adapter csproj with Read Mesh.cs --- SAP2000_Adapter/SAP2000_Adapter.csproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index ff0c8937..c7cffde7 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -191,6 +191,7 @@ + @@ -221,6 +222,7 @@ + From dfc98da6ac956b54babfa5aa202bf9443ab543e9 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Wed, 29 Jul 2026 14:13:48 +0100 Subject: [PATCH 42/83] Add ReadMesh Method in _IRead.cs --- SAP2000_Adapter/CRUD/Read/_IRead.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SAP2000_Adapter/CRUD/Read/_IRead.cs b/SAP2000_Adapter/CRUD/Read/_IRead.cs index f11fe08b..fbb39b48 100644 --- a/SAP2000_Adapter/CRUD/Read/_IRead.cs +++ b/SAP2000_Adapter/CRUD/Read/_IRead.cs @@ -63,6 +63,8 @@ protected override IEnumerable IRead(Type type, IList ids, ActionCo return ReadMaterial(listIds); else if (type == typeof(Panel)) return ReadPanel(listIds); + else if (type == typeof(FEMesh)) + return ReadMesh(listIds); else if (type == typeof(ISurfaceProperty) || type.GetInterfaces().Contains(typeof(ISurfaceProperty))) return ReadSurfaceProperty(listIds); else if (type == typeof(LoadCombination)) From f625bd15a63f73fe514bb3d8a7d47b9d901efe7e Mon Sep 17 00:00:00 2001 From: Peter Nugent Date: Wed, 29 Jul 2026 15:44:36 +0100 Subject: [PATCH 43/83] Upgrade to SDK style format --- SAP2000_Adapter/Properties/AssemblyInfo.cs | 64 ---------- SAP2000_Adapter/SAP2000_Adapter.csproj | 137 +++------------------ SAP2000_Engine/Properties/AssemblyInfo.cs | 64 ---------- SAP2000_Engine/SAP2000_Engine.csproj | 77 +++--------- SAP2000_Toolkit.sln | 8 +- SAP2000_oM/Properties/AssemblyInfo.cs | 61 --------- SAP2000_oM/SAP2000_oM.csproj | 83 +++---------- 7 files changed, 51 insertions(+), 443 deletions(-) delete mode 100644 SAP2000_Adapter/Properties/AssemblyInfo.cs delete mode 100644 SAP2000_Engine/Properties/AssemblyInfo.cs delete mode 100644 SAP2000_oM/Properties/AssemblyInfo.cs diff --git a/SAP2000_Adapter/Properties/AssemblyInfo.cs b/SAP2000_Adapter/Properties/AssemblyInfo.cs deleted file mode 100644 index aaf29f05..00000000 --- a/SAP2000_Adapter/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,64 +0,0 @@ -/* - * This file is part of the Buildings and Habitats object Model (BHoM) - * Copyright (c) 2015 - 2026, the respective contributors. All rights reserved. - * - * Each contributor holds copyright over their respective contributions. - * The project versioning (Git) records all such contribution source information. - * - * - * The BHoM is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3.0 of the License, or - * (at your option) any later version. - * - * The BHoM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this code. If not, see . - */ - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SAP2000_Adapter")] -[assembly: AssemblyDescription("https://github.com/BHoM/SAP2000_Toolkit")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Buro Happold")] -[assembly: AssemblyProduct("SAP2000_Adapter")] -[assembly: AssemblyCopyright("Copyright © https://github.com/BHoM")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("04e7e3bc-bd2f-47a4-b4f0-a9675f702ced")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("9.0.0.0")] -[assembly: AssemblyFileVersion("9.3.0.0")] - - - - - - diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index ff0c8937..931c224a 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -1,35 +1,20 @@ - - - + - Debug - AnyCPU - {04E7E3BC-BD2F-47A4-B4F0-A9675F702CED} +net472 Library - Properties BH.Adapter.SAP2000 - SAP2000_Adapter - v4.7.2 - 512 - - - - true - full - false - ..\Build\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true ..\Build\ - TRACE - prompt - 4 + SAP2000_Adapter + https://github.com/BHoM/SAP2000_Toolkit + Buro Happold + SAP2000_Adapter + Copyright © https://github.com/BHoM + 9.0.0.0 + 9.3.0.0 + + + $(ProgramData)\BHoM\Assemblies\Acoustic_oM.dll @@ -174,99 +159,11 @@ False False - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - {4bb31ae9-b7ce-42c8-80a4-484389d23de2} - SAP2000_Engine - False - - - {bc975b64-e35e-4155-a067-7a88505e61c2} - SAP2000_oM - False - + + - - - - xcopy "$(TargetDir)$(TargetFileName)" "C:\ProgramData\BHoM\Assemblies" /Y - xcopy "$(TargetDir)SAP2000v1.dll" "C:\ProgramData\BHoM\Assemblies" /Y - - - - \ No newline at end of file + diff --git a/SAP2000_Engine/Properties/AssemblyInfo.cs b/SAP2000_Engine/Properties/AssemblyInfo.cs deleted file mode 100644 index 271efcc9..00000000 --- a/SAP2000_Engine/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,64 +0,0 @@ -/* - * This file is part of the Buildings and Habitats object Model (BHoM) - * Copyright (c) 2015 - 2026, the respective contributors. All rights reserved. - * - * Each contributor holds copyright over their respective contributions. - * The project versioning (Git) records all such contribution source information. - * - * - * The BHoM is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3.0 of the License, or - * (at your option) any later version. - * - * The BHoM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this code. If not, see . - */ - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SAP2000_Engine")] -[assembly: AssemblyDescription("https://github.com/BHoM/SAP2000_Toolkit")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Buro Happold")] -[assembly: AssemblyProduct("SAP2000_Engine")] -[assembly: AssemblyCopyright("Copyright © https://github.com/BHoM")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("4bb31ae9-b7ce-42c8-80a4-484389d23de2")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("9.0.0.0")] -[assembly: AssemblyFileVersion("9.3.0.0")] - - - - - - diff --git a/SAP2000_Engine/SAP2000_Engine.csproj b/SAP2000_Engine/SAP2000_Engine.csproj index de4bc39a..cff2306d 100644 --- a/SAP2000_Engine/SAP2000_Engine.csproj +++ b/SAP2000_Engine/SAP2000_Engine.csproj @@ -1,35 +1,20 @@ - - - + - Debug - AnyCPU - {4BB31AE9-B7CE-42C8-80A4-484389D23DE2} +net472 Library - Properties BH.Engine.Adapters.SAP2000 - SAP2000_Engine - v4.7.2 - 512 - - - - true - full - false - ..\Build\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true ..\Build\ - TRACE - prompt - 4 + SAP2000_Engine + https://github.com/BHoM/SAP2000_Toolkit + Buro Happold + SAP2000_Engine + Copyright © https://github.com/BHoM + 9.0.0.0 + 9.3.0.0 + + + $(ProgramData)\BHoM\Assemblies\Acoustic_oM.dll @@ -131,45 +116,13 @@ False False - - - - - - - - - - - - - - - - - + + - - {bc975b64-e35e-4155-a067-7a88505e61c2} - SAP2000_oM - False - + - - - -xcopy "$(TargetDir)$(TargetFileName)" "C:\ProgramData\BHoM\Assemblies" /Y - - - diff --git a/SAP2000_Toolkit.sln b/SAP2000_Toolkit.sln index d0a596c5..0af8353e 100644 --- a/SAP2000_Toolkit.sln +++ b/SAP2000_Toolkit.sln @@ -1,16 +1,16 @@ - + Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.30225.117 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SAP2000_Adapter", "SAP2000_Adapter\SAP2000_Adapter.csproj", "{04E7E3BC-BD2F-47A4-B4F0-A9675F702CED}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SAP2000_Adapter", "SAP2000_Adapter\SAP2000_Adapter.csproj", "{04E7E3BC-BD2F-47A4-B4F0-A9675F702CED}" ProjectSection(ProjectDependencies) = postProject {4BB31AE9-B7CE-42C8-80A4-484389D23DE2} = {4BB31AE9-B7CE-42C8-80A4-484389D23DE2} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SAP2000_Engine", "SAP2000_Engine\SAP2000_Engine.csproj", "{4BB31AE9-B7CE-42C8-80A4-484389D23DE2}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SAP2000_Engine", "SAP2000_Engine\SAP2000_Engine.csproj", "{4BB31AE9-B7CE-42C8-80A4-484389D23DE2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SAP2000_oM", "SAP2000_oM\SAP2000_oM.csproj", "{BC975B64-E35E-4155-A067-7A88505E61C2}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SAP2000_oM", "SAP2000_oM\SAP2000_oM.csproj", "{BC975B64-E35E-4155-A067-7A88505E61C2}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/SAP2000_oM/Properties/AssemblyInfo.cs b/SAP2000_oM/Properties/AssemblyInfo.cs deleted file mode 100644 index ca981b7d..00000000 --- a/SAP2000_oM/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,61 +0,0 @@ -/* - * This file is part of the Buildings and Habitats object Model (BHoM) - * Copyright (c) 2015 - 2026, the respective contributors. All rights reserved. - * - * Each contributor holds copyright over their respective contributions. - * The project versioning (Git) records all such contribution source information. - * - * - * The BHoM is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3.0 of the License, or - * (at your option) any later version. - * - * The BHoM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this code. If not, see . - */ - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("SAP2000_oM")] -[assembly: AssemblyDescription("https://github.com/BHoM/SAP2000_Toolkit")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Buro Happold")] -[assembly: AssemblyProduct("SAP2000_oM")] -[assembly: AssemblyCopyright("Copyright © https://github.com/BHoM")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("bc975b64-e35e-4155-a067-7a88505e61c2")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("9.0.0.0")] -[assembly: AssemblyFileVersion("9.3.0.0")] - - - - - - diff --git a/SAP2000_oM/SAP2000_oM.csproj b/SAP2000_oM/SAP2000_oM.csproj index 02bd7a8b..44b68243 100644 --- a/SAP2000_oM/SAP2000_oM.csproj +++ b/SAP2000_oM/SAP2000_oM.csproj @@ -1,35 +1,20 @@ - - - + - Debug - AnyCPU - {BC975B64-E35E-4155-A067-7A88505E61C2} +net472 Library - Properties BH.oM.Adapters.SAP2000 - SAP2000_oM - v4.7.2 - 512 - - - - true - full - false - ..\Build\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true ..\Build\ - TRACE - prompt - 4 + SAP2000_oM + https://github.com/BHoM/SAP2000_Toolkit + Buro Happold + SAP2000_oM + Copyright © https://github.com/BHoM + 9.0.0.0 + 9.3.0.0 + + + $(ProgramData)\BHoM\Assemblies\Adapter_oM.dll @@ -53,52 +38,14 @@ ..\libs\v26\SAP2000v1.dll - True + True $(ProgramData)\BHoM\Assemblies\Structure_oM.dll False False - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -xcopy "$(TargetDir)$(TargetFileName)" "C:\ProgramData\BHoM\Assemblies" /Y - - From 6679c111bed219e1db494b0293535b3b65ea8637 Mon Sep 17 00:00:00 2001 From: Peter Nugent Date: Wed, 29 Jul 2026 15:45:38 +0100 Subject: [PATCH 44/83] Removed MeshResults and GlobalResults file as they were not included in the old style project files --- .../CRUD/Read/Results/GlobalResults.cs | 202 ----------- .../CRUD/Read/Results/MeshResults.cs | 328 ------------------ 2 files changed, 530 deletions(-) delete mode 100644 SAP2000_Adapter/CRUD/Read/Results/GlobalResults.cs delete mode 100644 SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs diff --git a/SAP2000_Adapter/CRUD/Read/Results/GlobalResults.cs b/SAP2000_Adapter/CRUD/Read/Results/GlobalResults.cs deleted file mode 100644 index a3d45dab..00000000 --- a/SAP2000_Adapter/CRUD/Read/Results/GlobalResults.cs +++ /dev/null @@ -1,202 +0,0 @@ -/* - * This file is part of the Buildings and Habitats object Model (BHoM) - * Copyright (c) 2015 - 2026, the respective contributors. All rights reserved. - * - * Each contributor holds copyright over their respective contributions. - * The project versioning (Git) records all such contribution source information. - * - * - * The BHoM is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3.0 of the License, or - * (at your option) any later version. - * - * The BHoM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this code. If not, see . - */ - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using BH.oM.Structure.Results; -using BH.oM.Common; -using BH.oM.Structure.Elements; -using BH.Engine.SAP2000; -using BH.oM.Structure.Loads; -using BH.oM.Structure.Requests; -using BH.oM.Adapters.SAP2000; -using BH.oM.Geometry; -using BH.Engine.Geometry; -/*using SAP2000v19;*/ -using BH.oM.Adapter; -using SAP2000v1; - -namespace BH.Adapter.SAP2000 -{ - /***************************************************/ - /**** Public method - Read override ****/ - /***************************************************/ - - public IEnumerable ReadResults(GlobalResultRequest request, - ActionConfig actionConfig = null) - { - CheckAndSetUpCases(request); - - switch (request.ResultType) - { - case GlobalResultType.Reactions: - return GetGlobalReactions(); - case GlobalResultType.ModalDynamics: - return GetModalParticipationMassRatios(); - default: - Engine.Reflection.Compute.RecordError("Result extraction of type " + request.ResultType + " is not yet supported"); - return new List(); - } - } - - /***************************************************/ - /**** Private method - Extraction methods ****/ - /***************************************************/ - - private List GetGlobalReactions() - { - List globalReactions = new List(); - - int resultCount = 0; - string[] loadcaseNames = null; - string[] stepType = null; - int[] stepNum = 0; - - double[] fx = null; - double[] fy = null; - double[] fz = null; - double[] mx = null; - double[] my = null; - double[] mz = null; - double gx = 0; - double gy = 0; - double gz = 0; - - int ret = m_model.Results.BaseReact(ref resultCount, - ref loadcaseNames, - ref stepType, - ref stepNum, - ref fx, - ref fy, - ref fz, - ref mx, - ref my, - ref mz, - ref gx, - ref gy, - ref gz); - - for (int i; i < resultCount; i++) - { - GlobalReactions g = new GlobalReactions() - { - ResultCase = loadcaseNames[i], - FX = fx[i], - FY = fy[i], - FZ = fz[i], - MX = mx[i], - MY = my[i], - MZ = mz[i], - TimeStep = stepNum[i] - }; - - globalReactions.Add(g); - } - - return globalReactions; - } - - /***************************************************/ - - private List GetModalParticipationMassRatios() - { - List partRatios = new List(); - - int resultCount = 0; - string[] loadcaseNames = null; - string[] stepType = null; - int[] stepNum = null; - double[] period = null; - double[] ux = null; - double[] uy = null; - double[] uz = null; - double[] sumUx = null; - double[] sumUy = null; - double[] sumUz = null; - double[] rx = null; - double[] ry = null; - double[] rz = null; - double[] sumRx = null; - double[] sumRy = null; - double[] sumRz = null; - - int ret = m_model.Results.ModalParticipatingMassRatios(ref resultCount, - ref loadcaseNames, - ref stepType, - ref stepNum, - ref period, - ref ux, - ref uy, - ref uz, - ref sumUx, - ref sumUy, - ref sumUz, - ref rx, - ref ry, - ref rz, - ref sumRx, - ref sumRy, - ref sumRz); - - if (ret != 0) Engine.Reflection.Compute.RecordError("Could not extract Modal information."); - - string previousModalCase = ""; - int modeNumber = 1; //makes up for stepnumber always = 0 - for (int i = 0; i < resultCount; i++) - { - if (loadcaseNames[i] != previousModalCase) - modeNumber = 1; - - ModalDynamics mod = new ModalDynamics() - { - ResultCase = loadcaseNames[i], - ModeNumber = modeNumber, - Frequency = 1 / period[i], - MassRatioX = ux[i], - MassRatioY = uy[i], - MassRatioZ = uz[i], - InertiaRatioX = rx[i], - InertiaRatioY = ry[i], - InertiaRatioZ = rz[i] - }; - - modeNumber += 1; - previousModalCase = loadcaseNames[i]; - - partRatios.Add(mod); - } - - return partRatios; - } - - /***************************************************/ -} - - - - - - diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs deleted file mode 100644 index 4dee5add..00000000 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ /dev/null @@ -1,328 +0,0 @@ -/* - * This file is part of the Buildings and Habitats object Model (BHoM) - * Copyright (c) 2015 - 2026, the respective contributors. All rights reserved. - * - * Each contributor holds copyright over their respective contributions. - * The project versioning (Git) records all such contribution source information. - * - * - * The BHoM is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3.0 of the License, or - * (at your option) any later version. - * - * The BHoM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this code. If not, see . - */ - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using BH.oM.Structure.Results; -using BH.oM.Common; -using BH.oM.Structure.Elements; -using BH.Engine.SAP2000; -using BH.oM.Structure.Loads; -using BH.oM.Structure.Requests; -using BH.oM.Adapters.SAP2000; -using BH.oM.Geometry; -using BH.Engine.Geometry; -/*using SAP2000v19;*/ -using BH.oM.Adapter; -using SAP2000v1; - - -namespace BH.Adapter.SAP2000 -{ - public partial class SAP2000Adapter : BHoMAdapter - { - /***************************************************/ - /**** Public method - Read override ****/ - /***************************************************/ - - public IEnumerable ReadResults(MeshResultRequest request, - ActionConfig actionConfig = null) - { - List cases = GetAllCases(request.Cases); - CheckAndSetUpCases(request); - List panelIds = CheckGetPanelIds(request); - - switch (request.ResultType) - { - case MeshResultType.Forces: - /* return ReadMeshForce(panelIds, request.smoothing);*/ - case MeshResultType.Displacements: - case MeshResultType.Stresses: - case MeshResultType.VonMises: - default: - Engine.Reflection.Compute.RecordError("Result extraction of type " + request.ResultType + " is not yet supported"); - return new List(); - } - } - - /***************************************************/ - /**** Private methods - Extraction methods ****/ - /***************************************************/ - - private List ReadMeshForce(List panelIds, - MeshResultSmoothingType smoothing) - { - switch (smoothing) - { - case MeshResultSmoothingType.BySelection: - case MeshResultSmoothingType.Global: - case MeshResultSmoothingType.ByFiniteElementCentres: - Engine.Reflection.Compute.RecordWarning("Smoothing type not supported for MeshForce. No results extracted"); - default: - return new List(); - } - - List results = new List(); - int resultCount = 0; - string[] obj = null; - string[] elm = null; - string[] pointElm = null; - string[] loadCase = null; - string[] stepType = null; - double[] stepNum = null; - double[] f11 = null; - double[] f22 = null; - double[] f12 = null; - double[] fMax = null; - double[] fMin = null; - double[] fAngle = null; - double[] fvm = null; - double[] m11 = null; - double[] m22 = null; - double[] m12 = null; - double[] mMax = null; - double[] mMin = null; - double[] mAngle = null; - double[] v13 = null; - double[] v23 = null; - double[] vMax = null; - double[] vAngle = null; - - if (smoothing == MeshResultSmoothingType.ByPanel) - Engine.Reflection.Compute.RecordWarning("Force values have been smoothed outside the API by averaging all force values in each node"); - - for (int i = 0; i < panelIds.Count; i++) - { - List forces = new List(); - - int ret = m_model.Results.AreaForceShell(panelIds[i], - eItemTypeElm.ObjectElm, - ref resultCount, - ref obj, - ref elm, - ref pointElm, - ref loadCase, - ref stepType, - ref stepNum, - ref f11, - ref f22, - ref f12, - ref fMax, - ref fMin, - ref fAngle, - ref fvm, - ref m11, - ref m22, - ref m12, - ref mMax, - ref mMin, - ref mAngle, - ref v13, - ref v23, - ref vMax, - ref vAngle); - - for (int j = 0; j < resultCount; j++) - { - double step = 0; - if (stepType[j] == "Single Value" || stepNum.Length < j) - step = 0; - else: - step = stepNum[j]; - - MeshForce pf = new MeshForce(panelIds[i], - pointElm[j], - elm[j], - loadCase[j], - step, 0, 0, 0, - oM.Geometry.Basis.XY, - f11[j], - f22[j], - f12[j], - m11[j], - m22[j], - m12[j], - v13[j], - v23[j]); - forces.Add(pf); - } - - if (smoothing == MeshResultSmoothingType.ByPanel) - forces = SmoothenForces(forces); - - results.AddRange(GroupMeshResults(forces)); - } - - return results; - } - - - /***************************************************/ - - - private List ReadMeshDisplacement(List panelIds, - MeshResultSmoothingType smoothing) - { - int resultCount = 0; - string[] obj = null; - string[] elm = null; - string[] loadCase = null; - string[] stepType = null; - double[] stepNum = null; - - double[] ux = null; - double[] uy = null; - double[] uz = null; - double[] rx = null; - double[] ry = null; - double[] rz = null; - - List results = new List(); - - for (int i = 0; i < panelIds.Count; i++) - { - List displacements = new List(); - - HashSet ptNbs = new HashSet(); - - int nbElem = 0; - string[] elemNames = new string[0]; - m_model.AreaObj.GetElm(panelIds[i], ref nbElem, ref elemNames); - - for (int j = 0; j < nbElem; j++) - { - int nbPts = 0; - string[] ptsNames = new string[0]; - m_model.AreaElm.GetPoints(elemNames[j], ref nbPts, ref ptsNames); - - foreach (string ptId in ptsNames); - { - ptNbs.Add(ptId); - } - } - - foreach (string ptId in ptNbs) - { - int ret = m_model.Results.JointDispl(ptId, - eItemTypeElm.Element, - ref resultCount, - ref obj, - ref elm, - ref loadCase, - ref stepType, - ref stepNum, - ref ux, - ref uy, - ref uz, - ref rx, - ref ry, - ref fz); - - for (int j = 0; j < resultCount; j++) - { - MeshDisplacement disp = new MeshDisplacement(panelIds[i], - ptId, - "", - loadCase[j], - stepNum[j], - MeshResultLayer.Middle, - 0, - MeshResultSmoothingType.Global, - Basis.Xy, - ux[j], - uy[j], - uz[j], - rx[j], - ry[j], - rz[j]); - } - } - results.AddRange(GroupMeshResults(displacements)); - } - return results - } - - /***************************************************/ - /* - private List ReadMeshStress(List panelIds, List cases, - MeshResultSmoothingType smoothing, MeshResultLayer layer) - { - return results - } - - - /***************************************************/ - /**** Private methods - Support methods ****/ - /***************************************************/ - - private List SmoothenForces(List forces) - { - List smoothenedForces = new List(); - - foreach (IEnumerable gorup in forces.GroupBy(x => new { x.ResultCase, - x.TimeStep, x.NodeID})) - { - MeshForce first = group.First(); - - double nxx = group.Average(x => x.NXX); - double nyy = group.Average(x => x.NYY); - double nxy = group.Average(x => x.NXY); - - double mxx = group.Average(x => x.MXX); - double myy = group.Average(x => x.MYY); - double mxy = group.Average(x => x.MXY); - - double vx = group.Average(x => x.VX); - double vy = group.Average(x => x.VY); - - smoothenedForces.Add(new MeshForce(first.ObjectId, - first.NodeID, - "", - first.ResultCase, - first.TimeStep, - first.MeshResultLayer, - first.LayerPosition, - MeshResultSmoothingType.ByPanel, - first.Orientation, - nxx, - nyy, - nxy, - mxx, - myy, - mxy, - vx, - vy)); - } - return smoothenedForces; - } - } -} - - - - - - From 83a16bab5ec57c9290ac96213a297cf07e68d525 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Thu, 30 Jul 2026 11:03:18 +0100 Subject: [PATCH 45/83] Add explanatory comment into GetStepAndMode() utility method --- SAP2000_Adapter/CRUD/Read/Results/Result.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/SAP2000_Adapter/CRUD/Read/Results/Result.cs b/SAP2000_Adapter/CRUD/Read/Results/Result.cs index 3a38e083..fc1ab3e3 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/Result.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/Result.cs @@ -114,6 +114,14 @@ private bool SetUpCaseOrCombo(string caseName) private void GetStepAndMode(string stepType, double stepNum, out double timeStep, out int mode) { + /* Based on ETABS API outputs data structure, depending on the value of stepType, the stepNum parameter + * has a different meaning. + * If stepType = "Mode", stepNum is assigned with the number of the corresponding Mode, otherwise it is + * assigned with the value of the timeStep. + * Hence, the output parameters timeStep and mode are assigned with values based on a different logic + * as in the below if statement. + */ + if (stepType == "Mode") { mode = (int)stepNum; From 7449acf21eb84a26a323b46d9b681c16cbd53e1d Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Thu, 30 Jul 2026 11:27:21 +0100 Subject: [PATCH 46/83] Refactor CheckAndGetIds to work with IResultRequest input --- .../CRUD/Read/Results/BarResults.cs | 16 ------- .../CRUD/Read/Results/NodeResults.cs | 17 ------- SAP2000_Adapter/CRUD/Read/Results/Result.cs | 47 +++++++++++++++++++ 3 files changed, 47 insertions(+), 33 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs b/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs index 218293f8..e93a19aa 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs @@ -248,22 +248,6 @@ private List ReadBarStresses(List barIds = null, int division /**** Private method - Extraction methods ****/ /***************************************************/ - private List CheckGetBarIds(IStructuralResultRequest request) - { - List barIds = CheckAndGetIds(request.ObjectIds); - - if (barIds == null || barIds.Count == 0) - { - int bars = 0; - string[] names = null; - m_model.FrameObj.GetNameList(ref bars, ref names); - barIds = names.ToList(); - } - return barIds; - } - - /***************************************************/ - private double GetBarLength(string barId, Dictionary pts) { string p1Id = ""; diff --git a/SAP2000_Adapter/CRUD/Read/Results/NodeResults.cs b/SAP2000_Adapter/CRUD/Read/Results/NodeResults.cs index b6c50426..1cb8a97a 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/NodeResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/NodeResults.cs @@ -245,23 +245,6 @@ private List ReadNodeVelocity(List nodeIds) /**** Private method - Support methods ****/ /***************************************************/ - private List CheckGetNodeIds(NodeResultRequest request) - { - List nodeIds = CheckAndGetIds(request.ObjectIds); - - if (nodeIds == null || nodeIds.Count == 0) - { - int nodes = 0; - string[] names = null; - m_model.PointObj.GetNameList(ref nodes, ref names); - nodeIds = names.ToList(); - } - - return nodeIds; - } - - /***************************************************/ - } } diff --git a/SAP2000_Adapter/CRUD/Read/Results/Result.cs b/SAP2000_Adapter/CRUD/Read/Results/Result.cs index fc1ab3e3..fe245c96 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/Result.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/Result.cs @@ -24,9 +24,11 @@ using BH.oM.Analytical.Results; using BH.oM.Base; using BH.oM.Data.Requests; +using BH.oM.Structure.Elements; using BH.oM.Structure.Loads; using BH.oM.Structure.Requests; using System; +using System.CodeDom; using System.Collections; using System.Collections.Generic; using System.Linq; @@ -163,6 +165,51 @@ private List CheckAndGetIds(IEnumerable ids) where T : IBHoMObject } /***************************************************/ + + private List CheckAndGetIds(IResultRequest request) where T : IBHoMObject + { + List ids = new List(); + + if (request.ObjectIds == null) + { + return null; + } + else + { + foreach (object o in request.ObjectIds) + { + if (o is string) + ids.Add((string)o); + else if (o is int || o is double) + ids.Add(o.ToString()); + else if (o is T) + { + string id = GetAdapterId((T)o); + if (id != null) + ids.Add(id); + } + } + } + + string[] names = null; + + switch (typeof(T)) + { + case Type t when t == typeof(Node): + int nodes = 0; + m_model.PointObj.GetNameList(ref nodes, ref names); + break; + case Type t when t == typeof(Bar): + int bars = 0; + m_model.FrameObj.GetNameList(ref bars, ref names); + break; + default: + names = new string[] { }; + break; + } + + return names.ToList(); + } } } From 4dbb6b49a7029624c88bb37a876150494b9de02c Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Thu, 30 Jul 2026 11:29:48 +0100 Subject: [PATCH 47/83] Implement refactored generic CheckAndGetIds in Read/Results --- SAP2000_Adapter/CRUD/Read/Results/BarResults.cs | 2 +- SAP2000_Adapter/CRUD/Read/Results/NodeResults.cs | 2 +- SAP2000_Adapter/CRUD/Read/Results/SteelUtilisationResults.cs | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs b/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs index e93a19aa..a1d99b0a 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs @@ -46,7 +46,7 @@ public IEnumerable ReadResults(BarResultRequest request, { CheckAndSetUpCases(request); - List barIds = CheckGetBarIds(request); + List barIds = CheckAndGetIds(request); switch (request.ResultType) { diff --git a/SAP2000_Adapter/CRUD/Read/Results/NodeResults.cs b/SAP2000_Adapter/CRUD/Read/Results/NodeResults.cs index 1cb8a97a..807b1056 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/NodeResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/NodeResults.cs @@ -44,7 +44,7 @@ public IEnumerable ReadResults(NodeResultRequest request, ActionConfig actionConfig = null) { CheckAndSetUpCases(request); - List nodeIds = CheckGetNodeIds(request); + List nodeIds = CheckAndGetIds(request); switch (request.ResultType) { diff --git a/SAP2000_Adapter/CRUD/Read/Results/SteelUtilisationResults.cs b/SAP2000_Adapter/CRUD/Read/Results/SteelUtilisationResults.cs index a6bfe919..1b3a5d38 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/SteelUtilisationResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/SteelUtilisationResults.cs @@ -35,6 +35,7 @@ using BH.oM.Adapters.SAP2000.Results; using BH.oM.Adapters.SAP2000.Requests; using SAP2000v1; +using BH.oM.Structure.Elements; namespace BH.Adapter.SAP2000 @@ -49,7 +50,7 @@ public IEnumerable ReadResults(SteelUtilisationRequest request, ActionConfig actionConfig = null) { CheckAndSetUpCases(request); - List barIds = CheckGetBarIds(request); + List barIds = CheckAndGetIds(request); switch (request.Code) { From eb31b60112743805df53c58fb58f53546ff4716d Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Thu, 30 Jul 2026 11:51:20 +0100 Subject: [PATCH 48/83] Remove unused panelList from ReadMesh method Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Read/Mesh.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Mesh.cs b/SAP2000_Adapter/CRUD/Read/Mesh.cs index 2480c77f..45313cf9 100644 --- a/SAP2000_Adapter/CRUD/Read/Mesh.cs +++ b/SAP2000_Adapter/CRUD/Read/Mesh.cs @@ -17,7 +17,6 @@ public partial class SAP2000Adapter private List ReadMesh(List ids = null) { - List panelList = new List(); int nameCount = 0; string[] nameArr = { }; m_model.AreaObj.GetNameList(ref nameCount, ref nameArr); From 4268380493c8d22c265d9aae6d9a9cfb9f73b404 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Thu, 30 Jul 2026 11:54:49 +0100 Subject: [PATCH 49/83] Replace variable name "etabsid" with "sap2000id" --- SAP2000_Adapter/CRUD/Read/Mesh.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Read/Mesh.cs b/SAP2000_Adapter/CRUD/Read/Mesh.cs index 45313cf9..fb2211bd 100644 --- a/SAP2000_Adapter/CRUD/Read/Mesh.cs +++ b/SAP2000_Adapter/CRUD/Read/Mesh.cs @@ -31,8 +31,8 @@ private List ReadMesh(List ids = null) { FEMesh mesh = new FEMesh(); - SAP2000Id etabsid = new SAP2000Id(); - etabsid.Id = id; + SAP2000Id sap2000id = new SAP2000Id(); + sap2000id.Id = id; List meshNodeIds = new List(); @@ -65,7 +65,7 @@ private List ReadMesh(List ids = null) nodes[ptsNames[k]] = node; } - //Check if nodealready has been added to the mesh + //Check if node already has been added to the mesh if (!meshNodeIds.Contains(nodeId)) meshNodeIds.Add(nodeId); @@ -105,9 +105,9 @@ private List ReadMesh(List ids = null) // Get guid string guid = null; m_model.AreaObj.GetGUID(id, ref guid); - etabsid.PersistentId = guid; + sap2000id.PersistentId = guid; - SetAdapterId(mesh, etabsid); + SetAdapterId(mesh, sap2000id); meshes.Add(mesh); } else From 4e544556a53d662d22c30f15d837f819435149df Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Thu, 30 Jul 2026 12:12:58 +0100 Subject: [PATCH 50/83] Replace IsSAPVertical() method with Query.IsParallel() --- SAP2000_Adapter/Convert/ToBHoM/Panel.cs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/SAP2000_Adapter/Convert/ToBHoM/Panel.cs b/SAP2000_Adapter/Convert/ToBHoM/Panel.cs index ef47fcdd..e7cebe51 100644 --- a/SAP2000_Adapter/Convert/ToBHoM/Panel.cs +++ b/SAP2000_Adapter/Convert/ToBHoM/Panel.cs @@ -41,7 +41,7 @@ public static Vector PanelLocalAxisToBHoM(Vector axisCSI, double orientationAngl { Vector locYref; - if (axisCSI.IsSAPVertical()) + if (Query.IsParallel(axisCSI, Vector.ZAxis)!=0) { //Vector is paralell to z-axis locYref = Vector.YAxis; @@ -59,12 +59,6 @@ public static Vector PanelLocalAxisToBHoM(Vector axisCSI, double orientationAngl /***************************************************/ - private static bool IsSAPVertical(this Vector vector) - { - return Math.Sin(vector.Angle(Vector.ZAxis)) < 1e-3; - } - - /***************************************************/ } } From c0cb2c945e8f110724e118dffee22cedc0c9a0ca Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Thu, 30 Jul 2026 14:30:14 +0100 Subject: [PATCH 51/83] Add Warning on single normal vector for all faces of a mesh --- SAP2000_Adapter/CRUD/Read/Mesh.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Mesh.cs b/SAP2000_Adapter/CRUD/Read/Mesh.cs index fb2211bd..c5138922 100644 --- a/SAP2000_Adapter/CRUD/Read/Mesh.cs +++ b/SAP2000_Adapter/CRUD/Read/Mesh.cs @@ -115,7 +115,7 @@ private List ReadMesh(List ids = null) BH.Engine.Base.Compute.RecordWarning("Mesh " + id.ToString() + " could not be pulled, because it contains no nodes"); } } - + BH.Engine.Base.Compute.RecordWarning("Meshes - Only one face normal vector is pulled from every mesh and it is applied to all the faces of the mesh."); return meshes; } From 6d766d85edf2b1fcebe4c69df15f5423bcbf3d99 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Thu, 30 Jul 2026 15:04:51 +0100 Subject: [PATCH 52/83] Rename PanelLocalAxisToBHoM method to ToPanelLocalXAxis --- SAP2000_Adapter/CRUD/Read/Mesh.cs | 2 +- SAP2000_Adapter/Convert/ToBHoM/Panel.cs | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Read/Mesh.cs b/SAP2000_Adapter/CRUD/Read/Mesh.cs index c5138922..1672a52c 100644 --- a/SAP2000_Adapter/CRUD/Read/Mesh.cs +++ b/SAP2000_Adapter/CRUD/Read/Mesh.cs @@ -99,7 +99,7 @@ private List ReadMesh(List ids = null) m_model.AreaObj.GetLocalAxes(id, ref orientation, ref advanced); Vector normal = mesh.Faces.First().Normal(mesh); //Assuming flat mesh, all normals equal - Vector localX = Convert.PanelLocalAxisToBHoM(normal, orientation); + Vector localX = Convert.ToPanelLocalXAxis(normal, orientation); mesh = mesh.SetLocalOrientations(localX); // Get guid diff --git a/SAP2000_Adapter/Convert/ToBHoM/Panel.cs b/SAP2000_Adapter/Convert/ToBHoM/Panel.cs index e7cebe51..0809952e 100644 --- a/SAP2000_Adapter/Convert/ToBHoM/Panel.cs +++ b/SAP2000_Adapter/Convert/ToBHoM/Panel.cs @@ -37,11 +37,11 @@ public static partial class Convert /**** Public Methods ****/ /***************************************************/ - public static Vector PanelLocalAxisToBHoM(Vector axisCSI, double orientationAngle) + public static Vector ToPanelLocalXAxis(Vector normal, double orientationAngle) { Vector locYref; - if (Query.IsParallel(axisCSI, Vector.ZAxis)!=0) + if (Query.IsParallel(normal, Vector.ZAxis)!=0) { //Vector is paralell to z-axis locYref = Vector.YAxis; @@ -49,12 +49,12 @@ public static Vector PanelLocalAxisToBHoM(Vector axisCSI, double orientationAngl else { //Vector is not paralell to z-axis - locYref = Vector.ZAxis.Project(new Plane { Normal = axisCSI }); + locYref = Vector.ZAxis.Project(new Plane { Normal = normal }); } - Vector localXref = locYref.CrossProduct(axisCSI); + Vector localXref = locYref.CrossProduct(normal); - return localXref.Rotate(orientationAngle / 180 * Math.PI, axisCSI); + return localXref.Rotate(orientationAngle / 180 * Math.PI, normal); } /***************************************************/ From 5afb1022dc5be2f1e99bb66013386923307060c8 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Fri, 31 Jul 2026 10:38:16 +0100 Subject: [PATCH 53/83] Add missing copyright header to Read/Mesh.cs file --- SAP2000_Adapter/CRUD/Read/Mesh.cs | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Mesh.cs b/SAP2000_Adapter/CRUD/Read/Mesh.cs index 1672a52c..3f609d55 100644 --- a/SAP2000_Adapter/CRUD/Read/Mesh.cs +++ b/SAP2000_Adapter/CRUD/Read/Mesh.cs @@ -1,4 +1,26 @@ -using BH.Engine.Structure; +/* + * This file is part of the Buildings and Habitats object Model (BHoM) + * Copyright (c) 2015 - 2026, the respective contributors. All rights reserved. + * + * Each contributor holds copyright over their respective contributions. + * The project versioning (Git) records all such contribution source information. + * + * + * The BHoM is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3.0 of the License, or + * (at your option) any later version. + * + * The BHoM is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this code. If not, see . + */ + +using BH.oM.Structure.Elements; using BH.oM.Adapters.SAP2000; using BH.oM.Geometry; using BH.oM.Structure.Elements; From 0f502f594c107495d5a50189b40b2b26fdea3a1d Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Fri, 31 Jul 2026 18:32:54 +0100 Subject: [PATCH 54/83] User BH Convert.FromDegree for angle values conversion --- SAP2000_Adapter/CRUD/Read/Mesh.cs | 1 + SAP2000_Adapter/Convert/ToBHoM/Panel.cs | 3 ++- SAP2000_Adapter/SAP2000_Adapter.csproj | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Mesh.cs b/SAP2000_Adapter/CRUD/Read/Mesh.cs index 3f609d55..4d3f43b8 100644 --- a/SAP2000_Adapter/CRUD/Read/Mesh.cs +++ b/SAP2000_Adapter/CRUD/Read/Mesh.cs @@ -30,6 +30,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using BH.Engine.Structure; namespace BH.Adapter.SAP2000 { diff --git a/SAP2000_Adapter/Convert/ToBHoM/Panel.cs b/SAP2000_Adapter/Convert/ToBHoM/Panel.cs index 0809952e..4bcc2172 100644 --- a/SAP2000_Adapter/Convert/ToBHoM/Panel.cs +++ b/SAP2000_Adapter/Convert/ToBHoM/Panel.cs @@ -22,6 +22,7 @@ using BH.Engine; using BH.Engine.Geometry; +using BH.Engine.Units; using BH.oM.Geometry; using System; using System.Collections.Generic; @@ -54,7 +55,7 @@ public static Vector ToPanelLocalXAxis(Vector normal, double orientationAngle) Vector localXref = locYref.CrossProduct(normal); - return localXref.Rotate(orientationAngle / 180 * Math.PI, normal); + return localXref.Rotate(BH.Engine.Units.Convert.FromDegree(orientationAngle), normal); } /***************************************************/ diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index c7cffde7..a39974fb 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -182,6 +182,9 @@ + + ..\..\..\..\..\..\ProgramData\BHoM\Assemblies\Units_Engine.dll + From f35d8792649643d8d91e61847751d4369fc52fbe Mon Sep 17 00:00:00 2001 From: BHoMBot Date: Mon, 3 Aug 2026 15:10:07 +0100 Subject: [PATCH 55/83] Update project compliance --- SAP2000_Adapter/SAP2000_Adapter.csproj | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index a39974fb..70b55301 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -183,7 +183,9 @@ - ..\..\..\..\..\..\ProgramData\BHoM\Assemblies\Units_Engine.dll + $(ProgramData)\BHoM\Assemblies\Units_Engine.dll + False + False @@ -274,4 +276,4 @@ --> - \ No newline at end of file + From bf2795e403b842cfec1a4db1ce286aab5738fba0 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Mon, 3 Aug 2026 20:47:44 +0100 Subject: [PATCH 56/83] Remove redundant ref to BH.Engine.Units in Panel.cs --- SAP2000_Adapter/Convert/ToBHoM/Panel.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/SAP2000_Adapter/Convert/ToBHoM/Panel.cs b/SAP2000_Adapter/Convert/ToBHoM/Panel.cs index 4bcc2172..7583c799 100644 --- a/SAP2000_Adapter/Convert/ToBHoM/Panel.cs +++ b/SAP2000_Adapter/Convert/ToBHoM/Panel.cs @@ -22,7 +22,6 @@ using BH.Engine; using BH.Engine.Geometry; -using BH.Engine.Units; using BH.oM.Geometry; using System; using System.Collections.Generic; From fad69cfef90924cef225b965be1b51f9a4a8f532 Mon Sep 17 00:00:00 2001 From: Peter Nugent Date: Tue, 4 Aug 2026 18:01:03 +0100 Subject: [PATCH 57/83] Update dependencies.txt --- dependencies.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dependencies.txt b/dependencies.txt index c859174b..f9af9c0d 100644 --- a/dependencies.txt +++ b/dependencies.txt @@ -1,3 +1,4 @@ BHoM/BHoM BHoM/BHoM_Engine -BHoM/BHoM_Adapter \ No newline at end of file +BHoM/BHoM_Adapter +BHoM/Localisation_Toolkit \ No newline at end of file From eda578908d68039c8b11097f21d6e595f15ce2fc Mon Sep 17 00:00:00 2001 From: Peter Nugent Date: Fri, 14 Aug 2026 15:44:43 +0100 Subject: [PATCH 58/83] Formatting --- SAP2000_Adapter/CRUD/Read/Results/BarResults.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs b/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs index a1d99b0a..d5147c2c 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/BarResults.cs @@ -73,7 +73,7 @@ public IEnumerable ReadResults(BarResultRequest request, private List ReadBarDisplacements(List barIds = null, int divisions = 0) { - List displacements = new List(); + List displacements = new List(); if (divisions != 0) { Engine.Base.Compute.RecordWarning("Displacements will only be extracted at SAP2000 calculation nodes." + From 51d1ba2f074d435abb1b845ea011dccdeb71165e Mon Sep 17 00:00:00 2001 From: Peter Nugent Date: Fri, 21 Aug 2026 17:12:55 +0100 Subject: [PATCH 59/83] Add missing reference for units engine --- SAP2000_Adapter/Convert/ToBHoM/Panel.cs | 3 ++- SAP2000_Adapter/SAP2000_Adapter.csproj | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/SAP2000_Adapter/Convert/ToBHoM/Panel.cs b/SAP2000_Adapter/Convert/ToBHoM/Panel.cs index 7583c799..633afd30 100644 --- a/SAP2000_Adapter/Convert/ToBHoM/Panel.cs +++ b/SAP2000_Adapter/Convert/ToBHoM/Panel.cs @@ -22,6 +22,7 @@ using BH.Engine; using BH.Engine.Geometry; +using BH.Engine.Units; using BH.oM.Geometry; using System; using System.Collections.Generic; @@ -54,7 +55,7 @@ public static Vector ToPanelLocalXAxis(Vector normal, double orientationAngle) Vector localXref = locYref.CrossProduct(normal); - return localXref.Rotate(BH.Engine.Units.Convert.FromDegree(orientationAngle), normal); + return localXref.Rotate(Engine.Units.Convert.FromDegree(orientationAngle), normal); } /***************************************************/ diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index 32055cd4..0040fa67 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -159,6 +159,9 @@ False False + + $(ProgramData)\BHoM\Assemblies\Units_Engine.dll + From cf1ff83e3ab5a32a2db0ee5e2e6153f1422ea3d7 Mon Sep 17 00:00:00 2001 From: Peter Nugent Date: Fri, 21 Aug 2026 17:16:20 +0100 Subject: [PATCH 60/83] Fix project compliance failure --- SAP2000_Adapter/SAP2000_Adapter.csproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SAP2000_Adapter/SAP2000_Adapter.csproj b/SAP2000_Adapter/SAP2000_Adapter.csproj index 0040fa67..f414aef0 100644 --- a/SAP2000_Adapter/SAP2000_Adapter.csproj +++ b/SAP2000_Adapter/SAP2000_Adapter.csproj @@ -161,6 +161,8 @@ $(ProgramData)\BHoM\Assemblies\Units_Engine.dll + False + False From 47baa0b852174c38553e693c2321797ee0439b7d Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Tue, 28 Jul 2026 19:29:01 +0100 Subject: [PATCH 61/83] Add GetStepAndMode Method in Result.cs --- SAP2000_Adapter/CRUD/Read/Results/Result.cs | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/Result.cs b/SAP2000_Adapter/CRUD/Read/Results/Result.cs index fe245c96..0b41a309 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/Result.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/Result.cs @@ -24,7 +24,6 @@ using BH.oM.Analytical.Results; using BH.oM.Base; using BH.oM.Data.Requests; -using BH.oM.Structure.Elements; using BH.oM.Structure.Loads; using BH.oM.Structure.Requests; using System; @@ -111,19 +110,10 @@ private bool SetUpCaseOrCombo(string caseName) return true; } - /***************************************************/ private void GetStepAndMode(string stepType, double stepNum, out double timeStep, out int mode) { - /* Based on ETABS API outputs data structure, depending on the value of stepType, the stepNum parameter - * has a different meaning. - * If stepType = "Mode", stepNum is assigned with the number of the corresponding Mode, otherwise it is - * assigned with the value of the timeStep. - * Hence, the output parameters timeStep and mode are assigned with values based on a different logic - * as in the below if statement. - */ - if (stepType == "Mode") { mode = (int)stepNum; From d6346c130be26d3d83a7f36190b42af3d83d3d35 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Wed, 19 Aug 2026 11:17:44 +0100 Subject: [PATCH 62/83] Add method to read Mesh Forces --- .../CRUD/Read/Results/MeshResults.cs | 280 ++++++++++++++++++ 1 file changed, 280 insertions(+) create mode 100644 SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs new file mode 100644 index 00000000..1ea5ae2d --- /dev/null +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -0,0 +1,280 @@ +/* + * This file is part of the Buildings and Habitats object Model (BHoM) + * Copyright (c) 2015 - 2026, the respective contributors. All rights reserved. + * + * Each contributor holds copyright over their respective contributions. + * The project versioning (Git) records all such contribution source information. + * + * + * The BHoM is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3.0 of the License, or + * (at your option) any later version. + * + * The BHoM is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this code. If not, see . + */ + +using BH.Engine.Geometry; +using BH.oM.Adapter; +using BH.oM.Adapters.SAP2000; +using BH.oM.Analytical.Results; +using BH.oM.Geometry; +using BH.oM.Structure.Elements; +using BH.oM.Structure.Loads; +using BH.oM.Structure.Requests; +using BH.oM.Structure.Results; +using SAP2000v1; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + + +namespace BH.Adapter.SAP2000 +{ + public partial class SAP2000Adapter : BHoMAdapter + { + /***************************************************/ + /**** Public method - Read override ****/ + /***************************************************/ + + public IEnumerable ReadResults(MeshResultRequest request, ActionConfig actionConfig = null) + { + List cases = GetAllCases(request.Cases); + CheckAndSetUpCases(request); + List panelIds = CheckGetPanelIds(request); + + switch (request.ResultType) + { + case MeshResultType.Forces: + return ReadMeshForce(panelIds, request.Smoothing); + case MeshResultType.Displacements: + case MeshResultType.Stresses: + case MeshResultType.VonMises: + default: + Engine.Base.Compute.RecordError("Result extraction of type " + request.ResultType + " is not yet supported"); + return new List(); + } + + } + + /***************************************************/ + /**** Private method - Extraction methods ****/ + /***************************************************/ + + + private List ReadMeshForce(List panelIds, MeshResultSmoothingType smoothing) + { + switch (smoothing) + { + case MeshResultSmoothingType.BySelection: + case MeshResultSmoothingType.Global: + case MeshResultSmoothingType.ByFiniteElementCentres: + Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshForce. No results extracted"); + return new List(); + } + + eItemTypeElm itemTypeElm = eItemTypeElm.ObjectElm; + int resultCount = 0; + string[] obj = null; + string[] elm = null; + string[] pointElm = null; + string[] loadCase = null; + string[] stepType = null; + double[] stepNum = null; + double[] f11 = null; + double[] f22 = null; + double[] f12 = null; + double[] fMax = null; + double[] fMin = null; + double[] fAngle = null; + double[] fvm = null; + double[] m11 = null; + double[] m22 = null; + double[] m12 = null; + double[] mMax = null; + double[] mMin = null; + double[] mAngle = null; + double[] v13 = null; + double[] v23 = null; + double[] vMax = null; + double[] vAngle = null; + + List results = new List(); + + if (smoothing == MeshResultSmoothingType.ByPanel) + Engine.Base.Compute.RecordWarning("Force values have been smoothed outside the API by averaging all force values in each node"); + + for (int i = 0; i < panelIds.Count; i++) + { + List forces = new List(); + + int ret = m_model.Results.AreaForceShell(panelIds[i], itemTypeElm, ref resultCount, ref obj, ref elm, + ref pointElm, ref loadCase, ref stepType, ref stepNum, ref f11, ref f22, ref f12, ref fMax, ref fMin, ref fAngle, ref fvm, + ref m11, ref m22, ref m12, ref mMax, ref mMin, ref mAngle, ref v13, ref v23, ref vMax, ref vAngle); + + for (int j = 0; j < resultCount; j++) + { + int mode; + double timeStep; + + if (stepType[j] == "Single Value" || stepNum.Length < j) + { + mode = 0; + timeStep = 0; + } + else + GetStepAndMode(stepType[j], stepNum[j], out timeStep, out mode); + + MeshForce pf = new MeshForce(panelIds[i], pointElm[j], elm[j], loadCase[j], mode, timeStep, 0, 0, 0, + oM.Geometry.Basis.XY, f11[j], f22[j], f12[j], m11[j], m22[j], m12[j], v13[j], v23[j]); + + forces.Add(pf); + } + + if (smoothing == MeshResultSmoothingType.ByPanel) + forces = SmoothenForces(forces); + + results.AddRange(GroupMeshResults(forces)); + } + + return results; + } + + + /***************************************************/ + + + private List ReadMeshDisplacement(List panelIds, + MeshResultSmoothingType smoothing) + { + int resultCount = 0; + string[] obj = null; + string[] elm = null; + string[] loadCase = null; + string[] stepType = null; + double[] stepNum = null; + + double[] ux = null; + double[] uy = null; + double[] uz = null; + double[] rx = null; + double[] ry = null; + double[] rz = null; + + List results = new List(); + + for (int i = 0; i < panelIds.Count; i++) + { + List displacements = new List(); + + HashSet ptNbs = new HashSet(); + + int nbElem = 0; + string[] elemNames = new string[0]; + m_model.AreaObj.GetElm(panelIds[i], ref nbElem, ref elemNames); + + for (int j = 0; j < nbElem; j++) + { + int nbPts = 0; + string[] ptsNames = new string[0]; + m_model.AreaElm.GetPoints(elemNames[j], ref nbPts, ref ptsNames); + + foreach (string ptId in ptsNames); + { + ptNbs.Add(ptId); + } + } + + foreach (string ptId in ptNbs) + { + int ret = m_model.Results.JointDispl(ptId, + eItemTypeElm.Element, + ref resultCount, + ref obj, + ref elm, + ref loadCase, + ref stepType, + ref stepNum, + ref ux, + ref uy, + ref uz, + ref rx, + ref ry, + ref fz); + + for (int j = 0; j < resultCount; j++) + { + MeshDisplacement disp = new MeshDisplacement(panelIds[i], + ptId, + "", + loadCase[j], + stepNum[j], + MeshResultLayer.Middle, + 0, + MeshResultSmoothingType.Global, + Basis.Xy, + ux[j], + uy[j], + uz[j], + rx[j], + ry[j], + rz[j]); + } + } + results.AddRange(GroupMeshResults(displacements)); + } + return results + } + + /***************************************************/ + /* + private List ReadMeshStress(List panelIds, List cases, + MeshResultSmoothingType smoothing, MeshResultLayer layer) + { + return results + } + + + /***************************************************/ + /**** Private methods - Support methods ****/ + /***************************************************/ + + private List SmoothenForces(List forces) + { + List smoothenedForces = new List(); + + foreach (IEnumerable group in forces.GroupBy(x => new { x.ResultCase, x.TimeStep, x.NodeId })) + { + MeshForce first = group.First(); + + double nxx = group.Average(x => x.NXX); + double nyy = group.Average(x => x.NYY); + double nxy = group.Average(x => x.NXY); + + double mxx = group.Average(x => x.MXX); + double myy = group.Average(x => x.MYY); + double mxy = group.Average(x => x.MXY); + + double vx = group.Average(x => x.VX); + double vy = group.Average(x => x.VY); + + smoothenedForces.Add(new MeshForce(first.ObjectId, first.NodeId, "", first.ResultCase, first.ModeNumber, first.TimeStep, first.MeshResultLayer, first.LayerPosition, MeshResultSmoothingType.ByPanel, first.Orientation, nxx, nyy, nxy, mxx, myy, mxy, vx, vy)); + } + + return smoothenedForces; + } + + + + + + From 30e89ff62597fccbfc4b3ffb8045a4863e842aa0 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Wed, 19 Aug 2026 11:19:13 +0100 Subject: [PATCH 63/83] Add method to read Mesh Stresses --- .../CRUD/Read/Results/MeshResults.cs | 163 +++++++++++++++++- 1 file changed, 157 insertions(+), 6 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index 1ea5ae2d..0b2a5d4d 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -58,6 +58,7 @@ public IEnumerable ReadResults(MeshResultRequest request, ActionConfig return ReadMeshForce(panelIds, request.Smoothing); case MeshResultType.Displacements: case MeshResultType.Stresses: + return ReadMeshStress(panelIds, cases, request.Smoothing, request.Layer); case MeshResultType.VonMises: default: Engine.Base.Compute.RecordError("Result extraction of type " + request.ResultType + " is not yet supported"); @@ -149,6 +150,106 @@ private List ReadMeshForce(List panelIds, MeshResultSmoothin return results; } + /***************************************************/ + + private List ReadMeshStress(List panelIds, List cases, MeshResultSmoothingType smoothing, MeshResultLayer layer) + { + switch (smoothing) + { + case MeshResultSmoothingType.BySelection: + case MeshResultSmoothingType.Global: + case MeshResultSmoothingType.ByFiniteElementCentres: + Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshStress. No results extracted"); + return new List(); + } + + if (layer == MeshResultLayer.Upper || layer == MeshResultLayer.Lower) + { + Engine.Base.Compute.RecordWarning("Results for both bot and top layers will be extracted at the same time"); + } + else + { + Engine.Base.Compute.RecordWarning("Stress extraction is currently only possible at bot and top layers. Please update the MeshResultLayer parameter"); + return new List(); + } + + eItemTypeElm itemTypeElm = eItemTypeElm.ObjectElm; + int resultCount = 0; + string[] obj = null; + string[] elm = null; + string[] pointElm = null; + string[] loadCase = null; + string[] stepType = null; + double[] stepNum = null; + double[] s11Top = null; + double[] s22Top = null; + double[] s12Top = null; + double[] sMaxTop = null; + double[] sMinTop = null; + double[] sAngTop = null; + double[] svmTop = null; + double[] s11Bot = null; + double[] s22Bot = null; + double[] s12Bot = null; + double[] sMaxBot = null; + double[] sMinBot = null; + double[] sAngBot = null; + double[] svmBot = null; + double[] s13Avg = null; + double[] s23Avg = null; + double[] sMaxAvg = null; + double[] sAngAvg = null; + + List results = new List(); + + if (smoothing == MeshResultSmoothingType.ByPanel) + Engine.Base.Compute.RecordWarning("Stress values have been smoothed outside the API by averaging all force values in each node."); + + foreach (string caseName in cases) + { + m_model.Results.Setup.DeselectAllCasesAndCombosForOutput(); + if (!SetUpCaseOrCombo(caseName)) + continue; + + for (int i = 0; i < panelIds.Count; i++) + { + List stressTop = new List(); + List stressBot = new List(); + int ret = m_model.Results.AreaStressShell(panelIds[i], itemTypeElm, ref resultCount, ref obj, ref elm, ref pointElm, ref loadCase, ref stepType, ref stepNum, ref s11Top, ref s22Top, ref s12Top, ref sMaxTop, ref sMinTop, ref sAngTop, ref svmTop, ref s11Bot, ref s22Bot, ref s12Bot, ref sMaxBot, ref sMinBot, ref sAngBot, ref svmBot, ref s13Avg, ref s23Avg, ref sMaxAvg, ref sAngAvg); + + if (ret == 0) + { + for (int j = 0; j < resultCount; j++) + { + int mode; + double timeStep; + GetStepAndMode(stepType[j], stepNum[j], out timeStep, out mode); + MeshStress mStressTop = new MeshStress(panelIds[i], pointElm[j], elm[j], loadCase[j], mode, timeStep, MeshResultLayer.Upper, 1, MeshResultSmoothingType.None, oM.Geometry.Basis.XY, s11Top[j], s22Top[j], s12Top[j], s13Avg[j], s23Avg[j], sMaxTop[j], sMinTop[j], double.NaN); + MeshStress mStressBot = new MeshStress(panelIds[i], pointElm[j], elm[j], loadCase[j], mode, timeStep, MeshResultLayer.Lower, 0, MeshResultSmoothingType.None, oM.Geometry.Basis.XY, s11Bot[j], s22Bot[j], s12Bot[j], s13Avg[j], s23Avg[j], sMaxBot[j], sMinBot[j], double.NaN); + + stressBot.Add(mStressBot); + stressTop.Add(mStressTop); + } + + if (smoothing == MeshResultSmoothingType.ByPanel) + { + stressTop = SmoothenStresses(stressTop); + stressBot = SmoothenStresses(stressBot); + } + + results.AddRange(GroupMeshResults(stressBot)); + results.AddRange(GroupMeshResults(stressTop)); + + } + else + { + Engine.Base.Compute.RecordWarning("Failed to extract results for element " + panelIds[i] + " for case " + caseName); + } + } + } + return results; + } + /***************************************************/ @@ -236,16 +337,38 @@ private List ReadMeshDisplacement(List panelIds, } /***************************************************/ - /* - private List ReadMeshStress(List panelIds, List cases, - MeshResultSmoothingType smoothing, MeshResultLayer layer) + /**** Private method - Support methods ****/ + /***************************************************/ + + private List GroupMeshResults(IEnumerable meshElementResults) { - return results + List results = new List(); + foreach (IEnumerable group in meshElementResults.GroupBy(x => new { x.ResultCase, x.TimeStep, x.ModeNumber })) + { + MeshElementResult first = group.First(); + results.Add(new MeshResult(first.ObjectId, first.ResultCase, first.ModeNumber, first.TimeStep, first.MeshResultLayer, first.LayerPosition, first.Smoothing, new System.Collections.ObjectModel.ReadOnlyCollection(group.ToList()))); + } + + return results; } - /***************************************************/ - /**** Private methods - Support methods ****/ + + private List CheckGetPanelIds(MeshResultRequest request) + { + List panelIds = CheckAndGetIds(request.ObjectIds); + + if (panelIds == null || panelIds.Count == 0) + { + int panels = 0; + string[] names = null; + m_model.AreaObj.GetNameList(ref panels, ref names); + panelIds = names.ToList(); + } + + return panelIds; + } + /***************************************************/ private List SmoothenForces(List forces) @@ -273,6 +396,34 @@ private List SmoothenForces(List forces) return smoothenedForces; } + /***************************************************/ + + private List SmoothenStresses(List forces) + { + List smoothenedForces = new List(); + + foreach (IEnumerable group in forces.GroupBy(x => new { x.ResultCase, x.TimeStep, x.NodeId })) + { + MeshStress first = group.First(); + + double sxx = group.Average(x => x.SXX); + double syy = group.Average(x => x.SYY); + double sxy = group.Average(x => x.SXY); + + double txx = group.Average(x => x.TXX); + double tyy = group.Average(x => x.TYY); + + double pr1 = group.Average(x => x.Principal_1); + double pr2 = group.Average(x => x.Principal_2); + double pr1_2 = group.Average(x => x.Principal_1_2); + + smoothenedForces.Add(new MeshStress(first.ObjectId, first.NodeId, "", first.ResultCase, first.ModeNumber, first.TimeStep, first.MeshResultLayer, first.LayerPosition, MeshResultSmoothingType.ByPanel, first.Orientation, sxx, syy, sxy, txx, tyy, pr1, pr2, pr1_2)); + } + + return smoothenedForces; + } + + /***************************************************/ From 1039e4f8cb0059045832388f11e73603a4e1cd80 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Wed, 19 Aug 2026 11:22:20 +0100 Subject: [PATCH 64/83] Add method to read Mesh Von Mises Stresses --- .../CRUD/Read/Results/MeshResults.cs | 196 +++++++++++++++++- 1 file changed, 193 insertions(+), 3 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index 0b2a5d4d..2d482209 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -60,6 +60,7 @@ public IEnumerable ReadResults(MeshResultRequest request, ActionConfig case MeshResultType.Stresses: return ReadMeshStress(panelIds, cases, request.Smoothing, request.Layer); case MeshResultType.VonMises: + return ReadMeshVonMises(panelIds, cases, request.Smoothing, request.Layer); default: Engine.Base.Compute.RecordError("Result extraction of type " + request.ResultType + " is not yet supported"); return new List(); @@ -250,19 +251,187 @@ private List ReadMeshStress(List panelIds, List case return results; } + /***************************************************/ + + private List ReadMeshVonMises(List panelIds, List cases, MeshResultSmoothingType smoothing, MeshResultLayer layer) + { + switch (smoothing) + { + case MeshResultSmoothingType.BySelection: + case MeshResultSmoothingType.Global: + case MeshResultSmoothingType.ByFiniteElementCentres: + Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshStress. No results extracted"); + return new List(); + } + + if (layer == MeshResultLayer.Upper || layer == MeshResultLayer.Lower) + { + Engine.Base.Compute.RecordWarning("Results for both bot and top layers will be extracted at the same time"); + } + else + { + Engine.Base.Compute.RecordWarning("Stress extraction is currently only possible at bot and top layers. Please update the MeshResultLayer parameter."); + return new List(); + } + + eItemTypeElm itemTypeElm = eItemTypeElm.ObjectElm; + int resultCount = 0; + string[] obj = null, elm = null; + string[] pointElm = null, loadCase = null, stepType = null; + double[] stepNum = null; + double[] s11Top = null, s22Top = null, s12Top = null, sMaxTop = null, sMinTop = null, sAngTop = null, svmTop = null; + double[] s11Bot = null, s22Bot = null, s12Bot = null, sMaxBot = null, sMinBot = null, sAngBot = null, svmBot = null; + double[] s13Avg = null, s23Avg = null, sMaxAvg = null, sAngAvg = null; + double[] f11 = null, f22 = null, f12 = null, fMax = null, fMin = null, fAngle = null, fvm = null; + double[] m11 = null, m22 = null, m12 = null, mMax = null, mMin = null, mAngle = null; + double[] v13 = null, v23 = null, vMax = null, vAngle = null; + + List results = new List(); + + if (smoothing == MeshResultSmoothingType.ByPanel) + Engine.Base.Compute.RecordWarning("Stress values have been smoothed outside the API by averaging all force values in each node."); + + foreach (string caseName in cases) + { + m_model.Results.Setup.DeselectAllCasesAndCombosForOutput(); + + if (!SetUpCaseOrCombo(caseName)) + continue; + + for (int i = 0; i < panelIds.Count; i++) + { + List stressVMTop = new List(); + List stressVMBot = new List(); + int ret1, ret2; + + // Extract Von Mises Stresses + ret1 = m_model.Results.AreaStressShell(panelIds[i], itemTypeElm, ref resultCount, ref obj, ref elm, ref pointElm, + ref loadCase, ref stepType, ref stepNum, ref s11Top, ref s22Top, ref s12Top, ref sMaxTop, ref sMinTop, ref sAngTop, ref svmTop, + ref s11Bot, ref s22Bot, ref s12Bot, ref sMaxBot, ref sMinBot, ref sAngBot, ref svmBot, ref s13Avg, ref s23Avg, ref sMaxAvg, ref sAngAvg); + + // Extract Von Mises Resultant Axial Forces + ret2 = m_model.Results.AreaForceShell(panelIds[i], itemTypeElm, ref resultCount, + ref obj, ref elm, ref pointElm, ref loadCase, ref stepType, ref stepNum, + ref f11, ref f22, ref f12, ref fMax, ref fMin, ref fAngle, ref fvm, + ref m11, ref m22, ref m12, ref mMax, ref mMin, ref mAngle, + ref v13, ref v23, ref vMax, ref vAngle); + + if ((ret1 == 0) && (ret2 == 0)) + { + for (int j = 0; j < resultCount; j++) + { + int mode; + double timeStep; + + GetStepAndMode(stepType[j], stepNum[j], out timeStep, out mode); + MeshVonMises mStressVMTop = new MeshVonMises(panelIds[i], pointElm[j], elm[j], loadCase[j], mode, timeStep, + MeshResultLayer.Upper, 1, MeshResultSmoothingType.None, oM.Geometry.Basis.XY, svmTop[j], fvm[j], double.NaN); + MeshVonMises mStressVMBot = new MeshVonMises(panelIds[i], pointElm[j], elm[j], loadCase[j], mode, timeStep, + MeshResultLayer.Lower, 0, MeshResultSmoothingType.None, oM.Geometry.Basis.XY, svmBot[j], fvm[j], double.NaN); + + stressVMBot.Add(mStressVMBot); + stressVMTop.Add(mStressVMTop); + } + + if (smoothing == MeshResultSmoothingType.ByPanel) + { + stressVMTop = SmoothenVonMisesStresses(stressVMTop); + stressVMBot = SmoothenVonMisesStresses(stressVMBot); + } + + results.AddRange(GroupMeshResults(stressVMTop)); + results.AddRange(GroupMeshResults(stressVMBot)); + + } + else + { + Engine.Base.Compute.RecordWarning("Failed to extract results for element " + panelIds[i] + " for case " + caseName); + } + } + } + return results; + + } /***************************************************/ - - private List ReadMeshDisplacement(List panelIds, - MeshResultSmoothingType smoothing) + //Method atempting to extract results using AreaStressLayered method. API call is currently never returning any results for this. + //Keeping for further reference. Method is not called from anywhere + private List ReadMeshStressLayered(List panelIds, MeshResultSmoothingType smoothing, List cases) { + switch (smoothing) + { + case MeshResultSmoothingType.BySelection: + case MeshResultSmoothingType.Global: + case MeshResultSmoothingType.ByFiniteElementCentres: + Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshStress. No results extracted"); + return new List(); + } + + eItemTypeElm itemTypeElm = eItemTypeElm.ObjectElm; int resultCount = 0; string[] obj = null; string[] elm = null; + string[] layer = null; + int[] intPtNb = null; + double[] layerPos = null; + string[] pointElm = null; string[] loadCase = null; string[] stepType = null; double[] stepNum = null; + double[] s11 = null; + double[] s22 = null; + double[] s12 = null; + double[] sMax = null; + double[] sMin = null; + double[] sAng = null; + double[] svm = null; + double[] s13 = null; + double[] s23 = null; + double[] sMaxAvg = null; + double[] sAngAvg = null; + + List results = new List(); + + if (smoothing == MeshResultSmoothingType.ByPanel) + Engine.Base.Compute.RecordWarning("Stress values have been smoothened outside the API by averaging all force values in each node"); + + foreach (string caseName in cases) + { + m_model.Results.Setup.DeselectAllCasesAndCombosForOutput(); + if (!SetUpCaseOrCombo(caseName)) + continue; + + for (int i = 0; i < panelIds.Count; i++) + { + List stresses = new List(); + int ret = m_model.Results.AreaStressShellLayered(panelIds[i], itemTypeElm, ref resultCount, ref obj, ref elm, ref layer, ref intPtNb, ref layerPos, ref pointElm, ref loadCase, ref stepType, ref stepNum, ref s11, ref s22, ref s12, ref sMax, ref sMin, ref sAng, ref svm, ref s13, ref s23, ref sMaxAvg, ref sAngAvg); + + if (ret == 0) + { + for (int j = 0; j < resultCount - 1; j++) + { + int mode; + double timeStep; + GetStepAndMode(stepType[j], stepNum[j], out timeStep, out mode); + MeshStress mStress = new MeshStress(panelIds[i], pointElm[j], elm[j], loadCase[j], mode, timeStep, MeshResultLayer.Arbitrary, layerPos[j], MeshResultSmoothingType.None, oM.Geometry.Basis.XY, s11[j], s22[j], s12[j], s13[j], s23[j], sMax[j], sMin[j], sMaxAvg[j]); + stresses.Add(mStress); + } + + if (smoothing == MeshResultSmoothingType.ByPanel) stresses = SmoothenStresses(stresses); + + results.AddRange(GroupMeshResults(stresses)); + } + else + { + Engine.Base.Compute.RecordWarning("Failed to extract results for element " + panelIds[i] + " for case " + caseName); + } + + } + } + + return results; + } double[] ux = null; double[] uy = null; @@ -425,7 +594,28 @@ private List SmoothenStresses(List forces) /***************************************************/ + private List SmoothenVonMisesStresses(List forces) + { + List smoothenedVMStresses = new List(); + + foreach (IEnumerable group in forces.GroupBy(x => new { x.ResultCase, x.TimeStep, x.NodeId })) + { + MeshVonMises first = group.First(); + + double s = group.Average(x => x.S); + double n = group.Average(x => x.N); + + smoothenedVMStresses.Add(new MeshVonMises(first.ObjectId, first.NodeId, "", first.ResultCase, first.ModeNumber, first.TimeStep, + first.MeshResultLayer, first.LayerPosition, MeshResultSmoothingType.ByPanel, first.Orientation, s, n, double.NaN)); + } + + return smoothenedVMStresses; + } + + /***************************************************/ + } +} From e33504c297754f65d434769f3ba6af944cb1131e Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Wed, 19 Aug 2026 11:22:50 +0100 Subject: [PATCH 65/83] Add method to read Mesh Displacements --- .../CRUD/Read/Results/MeshResults.cs | 61 ++++++++----------- 1 file changed, 25 insertions(+), 36 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index 2d482209..b664ba7a 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -57,6 +57,7 @@ public IEnumerable ReadResults(MeshResultRequest request, ActionConfig case MeshResultType.Forces: return ReadMeshForce(panelIds, request.Smoothing); case MeshResultType.Displacements: + return ReadMeshDisplacement(panelIds, request.Smoothing); case MeshResultType.Stresses: return ReadMeshStress(panelIds, cases, request.Smoothing, request.Layer); case MeshResultType.VonMises: @@ -433,6 +434,17 @@ private List ReadMeshStressLayered(List panelIds, MeshResult return results; } + /***************************************************/ + + private List ReadMeshDisplacement(List panelIds, MeshResultSmoothingType smoothing) + { + + int resultCount = 0; + string[] obj = null; + string[] elm = null; + string[] loadCase = null; + string[] stepType = null; + double[] stepNum = null; double[] ux = null; double[] uy = null; double[] uz = null; @@ -445,20 +457,19 @@ private List ReadMeshStressLayered(List panelIds, MeshResult for (int i = 0; i < panelIds.Count; i++) { List displacements = new List(); - HashSet ptNbs = new HashSet(); - - int nbElem = 0; + int nbELem = 0; string[] elemNames = new string[0]; - m_model.AreaObj.GetElm(panelIds[i], ref nbElem, ref elemNames); + m_model.AreaObj.GetElm(panelIds[i], ref nbELem, ref elemNames); - for (int j = 0; j < nbElem; j++) + for (int j = 0; j < nbELem; j++) { + //Get out the name of the points for each face int nbPts = 0; string[] ptsNames = new string[0]; m_model.AreaElm.GetPoints(elemNames[j], ref nbPts, ref ptsNames); - foreach (string ptId in ptsNames); + foreach (string ptId in ptsNames) { ptNbs.Add(ptId); } @@ -466,43 +477,21 @@ private List ReadMeshStressLayered(List panelIds, MeshResult foreach (string ptId in ptNbs) { - int ret = m_model.Results.JointDispl(ptId, - eItemTypeElm.Element, - ref resultCount, - ref obj, - ref elm, - ref loadCase, - ref stepType, - ref stepNum, - ref ux, - ref uy, - ref uz, - ref rx, - ref ry, - ref fz); + int ret = m_model.Results.JointDispl(ptId, eItemTypeElm.Element, ref resultCount, ref obj, ref elm, ref loadCase, ref stepType, ref stepNum, ref ux, ref uy, ref uz, ref rx, ref ry, ref rz); for (int j = 0; j < resultCount; j++) { - MeshDisplacement disp = new MeshDisplacement(panelIds[i], - ptId, - "", - loadCase[j], - stepNum[j], - MeshResultLayer.Middle, - 0, - MeshResultSmoothingType.Global, - Basis.Xy, - ux[j], - uy[j], - uz[j], - rx[j], - ry[j], - rz[j]); + int mode; + double timeStep; + GetStepAndMode(stepType[j], stepNum[j], out timeStep, out mode); + MeshDisplacement disp = new MeshDisplacement(panelIds[i], ptId, "", loadCase[j], mode, timeStep, MeshResultLayer.Middle, 0, MeshResultSmoothingType.Global, Basis.XY, ux[j], uy[j], uz[j], rx[j], ry[j], rz[j]); + displacements.Add(disp); } } results.AddRange(GroupMeshResults(displacements)); } - return results + + return results; } /***************************************************/ From 9934da1fe69f64d94bda5211127404c4c2168292 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Wed, 19 Aug 2026 11:34:30 +0100 Subject: [PATCH 66/83] Replace CheckGetPanelIds with generic CheckAndGetIds Method --- .../CRUD/Read/Results/MeshResults.cs | 19 +------------------ SAP2000_Adapter/CRUD/Read/Results/Result.cs | 5 +++++ 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index b664ba7a..ad5a8dd0 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -50,7 +50,7 @@ public IEnumerable ReadResults(MeshResultRequest request, ActionConfig { List cases = GetAllCases(request.Cases); CheckAndSetUpCases(request); - List panelIds = CheckGetPanelIds(request); + List panelIds = CheckAndGetIds (request); switch (request.ResultType) { @@ -512,23 +512,6 @@ private List GroupMeshResults(IEnumerable meshEle /***************************************************/ - private List CheckGetPanelIds(MeshResultRequest request) - { - List panelIds = CheckAndGetIds(request.ObjectIds); - - if (panelIds == null || panelIds.Count == 0) - { - int panels = 0; - string[] names = null; - m_model.AreaObj.GetNameList(ref panels, ref names); - panelIds = names.ToList(); - } - - return panelIds; - } - - /***************************************************/ - private List SmoothenForces(List forces) { List smoothenedForces = new List(); diff --git a/SAP2000_Adapter/CRUD/Read/Results/Result.cs b/SAP2000_Adapter/CRUD/Read/Results/Result.cs index 0b41a309..63c43ff5 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/Result.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/Result.cs @@ -24,6 +24,7 @@ using BH.oM.Analytical.Results; using BH.oM.Base; using BH.oM.Data.Requests; +using BH.oM.Structure.Elements; using BH.oM.Structure.Loads; using BH.oM.Structure.Requests; using System; @@ -193,6 +194,10 @@ private List CheckAndGetIds(IResultRequest request) where T : IBHoMOb int bars = 0; m_model.FrameObj.GetNameList(ref bars, ref names); break; + case Type t when t == typeof(Panel): + int panels = 0; + m_model.AreaObj.GetNameList(ref panels, ref names); + break; default: names = new string[] { }; break; From 9542f9b66c1e42f46634451246732f2b2de221ba Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Mon, 24 Aug 2026 14:34:48 +0100 Subject: [PATCH 67/83] Add support for FEMeshes in CheckAndGetIds Generic Method --- SAP2000_Adapter/CRUD/Read/Results/Result.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/SAP2000_Adapter/CRUD/Read/Results/Result.cs b/SAP2000_Adapter/CRUD/Read/Results/Result.cs index 63c43ff5..dea52442 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/Result.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/Result.cs @@ -198,6 +198,10 @@ private List CheckAndGetIds(IResultRequest request) where T : IBHoMOb int panels = 0; m_model.AreaObj.GetNameList(ref panels, ref names); break; + case Type t when t == typeof(FEMesh): + int feMeshes = 0; + m_model.AreaObj.GetNameList(ref feMeshes, ref names); + break; default: names = new string[] { }; break; From 010362bf8b312cfefa837cd16a8485d6172d5401 Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Mon, 24 Aug 2026 15:50:06 +0100 Subject: [PATCH 68/83] Exit generic CheckAndGetIds if ids are not null --- SAP2000_Adapter/CRUD/Read/Results/Result.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/SAP2000_Adapter/CRUD/Read/Results/Result.cs b/SAP2000_Adapter/CRUD/Read/Results/Result.cs index dea52442..29b058b1 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/Result.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/Result.cs @@ -182,6 +182,10 @@ private List CheckAndGetIds(IResultRequest request) where T : IBHoMOb } } + if (ids != null && ids.Count != 0) { + return ids; + } + string[] names = null; switch (typeof(T)) From 0d5f6c8c05b3607d3b066722817ae499591fcc31 Mon Sep 17 00:00:00 2001 From: Christopher Short Date: Sun, 6 Sep 2026 13:55:37 +0100 Subject: [PATCH 69/83] expand reference to resolve conflict --- SAP2000_Adapter/Convert/ToBHoM/Panel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/Convert/ToBHoM/Panel.cs b/SAP2000_Adapter/Convert/ToBHoM/Panel.cs index 633afd30..609a473c 100644 --- a/SAP2000_Adapter/Convert/ToBHoM/Panel.cs +++ b/SAP2000_Adapter/Convert/ToBHoM/Panel.cs @@ -42,7 +42,7 @@ public static Vector ToPanelLocalXAxis(Vector normal, double orientationAngle) { Vector locYref; - if (Query.IsParallel(normal, Vector.ZAxis)!=0) + if (BH.Engine.Geometry.Query.IsParallel(normal, Vector.ZAxis)!=0) { //Vector is paralell to z-axis locYref = Vector.YAxis; From 40f48b366eb581ef088457e599ff3ae1a5d05dcf Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Tue, 8 Sep 2026 20:16:25 +0100 Subject: [PATCH 70/83] Update Warning Message in Read/Results/MeshResults.cs Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index ad5a8dd0..0a3e1450 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -114,7 +114,7 @@ private List ReadMeshForce(List panelIds, MeshResultSmoothin List results = new List(); if (smoothing == MeshResultSmoothingType.ByPanel) - Engine.Base.Compute.RecordWarning("Force values have been smoothed outside the API by averaging all force values in each node"); + Engine.Base.Compute.RecordWarning("Force values have been smoothed outside the API by averaging all force values in each node."); for (int i = 0; i < panelIds.Count; i++) { From 3504ee9bde3e41f93953b0106b4fcba8ddf4caf7 Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Tue, 8 Sep 2026 20:17:03 +0100 Subject: [PATCH 71/83] Update Warning in Read/Results/MeshResults.cs Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index 0a3e1450..a85f21b8 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -81,7 +81,7 @@ private List ReadMeshForce(List panelIds, MeshResultSmoothin case MeshResultSmoothingType.BySelection: case MeshResultSmoothingType.Global: case MeshResultSmoothingType.ByFiniteElementCentres: - Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshForce. No results extracted"); + Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshForce. No results extracted."); return new List(); } From 608c0ad233765bcc9e5a5072ed3f723b52ec568d Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Tue, 8 Sep 2026 20:17:33 +0100 Subject: [PATCH 72/83] Update Error Message in Read/Results/MeshResults.cs Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index a85f21b8..ee6eadf2 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -63,7 +63,7 @@ public IEnumerable ReadResults(MeshResultRequest request, ActionConfig case MeshResultType.VonMises: return ReadMeshVonMises(panelIds, cases, request.Smoothing, request.Layer); default: - Engine.Base.Compute.RecordError("Result extraction of type " + request.ResultType + " is not yet supported"); + Engine.Base.Compute.RecordError("Result extraction of type " + request.ResultType + " is not yet supported."); return new List(); } From ef2f1b8ae189005e3f483c0b64df340b02630a73 Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Tue, 8 Sep 2026 20:18:06 +0100 Subject: [PATCH 73/83] Update Warning in Read/Results/MeshResults.cs Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index ee6eadf2..12dafefc 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -161,7 +161,7 @@ private List ReadMeshStress(List panelIds, List case case MeshResultSmoothingType.BySelection: case MeshResultSmoothingType.Global: case MeshResultSmoothingType.ByFiniteElementCentres: - Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshStress. No results extracted"); + Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshStress. No results extracted."); return new List(); } From 33fba13b177fc4ff239258ef0228daa7f9da8359 Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Tue, 8 Sep 2026 20:18:48 +0100 Subject: [PATCH 74/83] Update Warning in Read/Results/MeshResults.cs Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index 12dafefc..d9859634 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -346,7 +346,7 @@ private List ReadMeshVonMises(List panelIds, List ca } else { - Engine.Base.Compute.RecordWarning("Failed to extract results for element " + panelIds[i] + " for case " + caseName); + Engine.Base.Compute.RecordWarning("Failed to extract results for element " + panelIds[i] + " for case " + caseName + "."); } } } From d8885d27c0de02d7e417bfb5e3738b97873d976b Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Tue, 8 Sep 2026 20:19:05 +0100 Subject: [PATCH 75/83] Update Warning in Read/Results/MeshResults.cs Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index d9859634..f0319a82 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -365,7 +365,7 @@ private List ReadMeshStressLayered(List panelIds, MeshResult case MeshResultSmoothingType.BySelection: case MeshResultSmoothingType.Global: case MeshResultSmoothingType.ByFiniteElementCentres: - Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshStress. No results extracted"); + Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshStress. No results extracted."); return new List(); } From 5172851fd104c0cbd2ed47aa751ac54b20919f56 Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Tue, 8 Sep 2026 20:19:27 +0100 Subject: [PATCH 76/83] Update Warning in Read/Results/MeshResults.cs Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index f0319a82..c6155bc0 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -395,7 +395,7 @@ private List ReadMeshStressLayered(List panelIds, MeshResult List results = new List(); if (smoothing == MeshResultSmoothingType.ByPanel) - Engine.Base.Compute.RecordWarning("Stress values have been smoothened outside the API by averaging all force values in each node"); + Engine.Base.Compute.RecordWarning("Stress values have been smoothened outside the API by averaging all force values in each node."); foreach (string caseName in cases) { From c799e138eb6482bd331e399008e6d2bf6539ece9 Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Tue, 8 Sep 2026 20:20:26 +0100 Subject: [PATCH 77/83] Update Warning in Read/Results/MeshResults.cs Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index c6155bc0..6d27e97d 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -425,7 +425,7 @@ private List ReadMeshStressLayered(List panelIds, MeshResult } else { - Engine.Base.Compute.RecordWarning("Failed to extract results for element " + panelIds[i] + " for case " + caseName); + Engine.Base.Compute.RecordWarning("Failed to extract results for element " + panelIds[i] + " for case " + caseName + "."); } } From 19f60e8d9dfd9b134570fb2e9eab17debdbb36aa Mon Sep 17 00:00:00 2001 From: "g.albieri" <126593217+GCRA101@users.noreply.github.com> Date: Tue, 8 Sep 2026 20:41:48 +0100 Subject: [PATCH 78/83] Replace switch-case with if statement in Read/Results/MeshResults.cs --- .../CRUD/Read/Results/MeshResults.cs | 33 ++++++------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index 6d27e97d..e82238e4 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -76,13 +76,10 @@ public IEnumerable ReadResults(MeshResultRequest request, ActionConfig private List ReadMeshForce(List panelIds, MeshResultSmoothingType smoothing) { - switch (smoothing) + if (smoothing != MeshResultSmoothingType.None && smoothing != MeshResultSmoothingType.ByPanel) { - case MeshResultSmoothingType.BySelection: - case MeshResultSmoothingType.Global: - case MeshResultSmoothingType.ByFiniteElementCentres: - Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshForce. No results extracted."); - return new List(); + Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshStress. No results extracted."); + return new List(); } eItemTypeElm itemTypeElm = eItemTypeElm.ObjectElm; @@ -156,11 +153,7 @@ private List ReadMeshForce(List panelIds, MeshResultSmoothin private List ReadMeshStress(List panelIds, List cases, MeshResultSmoothingType smoothing, MeshResultLayer layer) { - switch (smoothing) - { - case MeshResultSmoothingType.BySelection: - case MeshResultSmoothingType.Global: - case MeshResultSmoothingType.ByFiniteElementCentres: + if (smoothing!= MeshResultSmoothingType.None && smoothing != MeshResultSmoothingType.ByPanel) { Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshStress. No results extracted."); return new List(); } @@ -256,13 +249,10 @@ private List ReadMeshStress(List panelIds, List case private List ReadMeshVonMises(List panelIds, List cases, MeshResultSmoothingType smoothing, MeshResultLayer layer) { - switch (smoothing) + if (smoothing != MeshResultSmoothingType.None && smoothing != MeshResultSmoothingType.ByPanel) { - case MeshResultSmoothingType.BySelection: - case MeshResultSmoothingType.Global: - case MeshResultSmoothingType.ByFiniteElementCentres: - Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshStress. No results extracted"); - return new List(); + Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshStress. No results extracted."); + return new List(); } if (layer == MeshResultLayer.Upper || layer == MeshResultLayer.Lower) @@ -360,13 +350,10 @@ private List ReadMeshVonMises(List panelIds, List ca //Keeping for further reference. Method is not called from anywhere private List ReadMeshStressLayered(List panelIds, MeshResultSmoothingType smoothing, List cases) { - switch (smoothing) + if (smoothing != MeshResultSmoothingType.None && smoothing != MeshResultSmoothingType.ByPanel) { - case MeshResultSmoothingType.BySelection: - case MeshResultSmoothingType.Global: - case MeshResultSmoothingType.ByFiniteElementCentres: - Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshStress. No results extracted."); - return new List(); + Engine.Base.Compute.RecordWarning("Smoothing type not supported for MeshStress. No results extracted."); + return new List(); } eItemTypeElm itemTypeElm = eItemTypeElm.ObjectElm; From e1a5143dffb6fc3b053c4a7e8fd6d5e13ad61520 Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Wed, 9 Sep 2026 16:04:20 +0100 Subject: [PATCH 79/83] Update Warning in /Read/Results/MeshResults.cs Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index e82238e4..a715cd3b 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -160,7 +160,7 @@ private List ReadMeshStress(List panelIds, List case if (layer == MeshResultLayer.Upper || layer == MeshResultLayer.Lower) { - Engine.Base.Compute.RecordWarning("Results for both bot and top layers will be extracted at the same time"); + Engine.Base.Compute.RecordWarning("Results for both bottom and top layers will be extracted at the same time."); } else { From 80dd6ce735411bd7be5838cee1243f81d08df999 Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Wed, 9 Sep 2026 16:05:06 +0100 Subject: [PATCH 80/83] Update Warning in /Read/Results/MeshResults.cs Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index a715cd3b..bdf6265f 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -164,7 +164,7 @@ private List ReadMeshStress(List panelIds, List case } else { - Engine.Base.Compute.RecordWarning("Stress extraction is currently only possible at bot and top layers. Please update the MeshResultLayer parameter"); + Engine.Base.Compute.RecordWarning("Stress extraction is currently only possible at bottom and top layers. Please update the MeshResultLayer parameter."); return new List(); } From f80b3a0151e8788dea0185bd6813cbdb6e6a8391 Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Wed, 9 Sep 2026 16:05:42 +0100 Subject: [PATCH 81/83] Update Warning in /Read/Results/MeshResults.cs Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index bdf6265f..8f2dc605 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -238,7 +238,7 @@ private List ReadMeshStress(List panelIds, List case } else { - Engine.Base.Compute.RecordWarning("Failed to extract results for element " + panelIds[i] + " for case " + caseName); + Engine.Base.Compute.RecordWarning("Failed to extract results for element " + panelIds[i] + " for case " + caseName + "."); } } } From 73589d39283b8297ddbe2a0f6e011752a0714e3b Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Wed, 9 Sep 2026 16:11:07 +0100 Subject: [PATCH 82/83] Update SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index 8f2dc605..311590d5 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -257,7 +257,7 @@ private List ReadMeshVonMises(List panelIds, List ca if (layer == MeshResultLayer.Upper || layer == MeshResultLayer.Lower) { - Engine.Base.Compute.RecordWarning("Results for both bot and top layers will be extracted at the same time"); + Engine.Base.Compute.RecordWarning("Results for both bot and top layers will be extracted at the same time."); } else { From 058bfe68ac4c148e007b42b97624d000f627ce85 Mon Sep 17 00:00:00 2001 From: Giorgio Carlo Roberto Albieri Date: Wed, 9 Sep 2026 16:11:25 +0100 Subject: [PATCH 83/83] Update SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs Co-authored-by: Peter Nugent --- SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs index 311590d5..abf9295e 100644 --- a/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs +++ b/SAP2000_Adapter/CRUD/Read/Results/MeshResults.cs @@ -261,7 +261,7 @@ private List ReadMeshVonMises(List panelIds, List ca } else { - Engine.Base.Compute.RecordWarning("Stress extraction is currently only possible at bot and top layers. Please update the MeshResultLayer parameter."); + Engine.Base.Compute.RecordWarning("Stress extraction is currently only possible at bottom and top layers. Please update the MeshResultLayer parameter."); return new List(); }