diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index a92d6ed8..665e4894 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,16 +3,18 @@
"isRoot": true,
"tools": {
"csharpier": {
- "version": "0.28.2",
+ "version": "0.30.6",
"commands": [
"dotnet-csharpier"
- ]
+ ],
+ "rollForward": false
},
"gitversion.tool": {
- "version": "5.12.0",
+ "version": "6.1.0",
"commands": [
"dotnet-gitversion"
- ]
+ ],
+ "rollForward": false
}
}
}
\ No newline at end of file
diff --git a/.editorconfig b/.editorconfig
index 140ceb7d..27feb2d7 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -212,6 +212,7 @@ dotnet_diagnostic.ide0058.severity = none # Remove unnecessary expression value:
dotnet_diagnostic.ide0010.severity = none # Add missing cases to switch statement: Too verbose
dotnet_diagnostic.ide0200.severity = none # Remove unnecessary lambda expression: may be performance reasons not to
dotnet_diagnostic.ide0058.severity = none # Remove unnecessary expression value: Subjective
+dotnet_diagnostic.ide0305.severity = none # Use collection expression for fluent: Can obfuscate intent
dotnet_diagnostic.ide0001.severity = suggestion # Name can be simplified: Non enforceable in build
dotnet_diagnostic.ide0046.severity = suggestion # Use conditional expression for return: Subjective
dotnet_diagnostic.ide0045.severity = suggestion # Use conditional expression for assignment: Subjective
@@ -233,6 +234,17 @@ dotnet_diagnostic.ide0042.severity = suggestion # Deconstruct variable declarati
dotnet_diagnostic.ide0028.severity = suggestion # Use collection initializers: Subjective
dotnet_diagnostic.ide0072.severity = suggestion # Populate switch statement: Subjective
dotnet_diagnostic.ide0074.severity = suggestion # Use compound assignment: Subjective
+dotnet_diagnostic.ide0300.severity = suggestion # Use collection expression for array: Subjective, maybe aspirational
+dotnet_diagnostic.ide0290.severity = suggestion # primary constructors: subjective, and readonly properties are not a thing
+dotnet_diagnostic.ide0290.severity = suggestion # Use primary constructor: Subjective
+dotnet_diagnostic.ide0037.severity = suggestion # Use inferred member names: Sometimes its nice to be explicit
+dotnet_diagnostic.ide0301.severity = suggestion # Use collection expression for empty: Subjective, intent
+dotnet_diagnostic.ide0021.severity = suggestion # Use expression body for constructors : Subjective
+dotnet_diagnostic.ide0090.severity = suggestion # Simplify new expression : Subjective
+
+dotnet_diagnostic.ide0047.severity = suggestion # Parentheses preferences: IDEs don't properly pick it up
+dotnet_diagnostic.ide0130.severity = suggestion # Namespace does not match folder structure : Aspirational
+dotnet_diagnostic.ide1006.severity = suggestion # Naming rule violation : Aspirational
# Maintainability rules
dotnet_diagnostic.ca1501.severity = warning # Avoid excessive inheritance
@@ -242,11 +254,7 @@ dotnet_diagnostic.ca1506.severity = warning # Avoid excessive class coupling
dotnet_diagnostic.ca1507.severity = warning # Use nameof in place of string
dotnet_diagnostic.ca1508.severity = warning # Avoid dead conditional code
dotnet_diagnostic.ca1509.severity = warning # Invalid entry in code metrics configuration file
-dotnet_diagnostic.ca1861.severity = none # Prefer 'static readonly' fields over constant array arguments if the called method is called repeatedly and is not mutating the passed array (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1861)
-
-dotnet_diagnostic.cs8618.severity = suggestion # nullable problem
-dotnet_diagnostic.CS0809.severity = suggestion # obsolete errors
-dotnet_diagnostic.CS0618.severity = suggestion # obsolete errors
+dotnet_diagnostic.ca1861.severity = suggestion # Prefer 'static readonly' fields over constant array arguments if the called method is called repeatedly and is not mutating the passed array (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1861)
# Performance rules
@@ -307,3 +315,13 @@ dotnet_diagnostic.NUnit2039.severity = warning # Consider using Assert.That(actu
indent_style = space
indent_size = 2
tab_width = 2
+
+# Verify
+[*.{received,verified}.{json}]
+charset = utf-8-bom
+end_of_line = lf
+indent_size = unset
+indent_style = unset
+insert_final_newline = false
+tab_width = unset
+trim_trailing_whitespace = false
\ No newline at end of file
diff --git a/.gitattributes b/.gitattributes
index 0a96b77c..d87a165f 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2,4 +2,7 @@
* text=auto
# need original files to be windows
-*.txt text eol=crlf
\ No newline at end of file
+*.txt text eol=crlf
+
+# Verify
+*.verified.json text eol=lf working-tree-encoding=UTF-8
\ No newline at end of file
diff --git a/.github/workflows/ci.yml b/.github/workflows/pr.yml
similarity index 94%
rename from .github/workflows/ci.yml
rename to .github/workflows/pr.yml
index 19fce647..f4afe4ea 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/pr.yml
@@ -26,7 +26,7 @@ jobs:
run: ./build.sh
- name: Upload coverage reports to Codecov with GitHub Action
- uses: codecov/codecov-action@v4
+ uses: codecov/codecov-action@v5
with:
files: tests/**/coverage.xml
token: ${{ secrets.CODECOV_TOKEN }}
diff --git a/.github/workflows/main.yml b/.github/workflows/release.yml
similarity index 94%
rename from .github/workflows/main.yml
rename to .github/workflows/release.yml
index 79de0de5..0ad4a0e9 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/release.yml
@@ -3,6 +3,7 @@ name: .NET Build and Publish
on:
push:
branches: ["main", "dev"]
+ tags: ["3.*"]
jobs:
build:
@@ -27,7 +28,7 @@ jobs:
run: ./build.sh pack
- name: Upload coverage reports to Codecov with GitHub Action
- uses: codecov/codecov-action@v4
+ uses: codecov/codecov-action@v5
with:
files: tests/**/coverage.xml
token: ${{ secrets.CODECOV_TOKEN }}
diff --git a/.gitignore b/.gitignore
index 6e3d7b2a..190742b6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,4 +18,6 @@ tools
.DS_Store
*.snupkg
-coverage.xml
\ No newline at end of file
+coverage.xml
+
+*.received.*
\ No newline at end of file
diff --git a/CodeMetricsConfig.txt b/CodeMetricsConfig.txt
new file mode 100644
index 00000000..e69bf234
--- /dev/null
+++ b/CodeMetricsConfig.txt
@@ -0,0 +1,4 @@
+CA1502: 25
+CA1501: 5
+CA1506(Method): 50
+CA1506(Type): 95
diff --git a/Directory.Build.props b/Directory.Build.props
index aef6ebeb..e37df49c 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -1,47 +1,72 @@
-
- Speckle
- Speckle
- Copyright (c) AEC Systems Ltd
-
-
-
- latest
+
+
+ 12
enable
enable
- Recommended
- true
- true
- true
- true
- true
- False
- False
true
true
- false
+
+
+
+
+
+
+ Speckle
+ Copyright (c) AEC Systems Ltd
+ https://speckle.systems/
+ logo.png
+ README.md
+ https://github.com/specklesystems/speckle-sharp-sdk
+ git
+ speckle
+ Apache-2.0
+
+
+
+ false
+ true
+ true
+ $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb
true
+
+
+ true
+ latest-AllEnabledByDefault
+ true
+ true
+ false
+ true
+
+
+
+
+ CA5399;CA1812;
+
+ CS1591;CS1573;
+
+ CA1303;CA1304;CA1305;CA1307;CA1308;CA1309;CA1310;CA1311;
+
+ CA1848;CA1727;
+
+ CA1815;CA1725;
+
+ CA1710;CA1711;CA1720;CA1724;
+
+ CA1502;CA1716;NETSDK1206;
+ $(NoWarn)
+
+
- true
- $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb
- speckle
- https://speckle.systems/
- logo.png
- https://github.com/specklesystems/speckle-sharp-sdk
- git
$(MSBuildThisFileDirectory)
- true
- README.md
- Apache-2.0
- true
- $(NoWarn);1591;1573
+
+
+
+
+
+
+
diff --git a/Directory.Build.targets b/Directory.Build.targets
new file mode 100644
index 00000000..10e64e3a
--- /dev/null
+++ b/Directory.Build.targets
@@ -0,0 +1,18 @@
+
+
+
+ $(NoWarn);
+
+ CS0618;CA1034;CA2201;CA1051;CA1040;CA1724;
+ IDE0044;IDE0130;CA1508;
+
+ CA5394;CA2007;CA1852;CA1819;CA1711;CA1063;CA1816;CA2234;CS8618;CA1054;CA1810;CA2208;CA1019;CA1831;
+
+
+
+
+
+
+
+
+
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 9ae91639..b442fb0c 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -1,39 +1,37 @@
-
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
-
diff --git a/GitVersion.yml b/GitVersion.yml
index 96532bca..cc61f149 100644
--- a/GitVersion.yml
+++ b/GitVersion.yml
@@ -1,11 +1,6 @@
+workflow: GitFlow/v1
next-version: 3.0.0
-mode: ContinuousDeployment
-assembly-informational-format: "{Major}.{Minor}.{Patch}-{PreReleaseTag}"
branches:
main:
- regex: ^main$
- tag: rc
- develop:
- tag: dev
- pull-request:
- tag: pr
+ prevent-increment:
+ when-current-commit-tagged: true
diff --git a/README.md b/README.md
index 7de6c40f..5a437272 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,38 @@
-# Core
+
+Speckle | Sharp | SDK
+=================================================================================================================================
-[](https://twitter.com/SpeckleSystems) [](https://discourse.speckle.works) [](https://speckle.systems) [](https://speckle.guide/dev/)
+[](https://twitter.com/SpeckleSystems) [](https://speckle.community) [](https://speckle.systems) [](https://speckle.guide/dev/)
-[](https://codecov.io/gh/specklesystems/speckle-sharp-sdk)
+ > Speckle is the first AEC data hub that connects with your favorite AEC tools. Speckle exists to overcome the challenges of working in a fragmented industry where communication, creative workflows, and the exchange of data are often hindered by siloed software and processes. It is here to make the industry better.
-## **Disclaimer**
+### .NET SDK, Tests, and Objects
-This is an early alpha release, not meant for use in production! We're working to stabilise the 3.0 API, and until then there will be breaking changes. You have been warned!
+[](https://codecov.io/gh/specklesystems/speckle-sharp-sdk)
-## Introduction
+> [!WARNING]
+> This is an early beta release, not meant for use in production! We're working to stabilise the 3.0 API, and until then there will be breaking changes. You have been warned!
-### Core
+# Repo structure
-Core is the .NET SDK for Speckle 3.0. It uses .NET Standard 2.0 and has been tested on Windows and MacOS.
+This repo is the home of our next-generation Speckle .NET SDK. It uses .NET Standard 2.0 and has been tested on Windows and MacOS.
+
+- **SDK**
+ - [`Speckle.Sdk`](https://github.com/specklesystems/speckle-sharp-sdk/tree/dev/src/Speckle.Sdk): Transports, serialization, API wrappers, and logging.
+ - [`Speckle.Sdk.Dependencies`](https://github.com/specklesystems/speckle-sharp-sdk/tree/dev/src/Speckle.Sdk.Dependencies): Dependencies and code that shouldn't cause conflicts in Host Apps. This uses [IL Repack](https://github.com/gluck/il-repack) to merge together and interalized only to be used by Speckle.
+- **Speckle Objects**
+ - [`Speckle.Objects`](https://github.com/specklesystems/speckle-sharp-sdk/tree/dev/src/Speckle.Objects): The Speckle Objects classes used for conversions.
+- **Tests**
+ - [`Tests`](https://github.com/specklesystems/speckle-sharp-sdk/tree/dev/tests): Unit, serialization, integration, and performance tests.
+
+### Other repos
+
+Make sure to also check and ⭐️ these other Speckle next generation repositories:
+
+- [`speckle-sharp-connectors`](https://github.com/specklesystems/speckle-sharp-connectors): our csharp repo of next gen connectors
+- [`speckle-sketchup`](https://github.com/specklesystems/speckle-sketchup): Sketchup connector
+- [`speckle-powerbi`](https://github.com/specklesystems/speckle-powerbi): PowerBi connector
+- and more [connectors & tooling](https://github.com/specklesystems/)!
## Documentation
@@ -20,7 +40,7 @@ Comprehensive developer and user documentation can be found in our:
### 📚 [Speckle Docs website](https://speckle.guide/dev/)
-## Developing & Debugging
+# Developing and Debugging
### Building
@@ -41,13 +61,16 @@ There are two test projects, one for unit tests and one for integration tests. T
Before embarking on submitting a patch, please make sure you read:
-- [Contribution Guidelines](CONTRIBUTING.md),
+- [Contribution Guidelines](CONTRIBUTING.md)
- [Code of Conduct](CODE_OF_CONDUCT.md)
-## Community
+# Security and Licensing
+
+### Security
-The Speckle Community hangs out on [the forum](https://discourse.speckle.works), do join and introduce yourself & feel free to ask us questions!
+For any security vulnerabilities or concerns, please contact us directly at security[at]speckle.systems.
-## License
+### License
+
+Unless otherwise described, the code in this repository is licensed under the Apache-2.0 License. Please note that some modules, extensions or code herein might be otherwise licensed. This is indicated either in the root of the containing folder under a different license file, or in the respective file's header. If you have any questions, don't hesitate to get in touch with us via [email](mailto:hello@speckle.systems).
-Unless otherwise described, the code in this repository is licensed under the Apache-2.0 license.
diff --git a/Speckle.Sdk.sln b/Speckle.Sdk.sln
index d1ed4fb7..cc6a7e94 100644
--- a/Speckle.Sdk.sln
+++ b/Speckle.Sdk.sln
@@ -1,4 +1,4 @@
-
+
Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Sdk", "src\Speckle.Sdk\Speckle.Sdk.csproj", "{A413E196-3696-4F48-B635-04B5F76BF9C9}"
EndProject
@@ -22,6 +22,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "config", "config", "{DA2AED
README.md = README.md
GitVersion.yml = GitVersion.yml
docker-compose.yml = docker-compose.yml
+ CodeMetricsConfig.txt = CodeMetricsConfig.txt
+ Directory.Build.Targets = Directory.Build.Targets
+ .config\dotnet-tools.json = .config\dotnet-tools.json
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{58D37DA9-F948-48CA-9A73-F5BBBD533DBF}"
@@ -34,13 +37,19 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Sdk.Tests.Integrati
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{B623BD21-5CAA-43F9-A539-1835276C220E}"
ProjectSection(SolutionItems) = preProject
- .github\workflows\main.yml = .github\workflows\main.yml
- .github\workflows\ci.yml = .github\workflows\ci.yml
+ .github\workflows\pr.yml = .github\workflows\pr.yml
+ .github\workflows\release.yml = .github\workflows\release.yml
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Sdk.Logging", "src\Speckle.Sdk.Logging\Speckle.Sdk.Logging.csproj", "{156313B4-B588-4363-A0ED-5AB3A55AA4E8}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Sdk.Tests.Performance", "tests\Speckle.Sdk.Tests.Performance\Speckle.Sdk.Tests.Performance.csproj", "{870E3396-E6F7-43AE-B120-E651FA4F46BD}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.LongSendProblem", "tests\Speckle.LongSendProblem\Speckle.LongSendProblem.csproj", "{6B8D2DD8-AD20-4021-975C-6FDE71DC425B}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Sdk.Serialization.Testing", "tests\Speckle.Sdk.Serialization.Testing\Speckle.Sdk.Serialization.Testing.csproj", "{FF922B6D-D416-4348-8CB8-0C8B28691070}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Sdk.Dependencies", "src\Speckle.Sdk.Dependencies\Speckle.Sdk.Dependencies.csproj", "{27584AB4-8ACD-4850-8CC2-7E5BC739FB78}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Sdk.Testing", "tests\Speckle.Sdk.Testing\Speckle.Sdk.Testing.csproj", "{7B617C0D-2354-415C-993C-5071D4113E27}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "performance", "performance", "{FFB07238-87E8-463A-AA39-3B38AAAA94C1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -80,14 +89,22 @@ Global
{4FB41A6D-D139-4111-8115-E3F9F6BEAF24}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4FB41A6D-D139-4111-8115-E3F9F6BEAF24}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4FB41A6D-D139-4111-8115-E3F9F6BEAF24}.Release|Any CPU.Build.0 = Release|Any CPU
- {156313B4-B588-4363-A0ED-5AB3A55AA4E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {156313B4-B588-4363-A0ED-5AB3A55AA4E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {156313B4-B588-4363-A0ED-5AB3A55AA4E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {156313B4-B588-4363-A0ED-5AB3A55AA4E8}.Release|Any CPU.Build.0 = Release|Any CPU
- {6B8D2DD8-AD20-4021-975C-6FDE71DC425B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6B8D2DD8-AD20-4021-975C-6FDE71DC425B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6B8D2DD8-AD20-4021-975C-6FDE71DC425B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6B8D2DD8-AD20-4021-975C-6FDE71DC425B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {870E3396-E6F7-43AE-B120-E651FA4F46BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {870E3396-E6F7-43AE-B120-E651FA4F46BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {870E3396-E6F7-43AE-B120-E651FA4F46BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {870E3396-E6F7-43AE-B120-E651FA4F46BD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FF922B6D-D416-4348-8CB8-0C8B28691070}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FF922B6D-D416-4348-8CB8-0C8B28691070}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FF922B6D-D416-4348-8CB8-0C8B28691070}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FF922B6D-D416-4348-8CB8-0C8B28691070}.Release|Any CPU.Build.0 = Release|Any CPU
+ {27584AB4-8ACD-4850-8CC2-7E5BC739FB78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {27584AB4-8ACD-4850-8CC2-7E5BC739FB78}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {27584AB4-8ACD-4850-8CC2-7E5BC739FB78}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {27584AB4-8ACD-4850-8CC2-7E5BC739FB78}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7B617C0D-2354-415C-993C-5071D4113E27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7B617C0D-2354-415C-993C-5071D4113E27}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7B617C0D-2354-415C-993C-5071D4113E27}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7B617C0D-2354-415C-993C-5071D4113E27}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{A413E196-3696-4F48-B635-04B5F76BF9C9} = {5CB96C27-FC5B-4A41-86B6-951AF99B8116}
@@ -98,7 +115,9 @@ Global
{AA1E1E51-49AE-4F71-84B1-938E19695BE0} = {35047EE7-AD1D-4741-80A7-8F0E874718E9}
{4FB41A6D-D139-4111-8115-E3F9F6BEAF24} = {35047EE7-AD1D-4741-80A7-8F0E874718E9}
{B623BD21-5CAA-43F9-A539-1835276C220E} = {DA2AED52-58F9-471E-8AD8-102FD36129E3}
- {156313B4-B588-4363-A0ED-5AB3A55AA4E8} = {5CB96C27-FC5B-4A41-86B6-951AF99B8116}
- {6B8D2DD8-AD20-4021-975C-6FDE71DC425B} = {35047EE7-AD1D-4741-80A7-8F0E874718E9}
+ {27584AB4-8ACD-4850-8CC2-7E5BC739FB78} = {5CB96C27-FC5B-4A41-86B6-951AF99B8116}
+ {7B617C0D-2354-415C-993C-5071D4113E27} = {35047EE7-AD1D-4741-80A7-8F0E874718E9}
+ {FF922B6D-D416-4348-8CB8-0C8B28691070} = {FFB07238-87E8-463A-AA39-3B38AAAA94C1}
+ {870E3396-E6F7-43AE-B120-E651FA4F46BD} = {FFB07238-87E8-463A-AA39-3B38AAAA94C1}
EndGlobalSection
EndGlobal
diff --git a/Speckle.Sdk.sln.DotSettings b/Speckle.Sdk.sln.DotSettings
new file mode 100644
index 00000000..691a8f91
--- /dev/null
+++ b/Speckle.Sdk.sln.DotSettings
@@ -0,0 +1,3 @@
+
+ QL
+ XYZ
\ No newline at end of file
diff --git a/build/Program.cs b/build/Program.cs
index 0cd07382..0b9f0cda 100644
--- a/build/Program.cs
+++ b/build/Program.cs
@@ -1,3 +1,4 @@
+using System.Text.Json;
using GlobExpressions;
using static Bullseye.Targets;
using static SimpleExec.Command;
@@ -13,6 +14,18 @@ const string INTEGRATION = "integration";
const string PACK = "pack";
const string PACK_LOCAL = "pack-local";
const string CLEAN_LOCKS = "clean-locks";
+const string PERF = "perf";
+const string DEEP_CLEAN = "deep-clean";
+
+static async Task<(string, string)> GetVersions()
+{
+ var (output, _) = await ReadAsync("dotnet", "dotnet-gitversion /output json").ConfigureAwait(false);
+ output = output.Trim();
+ var jDoc = JsonDocument.Parse(output);
+ var version = jDoc.RootElement.GetProperty("FullSemVer").GetString() ?? "3.0.0-localBuild";
+ var fileVersion = jDoc.RootElement.GetProperty("AssemblySemFileVer").GetString() ?? "3.0.0.0";
+ return (version, fileVersion);
+}
Target(
CLEAN_LOCKS,
@@ -65,7 +78,13 @@ Target(
DependsOn(RESTORE),
async () =>
{
- await RunAsync("dotnet", $"build Speckle.Sdk.sln -c Release --no-restore");
+ var (version, fileVersion) = await GetVersions().ConfigureAwait(false);
+ Console.WriteLine($"Version: {version} & {fileVersion}");
+ await RunAsync(
+ "dotnet",
+ $"build Speckle.Sdk.sln -c Release --no-restore -warnaserror -p:Version={version} -p:FileVersion={fileVersion}"
+ )
+ .ConfigureAwait(false);
}
);
@@ -76,9 +95,10 @@ Target(
async file =>
{
await RunAsync(
- "dotnet",
- $"test {file} -c Release --no-build --no-restore --verbosity=normal /p:AltCover=true /p:AltCoverAttributeFilter=ExcludeFromCodeCoverage /p:AltCoverVerbosity=Warning"
- );
+ "dotnet",
+ $"test {file} -c Release --no-build --no-restore --verbosity=normal /p:AltCover=true /p:AltCoverAttributeFilter=ExcludeFromCodeCoverage /p:AltCoverVerbosity=Warning"
+ )
+ .ConfigureAwait(false);
}
);
@@ -87,22 +107,72 @@ Target(
DependsOn(BUILD),
async () =>
{
- await RunAsync("docker", "compose -f docker-compose.yml up --wait");
+ await RunAsync("docker", "compose -f docker-compose.yml up --wait").ConfigureAwait(false);
foreach (var test in Glob.Files(".", "**/*.Tests.Integration.csproj"))
{
await RunAsync(
- "dotnet",
- $"test {test} -c Release --no-build --no-restore --verbosity=normal /p:AltCover=true /p:AltCoverAttributeFilter=ExcludeFromCodeCoverage"
- );
+ "dotnet",
+ $"test {test} -c Release --no-build --no-restore --verbosity=normal /p:AltCover=true /p:AltCoverAttributeFilter=ExcludeFromCodeCoverage"
+ )
+ .ConfigureAwait(false);
}
- await RunAsync("docker", "compose down");
+ await RunAsync("docker", "compose down").ConfigureAwait(false);
}
);
-static Task RunRestore() => RunAsync("dotnet", "pack Speckle.Sdk.sln -c Release -o output --no-build");
+Target(
+ PERF,
+ Glob.Files(".", "**/*.Tests.Performance.csproj"),
+ async file =>
+ {
+ void CheckBuildDirectory(string dir, string build)
+ {
+ var binDir = Path.Combine(dir, "bin", build);
+ Console.WriteLine($"Checking: {binDir}");
+ if (Directory.Exists(binDir))
+ {
+ Directory.Delete(binDir, true);
+ Console.WriteLine($"Deleted: {binDir}");
+ }
+ }
+ var dir = Path.GetDirectoryName(file) ?? throw new InvalidOperationException();
+ CheckBuildDirectory(dir, "Release");
+ CheckBuildDirectory(dir, "Debug");
+ await RunAsync("dotnet", $"run --project {file} -c Release").ConfigureAwait(false);
+ }
+);
-Target(PACK, DependsOn(TEST), RunRestore);
-Target(PACK_LOCAL, DependsOn(BUILD), RunRestore);
+Target(
+ DEEP_CLEAN,
+ () =>
+ {
+ foreach (var f in Glob.Directories(".", "**/bin"))
+ {
+ if (f.StartsWith("build"))
+ {
+ continue;
+ }
+ Console.WriteLine("Found and will delete: " + f);
+ Directory.Delete(f, true);
+ }
+ foreach (var f in Glob.Directories(".", "**/obj"))
+ {
+ if (f.StartsWith("Build"))
+ {
+ continue;
+ }
+ Console.WriteLine("Found and will delete: " + f);
+ Directory.Delete(f, true);
+ }
+ Console.WriteLine("Running restore now.");
+ Run("dotnet", "restore .\\Speckle.Sdk.sln --no-cache");
+ }
+);
+
+static Task RunPack() => RunAsync("dotnet", "pack Speckle.Sdk.sln -c Release -o output --no-build");
+
+Target(PACK, DependsOn(BUILD), RunPack);
+Target(PACK_LOCAL, DependsOn(BUILD), RunPack);
Target("default", DependsOn(FORMAT, TEST, INTEGRATION), () => Console.WriteLine("Done!"));
diff --git a/build/packages.lock.json b/build/packages.lock.json
index 0e580e7a..29700b45 100644
--- a/build/packages.lock.json
+++ b/build/packages.lock.json
@@ -8,12 +8,6 @@
"resolved": "5.0.0",
"contentHash": "bqyt+m17ym+5aN45C5oZRAjuLDt8jKiCm/ys1XfymIXSkrTFwvI/QsbY3ucPSHDz7SF7uON7B57kXFv5H2k1ew=="
},
- "GitVersion.MsBuild": {
- "type": "Direct",
- "requested": "[5.12.0, )",
- "resolved": "5.12.0",
- "contentHash": "dJuigXycpJNOiLT9or7mkHSkGFHgGW3/p6cNNYEKZBa7Hhp1FdX/cvqYWWYhRLpfoZOedeA7aRbYiOB3vW/dvA=="
- },
"Glob": {
"type": "Direct",
"requested": "[1.1.9, )",
@@ -32,9 +26,9 @@
},
"PolySharp": {
"type": "Direct",
- "requested": "[1.14.1, )",
- "resolved": "1.14.1",
- "contentHash": "mOOmFYwad3MIOL14VCjj02LljyF1GNw1wP0YVlxtcPvqdxjGGMNdNJJxHptlry3MOd8b40Flm8RPOM8JOlN2sQ=="
+ "requested": "[1.15.0, )",
+ "resolved": "1.15.0",
+ "contentHash": "FbU0El+EEjdpuIX4iDbeS7ki1uzpJPx8vbqOzEtqnl1GZeAGJfq+jCbxeJL2y0EPnUNk8dRnnqR2xnYXg9Tf+g=="
},
"SimpleExec": {
"type": "Direct",
diff --git a/docker-compose.yml b/docker-compose.yml
index 52bf0743..c948270e 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -6,7 +6,7 @@ services:
# Speckle Server dependencies
#######
postgres:
- image: "postgres:14.5-alpine"
+ image: "postgres:16.4-alpine3.20@sha256:d898b0b78a2627cb4ee63464a14efc9d296884f1b28c841b0ab7d7c42f1fffdf"
restart: always
environment:
POSTGRES_DB: speckle
@@ -49,10 +49,6 @@ services:
retries: 30
start_period: 10s
- ####
- # Speckle Server
- #######
-
speckle-server:
image: speckle/speckle-server:latest
restart: always
@@ -79,6 +75,7 @@ services:
# TODO: Change this to the URL of the speckle server, as accessed from the network
CANONICAL_URL: "http://127.0.0.1:8080"
SPECKLE_AUTOMATE_URL: "http://127.0.0.1:3030"
+ FRONTEND_ORIGIN: "http://127.0.0.1:8081"
# TODO: Change thvolumes:
REDIS_URL: "redis://redis"
@@ -111,4 +108,4 @@ networks:
volumes:
postgres-data:
redis-data:
- minio-data:
+ minio-data:
\ No newline at end of file
diff --git a/global.json b/global.json
index c19a2e05..4e550c17 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"sdk": {
- "version": "8.0.100",
+ "version": "8.0.400",
"rollForward": "latestMinor"
}
}
diff --git a/logo.png b/logo.png
index 2c86ad54..d56f2522 100644
Binary files a/logo.png and b/logo.png differ
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
deleted file mode 100644
index a9c5b063..00000000
--- a/src/Directory.Build.props
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
- true
-
-
diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelBeam.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelBeam.cs
deleted file mode 100644
index c6b9a092..00000000
--- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelBeam.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using Speckle.Objects.Structural.Materials;
-using Speckle.Objects.Structural.Properties.Profiles;
-using Speckle.Sdk.Host;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.AdvanceSteel;
-
-[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelBeam")]
-public class AsteelBeam : Beam, IHasVolume, IHasArea, IAsteelObject
-{
- [DetachProperty]
- public SectionProfile profile { get; set; }
-
- [DetachProperty]
- public StructuralMaterial material { get; set; }
-
- [DetachProperty]
- public AsteelSectionProfile asteelProfile { get; set; }
-
- public double volume { get; set; }
- public double area { get; set; }
- public Base userAttributes { get; set; }
-
- public Base asteelProperties { get; set; }
-
- public AsteelBeam() { }
-
- [SchemaInfo("AsteelBeam", "Creates a Advance Steel beam by curve.", "Advance Steel", "Structure")]
- public AsteelBeam([SchemaMainParam] ICurve baseLine, SectionProfile profile, StructuralMaterial material)
- {
- this.baseLine = baseLine;
- this.profile = profile;
- this.material = material;
- }
-}
diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelBolt.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelBolt.cs
deleted file mode 100644
index f5dbe850..00000000
--- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelBolt.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using Speckle.Objects.Geometry;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.AdvanceSteel;
-
-public abstract class AsteelBolt : Base, IAsteelObject
-{
- [DetachProperty]
- public List displayValue { get; set; }
-
- public Base userAttributes { get; set; }
-
- public Base asteelProperties { get; set; }
-}
-
-[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelCircularBolt")]
-public class AsteelCircularBolt : AsteelBolt
-{
- //[SchemaInfo("AsteelCircularBolt", "Creates a Advance Steel circular bolt.", "Advance Steel", "Structure")]
- public AsteelCircularBolt() { }
-}
-
-[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelRectangularBolt")]
-public class AsteelRectangularBolt : AsteelBolt
-{
- //[SchemaInfo("AsteelRectangularBolt", "Creates a Advance Steel rectangular bolt.", "Advance Steel", "Structure")]
- public AsteelRectangularBolt() { }
-}
diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelGrating.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelGrating.cs
deleted file mode 100644
index 32071373..00000000
--- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelGrating.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using Speckle.Objects.Geometry;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.AdvanceSteel;
-
-[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelGrating")]
-public class AsteelGrating : Base, IAsteelObject
-{
- [DetachProperty]
- public List displayValue { get; set; }
-
- public Base userAttributes { get; set; }
-
- public Base asteelProperties { get; set; }
-
- //[SchemaInfo("AsteelGrating", "Creates a Advance Steel grating.", "Advance Steel", "Structure")]
- public AsteelGrating() { }
-}
diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelPlate.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelPlate.cs
deleted file mode 100644
index c6c66293..00000000
--- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelPlate.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using Speckle.Objects.Geometry;
-using Speckle.Objects.Structural.Materials;
-using Speckle.Sdk.Host;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.AdvanceSteel;
-
-[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelPlate")]
-public class AsteelPlate : Area, IDisplayValue>, IHasArea, IHasVolume, IAsteelObject
-{
- [DetachProperty]
- public StructuralMaterial? material { get; set; }
-
- public Base userAttributes { get; set; }
-
- public Base asteelProperties { get; set; }
-
- [SchemaInfo("AsteelPlate", "Creates a Advance Steel plate.", "Advance Steel", "Structure")]
- public AsteelPlate(Polyline outline, string units, StructuralMaterial? material = null)
- {
- this.outline = outline;
- this.material = material;
- this.units = units;
- }
-
- public AsteelPlate() { }
-}
diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelPolyBeam.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelPolyBeam.cs
deleted file mode 100644
index 16b62f99..00000000
--- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelPolyBeam.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.AdvanceSteel;
-
-[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelPolyBeam")]
-public class AsteelPolyBeam : AsteelBeam
-{
- //[SchemaInfo("AsteelPolyBeam", "Creates a Advance Steel polybeam.", "Advance Steel", "Structure")]
- public AsteelPolyBeam() { }
-}
diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSectionProfile.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSectionProfile.cs
deleted file mode 100644
index 5ad3ae71..00000000
--- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSectionProfile.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.AdvanceSteel;
-
-[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelSectionProfile")]
-public class AsteelSectionProfile : Base
-{
- public string ProfSectionType { get; set; }
-
- public string ProfSectionName { get; set; }
-
- public AsteelSectionProfileDB SectionProfileDB { get; set; }
-}
diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSectionProfileDB.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSectionProfileDB.cs
deleted file mode 100644
index 6603ee60..00000000
--- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSectionProfileDB.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.AdvanceSteel;
-
-[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelSectionProfileDB")]
-public class AsteelSectionProfileDB : Base { }
diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSlab.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSlab.cs
deleted file mode 100644
index 2022db80..00000000
--- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSlab.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using Speckle.Objects.Geometry;
-using Speckle.Objects.Structural.Materials;
-using Speckle.Sdk.Host;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.AdvanceSteel;
-
-[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelSlab")]
-public class AsteelSlab : Area, IDisplayValue>, IHasArea, IHasVolume, IAsteelObject
-{
- [DetachProperty]
- public StructuralMaterial? material { get; set; }
-
- public Base userAttributes { get; set; }
-
- public Base asteelProperties { get; set; }
-
- [SchemaInfo("AsteelSlab", "Creates a Advance Steel slab.", "Advance Steel", "Structure")]
- public AsteelSlab(Polyline outline, string units, StructuralMaterial? material = null)
- {
- this.outline = outline;
- this.material = material;
- this.units = units;
- }
-
- public AsteelSlab() { }
-}
diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSpecialPart.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSpecialPart.cs
deleted file mode 100644
index 0fe582c6..00000000
--- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSpecialPart.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using Speckle.Objects.Geometry;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.AdvanceSteel;
-
-[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelSpecialPart")]
-public class AsteelSpecialPart : Base, IAsteelObject
-{
- [DetachProperty]
- public List displayValue { get; set; }
-
- public Base userAttributes { get; set; }
-
- public Base asteelProperties { get; set; }
-
- //[SchemaInfo("AsteelSpecialPart", "Creates a Advance Steel special part.", "Advance Steel", "Structure")]
- public AsteelSpecialPart() { }
-}
diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelStraightBeam.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelStraightBeam.cs
deleted file mode 100644
index bf337de2..00000000
--- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelStraightBeam.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.AdvanceSteel;
-
-[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelStraightBeam")]
-public class AsteelStraightBeam : AsteelBeam
-{
- //[SchemaInfo("AsteelStraightBeam", "Creates a Advance Steel straightBeam.", "Advance Steel", "Structure")]
- public AsteelStraightBeam() { }
-}
diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/Enums.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/Enums.cs
deleted file mode 100644
index 297fb2f6..00000000
--- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/Enums.cs
+++ /dev/null
@@ -1 +0,0 @@
-namespace Speckle.Objects.BuiltElements.AdvanceSteel;
diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/IAsteelObject.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/IAsteelObject.cs
deleted file mode 100644
index 8cb274d5..00000000
--- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/IAsteelObject.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.AdvanceSteel;
-
-public interface IAsteelObject
-{
- Base userAttributes { get; set; }
-
- Base asteelProperties { get; set; }
-}
diff --git a/src/Speckle.Objects/BuiltElements/Alignment.cs b/src/Speckle.Objects/BuiltElements/Alignment.cs
deleted file mode 100644
index 7bf95c07..00000000
--- a/src/Speckle.Objects/BuiltElements/Alignment.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using Speckle.Newtonsoft.Json;
-using Speckle.Objects.Geometry;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements;
-
-[SpeckleType("Objects.BuiltElements.Alignment")]
-public class Alignment : Base, IDisplayValue
-{
- [JsonIgnore, Obsolete("Use curves property")]
- public ICurve baseCurve { get; set; }
-
- public List curves { get; set; }
-
- public string name { get; set; }
-
- public double startStation { get; set; }
-
- public double endStation { get; set; }
-
- public List profiles { get; set; }
-
- ///
- /// Station equation list contains doubles indicating raw station back, station back, and station ahead for each station equation
- ///
- public List stationEquations { get; set; }
-
- ///
- /// Station equation direction for the corresponding station equation should be true for increasing or false for decreasing
- ///
- public List stationEquationDirections { get; set; }
-
- public string units { get; set; }
-
- [DetachProperty]
- public Polyline displayValue { get; set; }
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadBeam.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadBeam.cs
deleted file mode 100644
index f65ecf30..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadBeam.cs
+++ /dev/null
@@ -1,134 +0,0 @@
-using Speckle.Newtonsoft.Json;
-using Speckle.Objects.Geometry;
-using Speckle.Sdk.Host;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-/*
-For further informations about given the variables, visit:
-https://archicadapi.graphisoft.com/documentation/api_beamtype
-*/
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadBeam")]
-public class ArchicadBeam : Beam
-{
- [SchemaInfo("ArchicadBeam", "Creates an Archicad beam by curve.", "Archicad", "Structure")]
- public ArchicadBeam() { }
-
- // Element base
- public string? elementType { get; set; } /*APINullabe*/
-
- public List? classifications { get; set; } /*APINullabe*/
- public Base? elementProperties { get; set; }
- public Base? componentProperties { get; set; }
-
- public override Level? level
- {
- get => archicadLevel;
- internal set
- {
- if (value is ArchicadLevel or null)
- {
- archicadLevel = value as ArchicadLevel;
- }
- else
- {
- throw new ArgumentException($"Expected object of type {nameof(ArchicadLevel)}");
- }
- }
- }
-
- [JsonIgnore]
- public ArchicadLevel? archicadLevel { get; set; } /*APINullabe*/
-
- public string? layer { get; set; } /*APINullabe*/
-
- // Positioning
- public Point begC { get; set; }
- public Point endC { get; set; }
- public bool? isSlanted { get; set; } /*APINullabe*/
- public double? slantAngle { get; set; } /*APINullabe*/
- public string? beamShape { get; set; } /*APINullabe*/
- public int? sequence { get; set; } /*APINullabe*/
- public double? curveAngle { get; set; } /*APINullabe*/
- public double? verticalCurveHeight { get; set; } /*APINullabe*/
- public bool? isFlipped { get; set; } /*APINullabe*/
-
- // End Cuts
- public uint? nCuts { get; set; } /*APINullabe*/
- public Dictionary? Cuts { get; set; }
-
- // Reference Axis
- public short? anchorPoint { get; set; } /*APINullabe*/
- public double? offset { get; set; }
- public double? profileAngle { get; set; }
-
- // Segment
- public uint? nSegments { get; set; } /*APINullabe*/
- public uint? nProfiles { get; set; } /*APINullabe*/
- public Dictionary? segments { get; set; } /*APINullabe*/
-
- // Scheme
- public uint? nSchemes { get; set; }
- public Dictionary? Schemes { get; set; }
-
- // Hole
- public Dictionary? Holes { get; set; }
-
- // Floor Plan and Section - Floor Plan Display
- public string? showOnStories { get; set; } /*APINullabe*/
- public string? displayOptionName { get; set; } /*APINullabe*/
- public string? uncutProjectionMode { get; set; } /*APINullabe*/
- public string? overheadProjectionMode { get; set; } /*APINullabe*/
- public string? showProjectionName { get; set; } /*APINullabe*/
-
- // Floor Plan and Section - Cut Surfaces
- public short? cutContourLinePen { get; set; }
- public string? cutContourLineType { get; set; }
- public short? overrideCutFillPen { get; set; }
- public short? overrideCutFillBackgroundPen { get; set; }
-
- // Floor Plan and Section - Outlines
- public string? showOutline { get; set; } /*APINullabe*/
- public short? uncutLinePen { get; set; } /*APINullabe*/
- public string? uncutLinetype { get; set; } /*APINullabe*/
- public short? overheadLinePen { get; set; } /*APINullabe*/
- public string? overheadLinetype { get; set; } /*APINullabe*/
- public short? hiddenLinePen { get; set; } /*APINullabe*/
- public string? hiddenLinetype { get; set; } /*APINullabe*/
-
- // Floor Plan and Section - Symbol
- public string? showReferenceAxis { get; set; } /*APINullabe*/
- public short? referencePen { get; set; } /*APINullabe*/
- public string? referenceLinetype { get; set; } /*APINullabe*/
-
- // Floor Plan and Section - Cover Fills
- public bool? useCoverFill { get; set; } /*APINullabe*/
- public bool? useCoverFillFromSurface { get; set; }
- public short? coverFillForegroundPen { get; set; }
- public short? coverFillBackgroundPen { get; set; }
- public string? coverFillType { get; set; }
- public string? coverFillTransformationType { get; set; }
- public double? coverFillTransformationOrigoX { get; set; }
- public double? coverFillTransformationOrigoY { get; set; }
- public double? coverFillTransformationXAxisX { get; set; }
- public double? coverFillTransformationXAxisY { get; set; }
- public double? coverFillTransformationYAxisX { get; set; }
- public double? coverFillTransformationYAxisY { get; set; }
-
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadBeam+BeamSegment")]
- public class BeamSegment : Base
- {
- // Segment override materials
- public string? leftMaterial { get; set; }
- public string? topMaterial { get; set; }
- public string? rightMaterial { get; set; }
- public string? bottomMaterial { get; set; }
-
- public string? endsMaterial { get; set; }
-
- // Segment - The overridden materials are chained
- public bool? materialChained { get; set; }
- public AssemblySegment assemblySegmentData { get; set; }
- }
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadColumn.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadColumn.cs
deleted file mode 100644
index 2d5e91e9..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadColumn.cs
+++ /dev/null
@@ -1,144 +0,0 @@
-using Speckle.Newtonsoft.Json;
-using Speckle.Objects.Geometry;
-using Speckle.Sdk.Host;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-/*
-For further informations about given the variables, visit:
-https://archicadapi.graphisoft.com/documentation/api_columntype
-*/
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadColumn")]
-public class ArchicadColumn : Column
-{
- [SchemaInfo("ArchicadColumn", "Creates an Archicad Column by curve.", "Archicad", "Structure")]
- public ArchicadColumn() { }
-
- // Element base
- public string? elementType { get; set; } /*APINullabe*/
-
- public List? classifications { get; set; } /*APINullabe*/
- public Base? elementProperties { get; set; }
- public Base? componentProperties { get; set; }
-
- public override Level? level
- {
- get => archicadLevel;
- internal set
- {
- if (value is ArchicadLevel or null)
- {
- archicadLevel = value as ArchicadLevel;
- }
- else
- {
- throw new ArgumentException($"Expected object of type {nameof(ArchicadLevel)}");
- }
- }
- }
-
- [JsonIgnore]
- public ArchicadLevel? archicadLevel { get; set; } /*APINullabe*/
-
- public string? layer { get; set; } /*APINullabe*/
-
- // Wall geometry
- public Point origoPos { get; set; }
- public double height { get; set; }
-
- // Positioning - story relation
- public double? bottomOffset { get; set; } /*APINullabe*/
- public double? topOffset { get; set; } /*APINullabe*/
- public short? relativeTopStory { get; set; } /*APINullabe*/
-
- // Positioning - slanted column
- public bool? isSlanted { get; set; } /*APINullabe*/
- public double? slantAngle { get; set; } /*APINullabe*/
- public double? slantDirectionAngle { get; set; } /*APINullabe*/
- public bool? isFlipped { get; set; } /*APINullabe*/
-
- // Positioning - wrapping
- public bool? wrapping { get; set; } /*APINullabe*/
-
- // Positioning - Defines the relation of column to zones (Zone Boundary, Reduce Zone Area Only, No Effect on Zones)
- public string? columnRelationToZoneName { get; set; } /*APINullabe*/
-
- // End Cuts
- public uint? nCuts { get; set; } /*APINullabe*/
- public Dictionary? Cuts { get; set; } /*APINullabe*/
-
- // Reference Axis
- public short? coreAnchor { get; set; }
- public double? axisRotationAngle { get; set; }
-
- // Segment
- public uint? nSegments { get; set; } /*APINullabe*/
- public uint? nProfiles { get; set; } /*APINullabe*/
- public Dictionary? segments { get; set; } /*APINullabe*/
-
- // Scheme
- public uint? nSchemes { get; set; }
- public Dictionary? Schemes { get; set; }
-
- // Floor Plan and Section - Floor Plan Display
- public string? showOnStories { get; set; } /*APINullabe*/
- public string? displayOptionName { get; set; } /*APINullabe*/
- public string? showProjectionName { get; set; } /*APINullabe*/
-
- // Floor Plan and Section - Cut Surfaces
- public short? corePen { get; set; }
- public string? contLtype { get; set; }
- public short? venLinePen { get; set; }
- public string? venLineType { get; set; }
- public short? overrideCutFillPen { get; set; }
- public short? overrideCutFillBackgroundPen { get; set; }
-
- // Floor Plan and Section - Outlines
- public short? uncutLinePen { get; set; } /*APINullabe*/
- public string? uncutLinetype { get; set; } /*APINullabe*/
- public short? overheadLinePen { get; set; } /*APINullabe*/
- public string? overheadLinetype { get; set; } /*APINullabe*/
- public short? hiddenLinePen { get; set; } /*APINullabe*/
- public string? hiddenLinetype { get; set; } /*APINullabe*/
-
- // Floor Plan and Section - Floor Plan Symbol
- public string? coreSymbolTypeName { get; set; } /*APINullabe*/
- public double? coreSymbolPar1 { get; set; } /*APINullabe*/
- public double? coreSymbolPar2 { get; set; } /*APINullabe*/
- public short? coreSymbolPen { get; set; } /*APINullabe*/
-
- // Floor Plan and Section - Cover Fills
- public bool? useCoverFill { get; set; } /*APINullabe*/
- public bool? useCoverFillFromSurface { get; set; }
- public short? coverFillForegroundPen { get; set; }
- public short? coverFillBackgroundPen { get; set; }
- public string? coverFillType { get; set; }
- public string? coverFillTransformationType { get; set; }
- public double? coverFillTransformationOrigoX { get; set; }
- public double? coverFillTransformationOrigoY { get; set; }
- public double? coverFillTransformationXAxisX { get; set; }
- public double? coverFillTransformationXAxisY { get; set; }
- public double? coverFillTransformationYAxisX { get; set; }
- public double? coverFillTransformationYAxisY { get; set; }
-
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadColumn+ColumnSegment")]
- public class ColumnSegment : Base
- {
- // Segment - Veneer attributes
- public string? veneerType { get; set; }
- public string? veneerBuildingMaterial { get; set; }
-
- public double? veneerThick { get; set; }
-
- // Segment - The extrusion overridden material name
- public string? extrusionSurfaceMaterial { get; set; }
-
- // Segment - The ends overridden material name
- public string? endsSurfaceMaterial { get; set; }
-
- // Segment - The overridden materials are chained
- public bool? materialChained { get; set; }
- public AssemblySegment assemblySegmentData { get; set; }
- }
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadFloor.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadFloor.cs
deleted file mode 100644
index e733b5b5..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadFloor.cs
+++ /dev/null
@@ -1,99 +0,0 @@
-using Speckle.Newtonsoft.Json;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-/*
-For further informations about given the variables, visit:
-https://archicadapi.graphisoft.com/documentation/api_slabtype
-*/
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadFloor")]
-public sealed class ArchicadFloor : Floor
-{
- // Element base
- public string? elementType { get; set; } /*APINullable*/
-
- public List? classifications { get; set; } /*APINullable*/
- public Base? elementProperties { get; set; }
- public Base? componentProperties { get; set; }
-
- public override Level? level
- {
- get => archicadLevel;
- internal set
- {
- if (value is ArchicadLevel or null)
- {
- archicadLevel = value as ArchicadLevel;
- }
- else
- {
- throw new ArgumentException($"Expected object of type {nameof(ArchicadLevel)}");
- }
- }
- }
-
- [JsonIgnore]
- public ArchicadLevel? archicadLevel { get; set; } /*APINullabe*/
-
- public string? layer { get; set; } /*APINullabe*/
-
- // Geometry and positioning
- public double? thickness { get; set; }
- public ElementShape shape { get; set; }
- public string? structure { get; set; } /*APINullabe*/
- public string? compositeName { get; set; }
- public string? buildingMaterialName { get; set; }
- public string? referencePlaneLocation { get; set; } /*APINullabe*/
-
- // EdgeTrims
- public string? edgeAngleType { get; set; }
- public double? edgeAngle { get; set; }
-
- // Floor Plan and Section - Floor Plan Display
- public string? showOnStories { get; set; } /*APINullabe*/
- public Visibility? visibilityCont { get; set; }
- public Visibility? visibilityFill { get; set; }
-
- // Floor Plan and Section - Cut Surfaces
- public short? sectContPen { get; set; }
- public string? sectContLtype { get; set; }
- public short? cutFillPen { get; set; }
- public short? cutFillBackgroundPen { get; set; }
-
- // Floor Plan and Section - Outlines
- public short? contourPen { get; set; }
- public string? contourLineType { get; set; }
- public short? hiddenContourLinePen { get; set; }
- public string? hiddenContourLineType { get; set; }
-
- // Floor Plan and Section - Cover Fills
- public bool? useFloorFill { get; set; }
- public short? floorFillPen { get; set; }
- public short? floorFillBGPen { get; set; }
- public string? floorFillName { get; set; }
- public bool? use3DHatching { get; set; }
- public string? hatchOrientation { get; set; }
- public double? hatchOrientationOrigoX { get; set; }
- public double? hatchOrientationOrigoY { get; set; }
- public double? hatchOrientationXAxisX { get; set; }
- public double? hatchOrientationXAxisY { get; set; }
- public double? hatchOrientationYAxisX { get; set; }
- public double? hatchOrientationYAxisY { get; set; }
-
- // Model
- public string? topMat { get; set; }
- public string? sideMat { get; set; }
- public string? botMat { get; set; }
- public bool? materialsChained { get; set; }
-
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadFloor+Visibility")]
- public class Visibility : Base
- {
- public bool? showOnHome { get; set; }
- public bool? showAllAbove { get; set; }
- public bool? showAllBelow { get; set; }
- public short? showRelAbove { get; set; }
- public short? showRelBelow { get; set; }
- }
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadLevel.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadLevel.cs
deleted file mode 100644
index 5b2d4467..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadLevel.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-/*
-For further informations about given the variables, visit:
-https://archicadapi.graphisoft.com/documentation/api_storytype
-*/
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadLevel")]
-public class ArchicadLevel : Level
-{
- public short index { get; set; }
-
- public ArchicadLevel() { }
-
- public ArchicadLevel(string name, double elevation, short index)
- {
- this.name = name;
- this.elevation = elevation;
- this.index = index;
- }
-
- public ArchicadLevel(string name)
- {
- this.name = name;
- }
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadOpening.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadOpening.cs
deleted file mode 100644
index 91394788..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadOpening.cs
+++ /dev/null
@@ -1,83 +0,0 @@
-using Speckle.Objects.Geometry;
-using Speckle.Sdk.Host;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadOpening")]
-public class ArchicadOpening : Opening
-{
- [SchemaInfo("ArchicadOpening", "Creates an Archicad opening.", "Archicad", "Structure")]
- public ArchicadOpening() { }
-
- public string parentApplicationId { get; set; }
-
- // Element base
- public string? elementType { get; set; } /*APINullabe*/
-
- public List? classifications { get; set; } /*APINullabe*/
- public Base? elementProperties { get; set; }
- public Base? componentProperties { get; set; }
-
- // Floor Plan Parameters
- public string? floorPlanDisplayMode { get; set; } /*APINullabe*/
- public string? connectionMode { get; set; } /*APINullabe*/
-
- // Cut Surfaces Parameters
- public bool? cutsurfacesUseLineOfCutElements { get; set; } /*APINullabe*/
- public short? cutsurfacesLinePenIndex { get; set; } /*APINullabe*/
- public string? cutsurfacesLineIndex { get; set; } /*APINullabe*/
-
- // Outlines Parameters
- public string? outlinesStyle { get; set; } /*APINullabe*/
- public bool? outlinesUseLineOfCutElements { get; set; } /*APINullabe*/
- public string? outlinesUncutLineIndex { get; set; } /*APINullabe*/
- public string? outlinesOverheadLineIndex { get; set; } /*APINullabe*/
- public short? outlinesUncutLinePenIndex { get; set; } /*APINullabe*/
- public short? outlinesOverheadLinePenIndex { get; set; } /*APINullabe*/
-
- // Opening Cover Fills Parameters
- public bool? useCoverFills { get; set; } /*APINullabe*/
- public bool? useFillsOfCutElements { get; set; } /*APINullabe*/
- public string? coverFillIndex { get; set; } /*APINullabe*/
- public short? coverFillPenIndex { get; set; } /*APINullabe*/
- public short? coverFillBackgroundPenIndex { get; set; } /*APINullabe*/
- public string? coverFillOrientation { get; set; } /*APINullabe*/ // Kérdéses..
-
- // Cover Fill Transformation Parameters
- public double? coverFillTransformationOrigoX { get; set; }
- public double? coverFillTransformationOrigoY { get; set; }
- public double? coverFillTransformationOrigoZ { get; set; }
- public double? coverFillTransformationXAxisX { get; set; }
- public double? coverFillTransformationXAxisY { get; set; }
- public double? coverFillTransformationXAxisZ { get; set; }
- public double? coverFillTransformationYAxisX { get; set; }
- public double? coverFillTransformationYAxisY { get; set; }
- public double? coverFillTransformationYAxisZ { get; set; }
-
- // Reference Axis Parameters
- public bool? showReferenceAxis { get; set; } /*APINullabe*/
- public short? referenceAxisPenIndex { get; set; } /*APINullabe*/
- public string? referenceAxisLineTypeIndex { get; set; } /*APINullabe*/
- public double? referenceAxisOverhang { get; set; } /*APINullabe*/
-
- // Extrusion Geometry Parameters
- // Plane Frame
- public Point extrusionGeometryBasePoint { get; set; }
- public Vector extrusionGeometryXAxis { get; set; }
- public Vector extrusionGeometryYAxis { get; set; }
- public Vector extrusionGeometryZAxis { get; set; }
-
- // Opening Extrustion Parameters
- public string? basePolygonType { get; set; } /*APINullabe*/
- public double? width { get; set; } /*APINullabe*/
- public double? height { get; set; } /*APINullabe*/
- public string? constraint { get; set; } /*APINullabe*/
- public string? anchor { get; set; } /*APINullabe */
- public int? anchorIndex { get; set; } /*APINullabe*/
- public double? anchorAltitude { get; set; } /*APINullabe*/
- public string? limitType { get; set; } /*APINullabe*/
- public double? extrusionStartOffSet { get; set; } /*APINullabe*/
- public double? finiteBodyLength { get; set; } /*APINullabe*/
- public string? linkedStatus { get; set; } /*APINullabe*/
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadRoof.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadRoof.cs
deleted file mode 100644
index fa9f2b60..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadRoof.cs
+++ /dev/null
@@ -1,293 +0,0 @@
-using Speckle.Newtonsoft.Json;
-using Speckle.Objects.Geometry;
-using Speckle.Objects.Other;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-/*
-For further informations about given the variables, visit:
-https://archicadapi.graphisoft.com/documentation/api_shellbasetype
-*/
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadShellBase")]
-public class ArchicadShellBase : BuiltElements.Roof
-{
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShellBase+Visibility")]
- public class Visibility : Base
- {
- public bool? showOnHome { get; set; }
- public bool? showAllAbove { get; set; }
- public bool? showAllBelow { get; set; }
- public short? showRelAbove { get; set; }
- public short? showRelBelow { get; set; }
- }
-
- // Element base
- public string? elementType { get; set; } /*APINullabe*/
-
- public List? classifications { get; set; } /*APINullabe*/
- public Base? elementProperties { get; set; }
- public Base? componentProperties { get; set; }
-
- public override Level? level
- {
- get => archicadLevel;
- internal set
- {
- if (value is ArchicadLevel or null)
- {
- archicadLevel = value as ArchicadLevel;
- }
- else
- {
- throw new ArgumentException($"Expected object of type {nameof(ArchicadLevel)}");
- }
- }
- }
-
- [JsonIgnore]
- public ArchicadLevel? archicadLevel { get; set; } /*APINullabe*/
-
- public string? layer { get; set; } /*APINullabe*/
-
- // Geometry and positioning
- public double? thickness { get; set; }
- public string? structure { get; set; } /*APINullabe*/
- public string? compositeName { get; set; }
- public string? buildingMaterialName { get; set; }
-
- // EdgeTrims
- public string? edgeAngleType { get; set; }
- public double? edgeAngle { get; set; }
-
- // Floor Plan and Section - Floor Plan Display
- public string? showOnStories { get; set; } /*APINullabe*/
- public Visibility? visibilityCont { get; set; }
- public Visibility? visibilityFill { get; set; }
- public string? displayOptionName { get; set; } /*APINullabe*/
- public string? showProjectionName { get; set; } /*APINullabe*/
-
- // Floor Plan and Section - Cut Surfaces
- public short? sectContPen { get; set; } /*APINullabe*/
- public string? sectContLtype { get; set; } /*APINullabe*/
- public short? cutFillPen { get; set; }
- public short? cutFillBackgroundPen { get; set; }
-
- // Floor Plan and Section - Outlines
- public short? contourPen { get; set; } /*APINullabe*/
- public string? contourLineType { get; set; } /*APINullabe*/
- public short? overheadLinePen { get; set; } /*APINullabe*/
- public string? overheadLinetype { get; set; } /*APINullabe*/
-
- // Floor Plan and Section - Cover Fills
- public bool? useFloorFill { get; set; } /*APINullabe*/
- public short? floorFillPen { get; set; }
- public short? floorFillBGPen { get; set; }
- public string? floorFillName { get; set; }
- public bool? use3DHatching { get; set; }
- public bool? useFillLocBaseLine { get; set; }
- public bool? useSlantedFill { get; set; }
- public string? hatchOrientation { get; set; }
- public double? hatchOrientationOrigoX { get; set; }
- public double? hatchOrientationOrigoY { get; set; }
- public double? hatchOrientationXAxisX { get; set; }
- public double? hatchOrientationXAxisY { get; set; }
- public double? hatchOrientationYAxisX { get; set; }
- public double? hatchOrientationYAxisY { get; set; }
-
- // Model
- public string? topMat { get; set; }
- public string? sideMat { get; set; }
- public string? botMat { get; set; }
- public bool? materialsChained { get; set; }
- public string? trimmingBodyName { get; set; } /*APINullabe*/
-}
-
-/*
-For further informations about given the variables, visit:
-https://archicadapi.graphisoft.com/documentation/api_rooftype
-*/
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadRoof")]
-public sealed class ArchicadRoof : ArchicadShellBase
-{
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadRoof+BaseLine")]
- public class BaseLine : Base
- {
- public Point begC { get; set; }
- public Point endC { get; set; }
- }
-
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadRoof+RoofLevel")]
- public class RoofLevel : Base
- {
- public double? levelHeight { get; set; }
- public double? levelAngle { get; set; }
- }
-
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadRoof+LevelEdge")]
- public class LevelEdge : Base
- {
- public double? edgeLevelAngle { get; set; }
- public double? eavesOverhang { get; set; }
- public string? topMaterial { get; set; }
- public string? bottomMaterial { get; set; }
- public string? coverFillType { get; set; }
- public string? angleType { get; set; }
- }
-
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadRoof+PivotPolyEdge")]
- public class PivotPolyEdge : Base
- {
- public int? nLevelEdgeData { get; set; }
- public Dictionary? roofLevels { get; set; }
- }
-
- // Geometry and positioning
- public string roofClassName { get; set; }
- public double? planeRoofAngle { get; set; }
- public ElementShape shape { get; set; }
- public BaseLine? baseLine { get; set; }
- public bool? posSign { get; set; }
- public ElementShape? pivotPolygon { get; set; } /*APINullabe*/
- public short? levelNum { get; set; }
- public Dictionary? levels { get; set; } /*APINullabe*/
- public Dictionary? roofPivotPolyEdges { get; set; }
-}
-
-/*
-For further informations about given the variables, visit:
-https://archicadapi.graphisoft.com/documentation/api_shelltype
-*/
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell")]
-public sealed class ArchicadShell : ArchicadShellBase
-{
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+ShellContourEdgeData")]
- public class ShellContourEdgeData : Base
- {
- public string? sideTypeName { get; set; }
- public double? sideAngle { get; set; }
- public string? edgeTypeName { get; set; }
- public string? edgeSideMaterial { get; set; }
- }
-
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+ShellContourData")]
- public class ShellContourData : Base
- {
- public ElementShape? shellContourPoly { get; set; }
- public Transform shellContourPlane { get; set; }
- public double? shellContourHeight { get; set; }
- public int? shellContourID { get; set; }
- public Dictionary? shellContourEdges { get; set; }
- }
-
- // Geometry and positioning
- public string? shellClassName { get; set; } /*APINullabe*/
- public Transform? basePlane { get; set; } /*APINullabe*/
- public bool? flipped { get; set; } /*APINullabe*/
- public bool? hasContour { get; set; } /*APINullabe*/
- public int? numHoles { get; set; } /*APINullabe*/
- public Dictionary? shellContours { get; set; }
- public string? defaultEdgeType { get; set; } /*APINullabe*/
-
- public double? slantAngle { get; set; }
- public double? revolutionAngle { get; set; }
- public double? distortionAngle { get; set; }
- public bool? segmentedSurfaces { get; set; }
- public double? shapePlaneTilt { get; set; }
- public double? begPlaneTilt { get; set; }
- public double? endPlaneTilt { get; set; }
- public ElementShape shape { get; set; }
- public ElementShape? shape1 { get; set; } /*APINullabe*/
- public ElementShape? shape2 { get; set; } /*APINullabe*/
- public Transform? axisBase { get; set; } /*APINullabe*/
- public Transform? plane1 { get; set; } /*APINullabe*/
- public Transform? plane2 { get; set; } /*APINullabe*/
- public Point? begC { get; set; }
- public double? begAngle { get; set; }
- public Vector? extrusionVector { get; set; }
- public Vector? shapeDirection { get; set; }
- public Vector? distortionVector { get; set; }
- public string? morphingRuleName { get; set; }
-
- // Model
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+BegShapeEdge")]
- public class BegShapeEdge : Base
- {
- public string? begShapeEdgeTrimSideType { get; set; }
- public double? begShapeEdgeTrimSideAngle { get; set; }
- public string? begShapeEdgeSideMaterial { get; set; }
- public string? begShapeEdgeType { get; set; }
- }
-
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+EndShapeEdge")]
- public class EndShapeEdge : Base
- {
- public string? endShapeEdgeTrimSideType { get; set; }
- public double? endShapeEdgeTrimSideAngle { get; set; }
- public string? endShapeEdgeSideMaterial { get; set; }
- public string? endShapeEdgeType { get; set; }
- }
-
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+ExtrudedEdge1")]
- public class ExtrudedEdge1 : Base
- {
- public string? extrudedEdgeTrimSideType1 { get; set; }
- public double? extrudedEdgeTrimSideAngle1 { get; set; }
- public string? extrudedEdgeSideMaterial1 { get; set; }
- public string? extrudedEdgeType1 { get; set; }
- }
-
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+ExtrudedEdge2")]
- public class ExtrudedEdge2 : Base
- {
- public string? extrudedEdgeTrimSideType2 { get; set; }
- public double? extrudedEdgeTrimSideAngle2 { get; set; }
- public string? extrudedEdgeSideMaterial2 { get; set; }
- public string? extrudedEdgeType2 { get; set; }
- }
-
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+RevolvedEdge1")]
- public class RevolvedEdge1 : Base
- {
- public string? revolvedEdgeTrimSideType1 { get; set; }
- public double? revolvedEdgeTrimSideAngle1 { get; set; }
- public string? revolvedEdgeSideMaterial1 { get; set; }
- public string? revolvedEdgeType1 { get; set; }
- }
-
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+RevolvedEdge2")]
- public class RevolvedEdge2 : Base
- {
- public string? revolvedEdgeTrimSideType2 { get; set; }
- public double? revolvedEdgeTrimSideAngle2 { get; set; }
- public string? revolvedEdgeSideMaterial2 { get; set; }
- public string? revolvedEdgeType2 { get; set; }
- }
-
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+RuledEdge1")]
- public class RuledEdge1 : Base
- {
- public string? ruledEdgeTrimSideType1 { get; set; }
- public double? ruledEdgeTrimSideAngle1 { get; set; }
- public string? ruledEdgeSideMaterial1 { get; set; }
- public string? ruledEdgeType1 { get; set; }
- }
-
- [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+RuledEdge2")]
- public class RuledEdge2 : Base
- {
- public string? ruledEdgeTrimSideType2 { get; set; }
- public double? ruledEdgeTrimSideAngle2 { get; set; }
- public string? ruledEdgeSideMaterial2 { get; set; }
- public string? ruledEdgeType2 { get; set; }
- }
-
- public BegShapeEdge? begShapeEdge { get; set; }
- public EndShapeEdge? endShapeEdge { get; set; }
- public ExtrudedEdge1? extrudedEdge1 { get; set; }
- public ExtrudedEdge2? extrudedEdge2 { get; set; }
- public RevolvedEdge1? revolvedEdge1 { get; set; }
- public RevolvedEdge2? revolvedEdge2 { get; set; }
- public RuledEdge1? ruledEdge1 { get; set; }
- public RuledEdge2? ruledEdge2 { get; set; }
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadRoom.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadRoom.cs
deleted file mode 100644
index c7b865db..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadRoom.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using Speckle.Newtonsoft.Json;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-/*
-For further informations about given the variables, visit:
-https://archicadapi.graphisoft.com/documentation/api_zonetype
-*/
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadRoom")]
-public class ArchicadRoom : Room
-{
- // Element base
- public string elementType { get; set; }
-
- public List classifications { get; set; }
- public Base? elementProperties { get; set; }
- public Base? componentProperties { get; set; }
-
- public override Level? level
- {
- get => archicadLevel;
- set => archicadLevel = value as ArchicadLevel ?? null;
- }
-
- [JsonIgnore]
- public ArchicadLevel? archicadLevel { get; set; }
-
- public string? layer { get; set; } /*APINullabe*/
-
- public ElementShape shape { get; set; }
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadWall.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadWall.cs
deleted file mode 100644
index 83e81cfb..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadWall.cs
+++ /dev/null
@@ -1,122 +0,0 @@
-using Speckle.Newtonsoft.Json;
-using Speckle.Objects.Geometry;
-using Speckle.Sdk.Host;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-/*
-For further informations about given the variables, visit:
-https://archicadapi.graphisoft.com/documentation/api_walltype
-*/
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadWall")]
-public class ArchicadWall : Wall
-{
- [SchemaInfo("ArchicadWall", "Creates an Archicad wall.", "Archicad", "Structure")]
- public ArchicadWall() { }
-
- // Element base
- public string? elementType { get; set; } /*APINullabe*/
-
- public List? classifications { get; set; } /*APINullabe*/
- public Base? elementProperties { get; set; }
- public Base? componentProperties { get; set; }
-
- public override Level? level
- {
- get => archicadLevel;
- internal set
- {
- if (value is ArchicadLevel or null)
- {
- archicadLevel = value as ArchicadLevel;
- }
- else
- {
- throw new ArgumentException($"Expected object of type {nameof(ArchicadLevel)}");
- }
- }
- }
-
- [JsonIgnore]
- public ArchicadLevel? archicadLevel { get; set; } /*APINullabe*/
-
- public string? layer { get; set; } /*APINullabe*/
-
- // Wall geometry
- public double? baseOffset { get; set; } /*APINullabe*/
- public Point startPoint { get; set; }
- public Point endPoint { get; set; }
-
- public string? structure { get; set; } /*APINullabe*/
- public string? geometryMethod { get; set; } /*APINullabe*/
- public string? wallComplexity { get; set; } /*APINullabe*/
-
- public string? buildingMaterialName { get; set; }
- public string? compositeName { get; set; }
- public string? profileName { get; set; }
- public double? arcAngle { get; set; }
-
- public ElementShape? shape { get; set; }
-
- public double? thickness { get; set; } /*APINullabe*/
-
- public double? outsideSlantAngle { get; set; }
- public double? insideSlantAngle { get; set; }
-
- public bool? polyWalllCornersCanChange { get; set; }
-
- // Wall and stories relation
- public double? topOffset { get; set; } /*APINullabe*/
- public short? relativeTopStory { get; set; } /*APINullabe*/
- public string? referenceLineLocation { get; set; } /*APINullabe*/
- public double? referenceLineOffset { get; set; }
- public double? offsetFromOutside { get; set; } /*APINullabe*/
- public int? referenceLineStartIndex { get; set; } /*APINullabe*/
- public int? referenceLineEndIndex { get; set; } /*APINullabe*/
- public bool flipped { get; set; }
-
- // Floor Plan and Section - Floor Plan Display
- public string? showOnStories { get; set; } /*APINullabe*/
- public string? displayOptionName { get; set; } /*APINullabe*/
- public string? showProjectionName { get; set; } /*APINullabe*/
-
- // Floor Plan and Section - Cut Surfaces parameters
- public short? cutLinePen { get; set; }
- public string? cutLinetype { get; set; }
- public short? overrideCutFillPen { get; set; }
- public short? overrideCutFillBackgroundPen { get; set; }
-
- // Floor Plan and Section - Outlines parameters
- public short? uncutLinePen { get; set; } /*APINullabe*/
- public string? uncutLinetype { get; set; } /*APINullabe*/
- public short? overheadLinePen { get; set; } /*APINullabe*/
- public string? overheadLinetype { get; set; } /*APINullabe*/
-
- // Model - Override Surfaces
- public string? referenceMaterialName { get; set; }
- public int? referenceMaterialStartIndex { get; set; }
- public int? referenceMaterialEndIndex { get; set; }
- public string? oppositeMaterialName { get; set; }
- public int? oppositeMaterialStartIndex { get; set; }
- public int? oppositeMaterialEndIndex { get; set; }
- public string? sideMaterialName { get; set; }
- public bool? materialsChained { get; set; } /*APINullabe*/
- public bool? inheritEndSurface { get; set; } /*APINullabe*/
- public bool? alignTexture { get; set; } /*APINullabe*/
- public int? sequence { get; set; } /*APINullabe*/
-
- // Model - Log Details (log height, start with half log, surface of horizontal edges, log shape)
- public double? logHeight { get; set; }
- public bool? startWithHalfLog { get; set; }
- public string? surfaceOfHorizontalEdges { get; set; }
- public string? logShape { get; set; }
-
- // Model - Defines the relation of wall to zones (Zone Boundary, Reduce Zone Area Only, No Effect on Zones)
- public string? wallRelationToZoneName { get; set; } /*APINullabe*/
-
- // Does it have any embedded object?
- public bool? hasDoor { get; set; } /*APINullabe*/
-
- public bool? hasWindow { get; set; } /*APINullabe*/
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/AssemblySegment.cs b/src/Speckle.Objects/BuiltElements/Archicad/AssemblySegment.cs
deleted file mode 100644
index 172c23c2..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/AssemblySegment.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-[SpeckleType("Objects.BuiltElements.Archicad.AssemblySegment")]
-public class AssemblySegment : Base
-{
- public bool circleBased { get; set; }
-
- public string modelElemStructureType { get; set; }
-
- public double nominalHeight { get; set; }
-
- public double nominalWidth { get; set; }
-
- public bool isHomogeneous { get; set; }
-
- public double endWidth { get; set; }
-
- public double endHeight { get; set; }
-
- public bool isEndWidthAndHeightLinked { get; set; }
-
- public bool isWidthAndHeightLinked { get; set; }
-
- public string profileAttrName { get; set; }
-
- public string buildingMaterial { get; set; }
-}
-
-[SpeckleType("Objects.BuiltElements.Archicad.AssemblySegmentScheme")]
-public class AssemblySegmentScheme : Base
-{
- public string lengthType { get; set; }
-
- public double fixedLength { get; set; }
-
- public double lengthProportion { get; set; }
-}
-
-[SpeckleType("Objects.BuiltElements.Archicad.AssemblySegmentCut")]
-public class AssemblySegmentCut : Base
-{
- public string cutType { get; set; }
-
- public double customAngle { get; set; }
-}
-
-[SpeckleType("Objects.BuiltElements.Archicad.Hole")]
-public class Hole : Base
-{
- public string holeType { get; set; }
-
- public bool holeContourOn { get; set; }
-
- public int holeId { get; set; }
-
- public double centerx { get; set; }
-
- public double centerz { get; set; }
-
- public double width { get; set; }
-
- public double height { get; set; }
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/Classification.cs b/src/Speckle.Objects/BuiltElements/Archicad/Classification.cs
deleted file mode 100644
index b4fff6cf..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/Classification.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using Speckle.Sdk.Host;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-[SpeckleType("Objects.BuiltElements.Archicad.Classification")]
-public class Classification : Base
-{
- public Classification() { }
-
- [SchemaInfo("Classification", "A classification to set on an element", "BIM", "All")]
- public Classification(string system, string? code = null, string? name = null)
- {
- this.system = system;
- this.code = code;
- this.name = name;
- }
-
- public string system { get; set; }
- public string? code { get; set; }
- public string? name { get; set; }
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ComponentProperties.cs b/src/Speckle.Objects/BuiltElements/Archicad/ComponentProperties.cs
deleted file mode 100644
index be0f99ae..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/ComponentProperties.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-using Speckle.Sdk.Host;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-[SpeckleType("Objects.BuiltElements.Archicad.ComponentProperties")]
-public class ComponentProperties : Base
-{
- public ComponentProperties() { }
-
- [SchemaInfo("ComponentProperties", "An Archicad element component properties", "Archicad", "Elements")]
- public ComponentProperties(
- string name,
- List propertyGroups,
- [SchemaParamInfo("(Optional) Speckle units.")] string units = ""
- )
- {
- this.name = name;
- this.propertyGroups = propertyGroups;
- this.units = units;
- }
-
- public string name { get; set; }
- public List? propertyGroups { get; set; }
- public string units { get; set; }
-
- ///
- /// Turns a List of ComponentProperties into a Base so that it can be used with the Speckle properties prop
- ///
- ///
- ///
- public static Base? ToBase(List? componentPropertiesList)
- {
- if (componentPropertiesList == null || componentPropertiesList.Count == 0)
- {
- return null;
- }
-
- var @base = new Base();
-
- foreach (ComponentProperties componentProperties in componentPropertiesList)
- {
- @base[RemoveDisallowedPropNameChars(componentProperties.name)] = PropertyGroup.ToBase(
- componentProperties.propertyGroups
- );
- }
-
- return @base;
- }
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/DirectShape.cs b/src/Speckle.Objects/BuiltElements/Archicad/DirectShape.cs
deleted file mode 100644
index 8806440e..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/DirectShape.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using Speckle.Objects.Geometry;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-[SpeckleType("Objects.BuiltElements.Archicad.DirectShape")]
-public class DirectShape : Base
-{
- public DirectShape() { }
-
- public DirectShape(string applicationId, List displayValue)
- {
- this.applicationId = applicationId;
- this.displayValue = displayValue;
- }
-
- // Element base
- public string elementType { get; set; }
-
- public List classifications { get; set; }
- public Base? elementProperties { get; set; }
- public Base? componentProperties { get; set; }
-
- public ArchicadLevel level { get; set; }
-
- public string units { get; set; }
-
- [DetachProperty]
- public List displayValue { get; set; }
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ElementShape.cs b/src/Speckle.Objects/BuiltElements/Archicad/ElementShape.cs
deleted file mode 100644
index ca48e028..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/ElementShape.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-using Speckle.Newtonsoft.Json;
-using Speckle.Objects.Geometry;
-using Speckle.Objects.Primitive;
-using Speckle.Sdk.Common;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-[SpeckleType("Objects.BuiltElements.Archicad.ElementShape")]
-public sealed class ElementShape : Base
-{
- public ElementShape() { }
-
- public ElementShape(Polyline contourPolyline, List? holePolylines = null)
- {
- this.contourPolyline = contourPolyline;
- this.holePolylines = holePolylines;
- }
-
- public Polyline contourPolyline { get; set; }
-
- public List? holePolylines { get; set; }
-
- ///
- /// This class is only used for Archicad interop
- ///
- [SpeckleType("Objects.BuiltElements.Archicad.ElementShape+PolylineSegment")]
- public sealed class PolylineSegment : Base, ICurve
- {
- public PolylineSegment() { }
-
- public PolylineSegment(Point startPoint, Point endPoint, double? arcAngle = null, bool? bodyFlag = null)
- {
- this.startPoint = startPoint;
- this.endPoint = endPoint;
- this.arcAngle = arcAngle ?? 0;
- this.bodyFlag = bodyFlag;
- }
-
- public Point startPoint { get; set; }
- public Point endPoint { get; set; }
-
- [JsonIgnore]
- public string units => Units.Meters;
- public double arcAngle { get; set; }
- public bool? bodyFlag { get; set; }
- public double length { get; set; }
- public Interval domain { get; set; } = Interval.UnitInterval;
- }
-
- ///
- /// This class is only used for Archicad interop
- /// >
- [SpeckleType("Objects.BuiltElements.Archicad.ElementShape+Polyline")]
- public sealed class Polyline : Base, ICurve
- {
- public Polyline() { }
-
- public Polyline(List segments)
- {
- this.polylineSegments = segments;
- }
-
- [JsonIgnore]
- public string units => Units.Meters;
-
- public List polylineSegments { get; set; } = new();
- public double length { get; set; }
- public Interval domain { get; set; } = Interval.UnitInterval;
- }
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/Fenestration.cs b/src/Speckle.Objects/BuiltElements/Archicad/Fenestration.cs
deleted file mode 100644
index 8f6db424..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/Fenestration.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-using Speckle.Objects.Geometry;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadFenestration")]
-public class ArchicadFenestration : Base, IDisplayValue>
-{
- public string parentApplicationId { get; set; }
-
- // Element base
- public string? elementType { get; set; } /*APINullabe*/
-
- public List? classifications { get; set; } /*APINullabe*/
- public Base? elementProperties { get; set; }
- public Base? componentProperties { get; set; }
-
- public double? width { get; set; } /*APINullabe*/
- public double? height { get; set; } /*APINullabe*/
- public double? subFloorThickness { get; set; } /*APINullabe*/
- public bool? reflected { get; set; } /*APINullabe*/
- public bool? oSide { get; set; } /*APINullabe*/
- public bool? refSide { get; set; } /*APINullabe*/
- public string? verticalLinkTypeName { get; set; }
- public short? verticalLinkStoryIndex { get; set; }
- public bool? wallCutUsing { get; set; }
- public short? pen { get; set; } /*APINullabe*/
- public string? lineTypeName { get; set; } /*APINullabe*/
- public string? buildingMaterial { get; set; } /*APINullabe*/
- public string? sectFill { get; set; } /*APINullabe*/
- public short? sectFillPen { get; set; } /*APINullabe*/
- public short? sectBackgroundPen { get; set; } /*APINullabe*/
- public short? sectContPen { get; set; } /*APINullabe*/
- public string? cutLineType { get; set; } /*APINullabe*/
- public string? aboveViewLineType { get; set; } /*APINullabe*/
- public short? aboveViewLinePen { get; set; } /*APINullabe*/
- public short? belowViewLinePen { get; set; } /*APINullabe*/
- public string? belowViewLineType { get; set; } /*APINullabe*/
- public bool? useObjectPens { get; set; } /*APINullabe*/
- public bool? useObjLinetypes { get; set; } /*APINullabe*/
- public bool? useObjMaterials { get; set; } /*APINullabe*/
- public bool? useObjSectAttrs { get; set; } /*APINullabe*/
- public string? libraryPart { get; set; } /*APINullabe*/
- public string? displayOptionName { get; set; } /*APINullabe*/
-
- [DetachProperty]
- public List displayValue { get; set; }
-}
-
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadDoorWindowBase")]
-public class ArchicadDoorWindowBase : ArchicadFenestration
-{
- public double? revealDepthFromSide { get; set; } /*APINullabe*/
- public double? jambDepthHead { get; set; } /*APINullabe*/
- public double? jambDepth { get; set; } /*APINullabe*/
- public double? jambDepth2 { get; set; } /*APINullabe*/
- public double? objLoc { get; set; } /*APINullabe*/
- public double? lower { get; set; } /*APINullabe*/
- public string? directionType { get; set; } /*APINullabe*/
-
- public Point? startPoint { get; set; } /*APINullabe*/
- public Point? dirVector { get; set; } /*APINullabe*/
-}
-
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadDoor")]
-public sealed class ArchicadDoor : ArchicadDoorWindowBase { }
-
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadWindow")]
-public sealed class ArchicadWindow : ArchicadDoorWindowBase { }
-
-[SpeckleType("Objects.BuiltElements.Archicad.ArchicadSkylight")]
-public sealed class ArchicadSkylight : ArchicadFenestration
-{
- public uint? vertexID { get; set; } /*APINullabe*/
- public string? skylightFixMode { get; set; } /*APINullabe*/
- public string? skylightAnchor { get; set; } /*APINullabe*/
- public Point? anchorPosition { get; set; } /*APINullabe*/
- public double? anchorLevel { get; set; } /*APINullabe*/
- public double? azimuthAngle { get; set; } /*APINullabe*/
- public double? elevationAngle { get; set; } /*APINullabe*/
-}
diff --git a/src/Speckle.Objects/BuiltElements/Archicad/Property.cs b/src/Speckle.Objects/BuiltElements/Archicad/Property.cs
deleted file mode 100644
index 387d35cb..00000000
--- a/src/Speckle.Objects/BuiltElements/Archicad/Property.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-using Speckle.Sdk.Host;
-using Speckle.Sdk.Models;
-
-namespace Speckle.Objects.BuiltElements.Archicad;
-
-[SpeckleType("Objects.BuiltElements.Archicad.Property")]
-public class Property : Base
-{
- public Property() { }
-
- [SchemaInfo("Property", "An Archicad element property", "Archicad", "Elements")]
- public Property(string name, object value, [SchemaParamInfo("(Optional) Speckle units.")] string units = "")
- {
- this.name = name;
- this.value = value;
- this.units = units;
- }
-
- public string name { get; set; }
- public object? value { get; set; }
- public List