diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
new file mode 100644
index 0000000..00b1a06
--- /dev/null
+++ b/.config/dotnet-tools.json
@@ -0,0 +1,12 @@
+{
+ "version": 1,
+ "isRoot": true,
+ "tools": {
+ "csharpier": {
+ "version": "0.28.1",
+ "commands": [
+ "dotnet-csharpier"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/.csharpierrc.yaml b/.csharpierrc.yaml
new file mode 100644
index 0000000..152a715
--- /dev/null
+++ b/.csharpierrc.yaml
@@ -0,0 +1,7 @@
+printWidth: 120
+useTabs: false
+tabWidth: 2
+preprocessorSymbolSets:
+ - ""
+ - "DEBUG"
+ - "DEBUG,CODE_STYLE"
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..aad43bc
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,305 @@
+root = true
+# Don't use tabs for indentation.
+[*]
+indent_style = space
+
+# Microsoft .NET properties
+csharp_using_directive_placement = outside_namespace:silent
+
+dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:none
+dotnet_style_parentheses_in_other_binary_operators = never_if_unnecessary:none
+dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:none
+
+
+# Standard properties
+insert_final_newline = true
+
+# (Please don't specify an indent_size here; that has too many unintended consequences.)
+
+# Code files
+[*.{cs,csx,vb,vbx}]
+indent_size = 2
+charset = utf-8
+
+# Xml project files
+[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
+indent_size = 2
+space_after_last_pi_attribute = false
+# Xml config files
+[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}]
+indent_size = 2
+space_after_last_pi_attribute = false
+
+# JSON files
+[*.json]
+indent_size = 2
+
+# Dotnet code style settings:
+[*.{cs,vb}]
+# Sort using and Import directives with System.* appearing first
+dotnet_sort_system_directives_first = true
+dotnet_separate_import_directive_groups = false
+
+# Avoid "this." and "Me." if not necessary
+dotnet_style_qualification_for_field = false:suggestion
+dotnet_style_qualification_for_property = false:suggestion
+dotnet_style_qualification_for_method = false:suggestion
+dotnet_style_qualification_for_event = false:suggestion
+
+# Use language keywords instead of framework type names for type references
+dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
+dotnet_style_predefined_type_for_member_access = true:suggestion
+# Parentheses preferences
+dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:silent
+dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:silent
+dotnet_style_parentheses_in_other_binary_operators = never_if_unnecessary:silent
+dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
+
+# Modifier preferences
+dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
+dotnet_style_readonly_field = true:suggestion
+
+# Expression-level preferences
+dotnet_style_object_initializer = true:suggestion
+dotnet_style_collection_initializer = true:suggestion
+dotnet_style_coalesce_expression = true:suggestion
+dotnet_style_null_propagation = true:suggestion
+dotnet_style_explicit_tuple_names = true:suggestion
+dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent
+dotnet_style_prefer_inferred_tuple_names = true:suggestion
+dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
+dotnet_style_prefer_auto_properties = true:warning
+dotnet_style_prefer_conditional_expression_over_assignment = true:silent
+dotnet_style_prefer_conditional_expression_over_return = true:silent
+
+
+# CSharp code style settings:
+[*.cs]
+# Prefer "var" everywhere
+csharp_style_var_elsewhere = false:none
+csharp_style_var_for_built_in_types = false:none
+csharp_style_var_when_type_is_apparent = false:none
+
+# Prefer method-like constructs to have a block body
+csharp_style_expression_bodied_methods = true:suggestion
+csharp_style_expression_bodied_constructors = false:suggestion
+csharp_style_expression_bodied_operators = true:suggestion
+
+# Prefer property-like constructs to have an expression-body
+csharp_style_expression_bodied_properties = true:suggestion
+csharp_style_expression_bodied_indexers = true:suggestion
+csharp_style_expression_bodied_accessors = true:suggestion
+
+# Suggest more modern language features when available
+csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
+csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
+csharp_style_inlined_variable_declaration = true:suggestion
+csharp_style_throw_expression = true:suggestion
+csharp_style_conditional_delegate_call = true:suggestion
+csharp_style_namespace_declarations = file_scoped
+
+# Newline settings
+csharp_new_line_before_open_brace = all
+csharp_new_line_before_else = true
+csharp_new_line_before_catch = true
+csharp_new_line_before_finally = true
+csharp_new_line_before_members_in_object_initializers = true
+csharp_new_line_before_members_in_anonymous_types = true
+
+# Space preferences
+csharp_space_after_cast = false
+csharp_space_after_keywords_in_control_flow_statements = true
+csharp_space_between_method_call_parameter_list_parentheses = false
+csharp_space_between_method_declaration_parameter_list_parentheses = false
+csharp_space_between_parentheses = false
+csharp_space_before_colon_in_inheritance_clause = true
+csharp_space_after_colon_in_inheritance_clause = true
+csharp_space_around_binary_operators = before_and_after
+csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
+csharp_space_between_method_call_name_and_opening_parenthesis = false
+csharp_space_between_method_call_empty_parameter_list_parentheses = false
+
+# Wrapping preferences
+csharp_preserve_single_line_statements = true
+csharp_preserve_single_line_blocks = true
+
+
+
+# SYMBOL NAMING RULES
+# Copied from https://github.com/dotnet/roslyn/blob/main/.editorconfig
+# Adapted rules:
+# - Constants are ALL_UPPER
+# - Non-private fields are PascalCase
+
+# Non-private fields are PascalCase
+dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.severity = warning
+dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.symbols = non_private_readonly_fields
+dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.style = non_private_readonly_field_style
+
+dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field
+dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected
+
+dotnet_naming_style.non_private_readonly_field_style.capitalization = pascal_case
+
+# Constants are ALL_UPPER
+dotnet_naming_rule.constants_should_be_all_upper.severity = warning
+dotnet_naming_rule.constants_should_be_all_upper.symbols = constants
+dotnet_naming_rule.constants_should_be_all_upper.style = constant_style
+
+dotnet_naming_symbols.constants.applicable_kinds = field, local
+dotnet_naming_symbols.constants.required_modifiers = const
+
+dotnet_naming_style.constant_style.capitalization = all_upper
+
+# Private static fields are camelCase and start with s_
+dotnet_naming_rule.static_fields_should_be_camel_case.severity = warning
+dotnet_naming_rule.static_fields_should_be_camel_case.symbols = static_fields
+dotnet_naming_rule.static_fields_should_be_camel_case.style = static_field_style
+
+dotnet_naming_symbols.static_fields.applicable_accessibilities = private
+dotnet_naming_symbols.static_fields.applicable_kinds = field
+dotnet_naming_symbols.static_fields.required_modifiers = static
+
+dotnet_naming_style.static_field_style.capitalization = camel_case
+dotnet_naming_style.static_field_style.required_prefix = s_
+
+
+# Instance fields are camelCase and start with _
+dotnet_naming_rule.instance_fields_should_be_camel_case.severity = warning
+dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields
+dotnet_naming_rule.instance_fields_should_be_camel_case.style = instance_field_style
+
+dotnet_naming_symbols.instance_fields.applicable_kinds = field
+
+dotnet_naming_style.instance_field_style.capitalization = camel_case
+dotnet_naming_style.instance_field_style.required_prefix = _
+
+# Locals and parameters are camelCase
+dotnet_naming_rule.locals_should_be_camel_case.severity = warning
+dotnet_naming_rule.locals_should_be_camel_case.symbols = locals_and_parameters
+dotnet_naming_rule.locals_should_be_camel_case.style = camel_case_style
+
+dotnet_naming_symbols.locals_and_parameters.applicable_kinds = parameter, local
+
+dotnet_naming_style.camel_case_style.capitalization = camel_case
+
+# Local functions are PascalCase
+dotnet_naming_rule.local_functions_should_be_pascal_case.severity = warning
+dotnet_naming_rule.local_functions_should_be_pascal_case.symbols = local_functions
+dotnet_naming_rule.local_functions_should_be_pascal_case.style = local_function_style
+
+dotnet_naming_symbols.local_functions.applicable_kinds = local_function
+
+dotnet_naming_style.local_function_style.capitalization = pascal_case
+
+# By default, name items with PascalCase
+dotnet_naming_rule.members_should_be_pascal_case.severity = warning
+dotnet_naming_rule.members_should_be_pascal_case.symbols = all_members
+dotnet_naming_rule.members_should_be_pascal_case.style = pascal_case_style
+
+dotnet_naming_symbols.all_members.applicable_kinds = *
+
+dotnet_naming_style.pascal_case_style.capitalization = pascal_case
+
+
+# Analyzer settings
+dotnet_analyzer_diagnostic.category-Style.severity = warning # All rules will use this severity unless overriden
+dotnet_diagnostic.ide0055.severity = none # Formatting rule: Incompatible with CSharpier
+dotnet_diagnostic.ide0007.severity = none # Use var instead of explicit type: Preference
+dotnet_diagnostic.ide0009.severity = none # Add this or Me qualification: Preference
+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.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.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
+dotnet_diagnostic.ide0078.severity = suggestion # Use pattern matching: Subjective
+dotnet_diagnostic.ide0260.severity = suggestion # Use pattern matching: Subjective
+dotnet_diagnostic.ide0022.severity = suggestion # Use expression body for method: Subjective
+dotnet_diagnostic.ide0061.severity = suggestion # Use expression body for local functions: Subjective
+dotnet_diagnostic.ide0063.severity = suggestion # Using directive can be simplified
+dotnet_diagnostic.ide0066.severity = suggestion # Use switch expression: Subjective
+dotnet_diagnostic.ide0029.severity = suggestion # Null check can be simplified: Subjective
+dotnet_diagnostic.ide0030.severity = suggestion # Null check can be simplified: Subjective
+dotnet_diagnostic.ide0270.severity = suggestion # Null check can be simplified: Subjective
+dotnet_diagnostic.ide0042.severity = suggestion # Deconstruct variable declaration: Subjective
+dotnet_diagnostic.ide0039.severity = suggestion # Use local function instead of lambda: Subjective
+dotnet_diagnostic.ide0029.severity = suggestion # Null check can be simplified: Subjective
+dotnet_diagnostic.ide0030.severity = suggestion # Null check can be simplified: Subjective
+dotnet_diagnostic.ide0270.severity = suggestion # Null check can be simplified: Subjective
+dotnet_diagnostic.ide0042.severity = suggestion # Deconstruct variable declaration: Subjective
+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
+
+# Maintainability rules
+dotnet_diagnostic.ca1501.severity = warning # Avoid excessive inheritance
+dotnet_diagnostic.ca1502.severity = warning # Avoid excessive complexity
+dotnet_diagnostic.ca1505.severity = warning # Avoid unmaintainable code
+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)
+
+
+# Performance rules
+dotnet_diagnostic.ca1849.severity = suggestion # Call async methods when in an async method: May decrease performance
+dotnet_diagnostic.ca1822.severity = suggestion # Mark member as static
+dotnet_diagnostic.ca1859.severity = suggestion # Use concrete types when possible for improved performance
+
+# Design rule
+dotnet_diagnostic.ca1002.severity = suggestion # Do not expose generic lists
+dotnet_diagnostic.ca1051.severity = warning # Do not declare visible instance fields
+dotnet_diagnostic.ca1056.severity = suggestion # URI properties should not be strings
+dotnet_diagnostic.ca1062.severity = none # Public method must check all parameters for null
+
+# Naming
+dotnet_diagnostic.ca1707.severity = none # Remove underscores in names
+
+# Usage
+dotnet_diagnostic.ca2227.severity = suggestion # Collection props should be read-only
+
+dotnet_code_quality.ca1051.exclude_structs = true # CA1051 is excluded in structs
+dotnet_code_quality.dispose_ownership_transfer_at_constructor = true # CA2000 has a lot of false positives without this
+dotnet_code_quality.dispose_ownership_transfer_at_method_call = true # CA2000 has a lot of false positives without this
+dotnet_code_quality.dispose_analysis_kind = NonExceptionPathsOnlyNotDisposed # CA2000 has a lot of false positives without this
+
+# NUnit
+dotnet_diagnostic.NUnit2001.severity = warning # Consider using Assert.That(expr, Is.False) instead of Assert.False(expr)
+dotnet_diagnostic.NUnit2002.severity = warning # Consider using Assert.That(expr, Is.False) instead of Assert.IsFalse(expr)
+dotnet_diagnostic.NUnit2003.severity = warning # Consider using Assert.That(expr, Is.True) instead of Assert.IsTrue(expr)
+dotnet_diagnostic.NUnit2004.severity = warning # Consider using Assert.That(expr, Is.True) instead of Assert.True(expr)
+dotnet_diagnostic.NUnit2005.severity = warning # Consider using Assert.That(actual, Is.EqualTo(expected)) instead of Assert.AreEqual(expected, actual)
+dotnet_diagnostic.NUnit2006.severity = warning # Consider using Assert.That(actual, Is.Not.EqualTo(expected)) instead of Assert.AreNotEqual(expected, actual)
+
+dotnet_diagnostic.NUnit2010.severity = warning # Use EqualConstraint for better assertion messages in case of failure
+dotnet_diagnostic.NUnit2011.severity = warning # Use ContainsConstraint for better assertion messages in case of failure
+dotnet_diagnostic.NUnit2011.severity = warning # Use StartsWithConstraint for better assertion messages in case of failure
+dotnet_diagnostic.NUnit2011.severity = warning # Use EndsWithConstraint for better assertion messages in case of failure
+dotnet_diagnostic.NUnit2014.severity = warning # Use SomeItemsConstraint for better assertion messages in case of failure
+
+dotnet_diagnostic.NUnit2015.severity = warning # Consider using Assert.That(actual, Is.SameAs(expected)) instead of Assert.AreSame(expected, actual)
+dotnet_diagnostic.NUnit2016.severity = warning # Consider using Assert.That(expr, Is.Null) instead of Assert.Null(expr)
+dotnet_diagnostic.NUnit2017.severity = warning # Consider using Assert.That(expr, Is.Null) instead of Assert.IsNull(expr)
+dotnet_diagnostic.NUnit2018.severity = warning # Consider using Assert.That(expr, Is.Not.Null) instead of Assert.NotNull(expr)
+dotnet_diagnostic.NUnit2028.severity = warning # Consider using Assert.That(actual, Is.GreaterThanOrEqualTo(expected)) instead of Assert.GreaterOrEqual(actual, expected)
+dotnet_diagnostic.NUnit2027.severity = warning # Consider using Assert.That(actual, Is.GreaterThan(expected)) instead of Assert.Greater(actual, expected)
+dotnet_diagnostic.NUnit2029.severity = warning # Consider using Assert.That(actual, Is.LessThan(expected)) instead of Assert.Less(actual, expected)
+dotnet_diagnostic.NUnit2030.severity = warning # Consider using Assert.That(actual, Is.LessThanOrEqualTo(expected)) instead of Assert.LessOrEqual(actual, expected)
+dotnet_diagnostic.NUnit2031.severity = warning # Consider using Assert.That(actual, Is.Not.SameAs(expected)) instead of Assert.AreNotSame(expected, actual)
+dotnet_diagnostic.NUnit2032.severity = warning # Consider using Assert.That(expr, Is.Zero) instead of Assert.Zero(expr)
+dotnet_diagnostic.NUnit2033.severity = warning # Consider using Assert.That(expr, Is.Not.Zero) instead of Assert.NotZero(expr)
+dotnet_diagnostic.NUnit2034.severity = warning # Consider using Assert.That(expr, Is.NaN) instead of Assert.IsNaN(expr)
+dotnet_diagnostic.NUnit2035.severity = warning # Consider using Assert.That(collection, Is.Empty) instead of Assert.IsEmpty(collection)
+dotnet_diagnostic.NUnit2036.severity = warning # Consider using Assert.That(collection, Is.Not.Empty) instead of Assert.IsNotEmpty(collection)
+dotnet_diagnostic.NUnit2037.severity = warning # Consider using Assert.That(collection, Does.Contain(instance)) instead of Assert.Contains(instance, collection)
+dotnet_diagnostic.NUnit2038.severity = warning # Consider using Assert.That(actual, Is.InstanceOf(expected)) instead of Assert.IsInstanceOf(expected, actual)
+dotnet_diagnostic.NUnit2039.severity = warning # Consider using Assert.That(actual, Is.Not.InstanceOf(expected)) instead of Assert.IsNotInstanceOf(expected, actual)
+
+[*.{appxmanifest,asax,ascx,aspx,axaml,build,c,c++,cc,cginc,compute,cp,cpp,cs,cshtml,cu,cuh,cxx,dtd,fs,fsi,fsscript,fsx,fx,fxh,h,hh,hlsl,hlsli,hlslinc,hpp,hxx,inc,inl,ino,ipp,ixx,master,ml,mli,mpp,mq4,mq5,mqh,nuspec,paml,razor,resw,resx,shader,skin,tpp,usf,ush,vb,xaml,xamlx,xoml,xsd}]
+indent_style = space
+indent_size = 2
+tab_width = 2
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..0a96b77
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,5 @@
+# Set the default behavior, in case people don't have core.autocrlf set.
+* text=auto
+
+# need original files to be windows
+*.txt text eol=crlf
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d6a5a1d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,21 @@
+**/bin/*
+**/obj/*
+_ReSharper.SharpCompress/
+bin/
+*.suo
+*.user
+TestArchives/Scratch/
+TestArchives/Scratch2/
+TestResults/
+*.nupkg
+packages/*/
+project.lock.json
+tests/TestArchives/Scratch
+.vs
+tools
+.vscode
+.idea/
+
+.DS_Store
+*.snupkg
+/tests/TestArchives/6d23a38c-f064-4ef1-ad89-b942396f53b9/Scratch
diff --git a/Directory.Build.props b/Directory.Build.props
new file mode 100644
index 0000000..bf47a79
--- /dev/null
+++ b/Directory.Build.props
@@ -0,0 +1,17 @@
+
+
+ latest
+ enable
+ enable
+ Recommended
+ true
+ true
+ true
+ true
+ true
+ False
+ False
+ true
+ true
+
+
diff --git a/Directory.Packages.props b/Directory.Packages.props
new file mode 100644
index 0000000..25fa482
--- /dev/null
+++ b/Directory.Packages.props
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/Speckle.Api.sln b/Speckle.Api.sln
new file mode 100644
index 0000000..a28be14
--- /dev/null
+++ b/Speckle.Api.sln
@@ -0,0 +1,45 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Revit2023.Api", "Speckle.Revit2023.Api\Speckle.Revit2023.Api.csproj", "{199733E0-5C61-4C9C-A115-0CADD5058F20}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Revit", "Revit", "{8F540B7F-7548-46E9-BDEC-4DAB99367908}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Revit2023.Interfaces", "Speckle.Revit2023.Interfaces\Speckle.Revit2023.Interfaces.csproj", "{86D5D9A2-7885-4871-AD5B-081B62E87908}"
+EndProject
+Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Speckle.Revit.Interfaces", "Speckle.Revit.Interfaces\Speckle.Revit.Interfaces.shproj", "{E1C43415-3200-45F4-8BF9-A4DD7D7F2ED6}"
+EndProject
+Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Speckle.Revit.Api", "Speckle.Revit.Api\Speckle.Revit.Api.shproj", "{E1C43415-3200-45F4-8BF9-A4DD7D7F2ED7}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Config", "Config", "{7A91F6BF-EA8A-428E-BB97-B6C448C247EF}"
+ ProjectSection(SolutionItems) = preProject
+ .editorconfig = .editorconfig
+ Directory.Build.props = Directory.Build.props
+ Directory.Packages.props = Directory.Packages.props
+ global.json = global.json
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Versions", "Versions", "{80F2939A-20C8-4128-82EA-F14274D9E57D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {199733E0-5C61-4C9C-A115-0CADD5058F20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {199733E0-5C61-4C9C-A115-0CADD5058F20}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {199733E0-5C61-4C9C-A115-0CADD5058F20}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {199733E0-5C61-4C9C-A115-0CADD5058F20}.Release|Any CPU.Build.0 = Release|Any CPU
+ {86D5D9A2-7885-4871-AD5B-081B62E87908}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {86D5D9A2-7885-4871-AD5B-081B62E87908}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {86D5D9A2-7885-4871-AD5B-081B62E87908}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {86D5D9A2-7885-4871-AD5B-081B62E87908}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {E1C43415-3200-45F4-8BF9-A4DD7D7F2ED6} = {8F540B7F-7548-46E9-BDEC-4DAB99367908}
+ {E1C43415-3200-45F4-8BF9-A4DD7D7F2ED7} = {8F540B7F-7548-46E9-BDEC-4DAB99367908}
+ {80F2939A-20C8-4128-82EA-F14274D9E57D} = {8F540B7F-7548-46E9-BDEC-4DAB99367908}
+ {199733E0-5C61-4C9C-A115-0CADD5058F20} = {80F2939A-20C8-4128-82EA-F14274D9E57D}
+ {86D5D9A2-7885-4871-AD5B-081B62E87908} = {80F2939A-20C8-4128-82EA-F14274D9E57D}
+ EndGlobalSection
+EndGlobal
diff --git a/Speckle.Revit.Api/DocumentExtensions.cs b/Speckle.Revit.Api/DocumentExtensions.cs
new file mode 100644
index 0000000..77bc984
--- /dev/null
+++ b/Speckle.Revit.Api/DocumentExtensions.cs
@@ -0,0 +1,10 @@
+using Speckle.Revit2023.Interfaces;
+using DB = Autodesk.Revit.DB;
+
+namespace Speckle.Revit2023.Api;
+
+public static class DocumentExtensions
+{
+ public static DB.Element GetElement(this IRevitDocument document, DB.ElementId id) =>
+ ((IRevitDocumentProxy)document)._Instance.GetElement(id);
+}
diff --git a/Speckle.Revit.Api/IRevitDocumentProxy.cs b/Speckle.Revit.Api/IRevitDocumentProxy.cs
new file mode 100644
index 0000000..8918c41
--- /dev/null
+++ b/Speckle.Revit.Api/IRevitDocumentProxy.cs
@@ -0,0 +1,53 @@
+using System.Diagnostics.CodeAnalysis;
+using Autodesk.Revit.DB;
+using Speckle.ProxyGenerator;
+using Speckle.Revit2023.Interfaces;
+#pragma warning disable CA1010
+#pragma warning disable CA1710
+
+namespace Speckle.Revit2023.Api;
+
+[Proxy(
+ typeof(Document),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface,
+ new[] { "PlanTopology", "PlanTopologies", "TypeOfStorage", "Equals" }
+)]
+[SuppressMessage("Maintainability", "CA1506:Avoid excessive class coupling")]
+public partial interface IRevitDocumentProxy : IRevitDocument { }
+
+[Proxy(
+ typeof(ForgeTypeId),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface,
+ new[] { "Equals" }
+)]
+public partial interface IRevitForgeTypeIdProxy : IRevitForgeTypeId { }
+
+[Proxy(
+ typeof(Element),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface,
+ new[] { "Parameter", "BoundingBox", "Geometry" }
+)]
+public partial interface IRevitElementProxy : IRevitElement { }
+
+[Proxy(
+ typeof(Category),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface,
+ new[] { "AllowsVisibilityControl", "Visible" }
+)]
+public partial interface IRevitCategoryProxy : IRevitCategory { }
+
+[Proxy(
+ typeof(ElementId),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface,
+ new[] { "Equals" }
+)]
+public partial interface IRevitElementIdProxy : IRevitElementId { }
+
+[Proxy(typeof(CurtainGrid), ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface)]
+public partial interface IRevitCurtainGridProxy : IRevitCurtainGrid { }
+
+[Proxy(typeof(Wall), ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface)]
+public partial interface IRevitWallProxy : IRevitWall { }
+
+[Proxy(typeof(HostObject), ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface)]
+public partial interface IRevitHostObjectProxy : IRevitHostObject { }
diff --git a/Speckle.Revit.Api/IRevitModelCurveArrArrayProxy.cs b/Speckle.Revit.Api/IRevitModelCurveArrArrayProxy.cs
new file mode 100644
index 0000000..319f1fe
--- /dev/null
+++ b/Speckle.Revit.Api/IRevitModelCurveArrArrayProxy.cs
@@ -0,0 +1,52 @@
+using System.Collections;
+using Autodesk.Revit.DB;
+using Speckle.ProxyGenerator;
+using Speckle.Revit2023.Interfaces;
+
+namespace Speckle.Revit2023.Api;
+
+[Proxy(
+ typeof(ModelCurveArrArray),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface,
+ new[] { "GetEnumerator", "Item", "get_Item", "set_Item" }
+)]
+public partial interface IRevitModelCurveArrArrayProxy : IRevitModelCurveArrArray { }
+
+public partial class ModelCurveArrArrayProxy
+{
+ IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
+
+ public int Count => Size;
+
+ public IEnumerator GetEnumerator() =>
+ new RevitModelCurveArrayIterator(_Instance.ForwardIterator());
+
+ private readonly struct RevitModelCurveArrayIterator : IEnumerator
+ {
+ private readonly ModelCurveArrArrayIterator _curveArrayIterator;
+
+ public RevitModelCurveArrayIterator(ModelCurveArrArrayIterator curveArrayIterator)
+ {
+ _curveArrayIterator = curveArrayIterator;
+ }
+
+ public void Dispose() => _curveArrayIterator.Dispose();
+
+ public bool MoveNext() => _curveArrayIterator.MoveNext();
+
+ public void Reset() => _curveArrayIterator.Reset();
+
+ object IEnumerator.Current => Current;
+
+ public IRevitModelCurveArray Current => new ModelCurveArrayProxy((ModelCurveArray)_curveArrayIterator.Current);
+ }
+
+ public IRevitModelCurveArray this[int index]
+ {
+ get
+ {
+ var obj = _Instance.get_Item(index);
+ return Mapster.TypeAdapter.Adapt(obj);
+ }
+ }
+}
diff --git a/Speckle.Revit.Api/IRevitModelCurveArrayProxy.cs b/Speckle.Revit.Api/IRevitModelCurveArrayProxy.cs
new file mode 100644
index 0000000..019ae22
--- /dev/null
+++ b/Speckle.Revit.Api/IRevitModelCurveArrayProxy.cs
@@ -0,0 +1,52 @@
+using System.Collections;
+using Autodesk.Revit.DB;
+using Speckle.ProxyGenerator;
+using Speckle.Revit2023.Interfaces;
+
+namespace Speckle.Revit2023.Api;
+
+[Proxy(
+ typeof(ModelCurveArray),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface,
+ new[] { "GetEnumerator", "Item", "get_Item", "set_Item" }
+)]
+public partial interface IRevitModelCurveArrayProxy : IRevitModelCurveArray { }
+
+public partial class ModelCurveArrayProxy
+{
+ IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
+
+ public int Count => Size;
+
+ public IEnumerator GetEnumerator() =>
+ new RevitModelCurveCollectionIterator(_Instance.ForwardIterator());
+
+ private readonly struct RevitModelCurveCollectionIterator : IEnumerator
+ {
+ private readonly ModelCurveArrayIterator _curveArrayIterator;
+
+ public RevitModelCurveCollectionIterator(ModelCurveArrayIterator curveArrayIterator)
+ {
+ _curveArrayIterator = curveArrayIterator;
+ }
+
+ public void Dispose() => _curveArrayIterator.Dispose();
+
+ public bool MoveNext() => _curveArrayIterator.MoveNext();
+
+ public void Reset() => _curveArrayIterator.Reset();
+
+ object IEnumerator.Current => Current;
+
+ public IRevitModelCurve Current => new ModelCurveProxy((ModelCurve)_curveArrayIterator.Current);
+ }
+
+ public IRevitModelCurve this[int index]
+ {
+ get
+ {
+ var obj = _Instance.get_Item(index);
+ return Mapster.TypeAdapter.Adapt(obj);
+ }
+ }
+}
diff --git a/Speckle.Revit.Api/IRevitModelCurveProxy.cs b/Speckle.Revit.Api/IRevitModelCurveProxy.cs
new file mode 100644
index 0000000..7ce6884
--- /dev/null
+++ b/Speckle.Revit.Api/IRevitModelCurveProxy.cs
@@ -0,0 +1,33 @@
+using Autodesk.Revit.DB;
+using Speckle.ProxyGenerator;
+using Speckle.Revit2023.Interfaces;
+
+namespace Speckle.Revit2023.Api;
+
+[Proxy(typeof(ModelCurve), ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface)]
+public partial interface IRevitModelCurveProxy : IRevitModelCurve { }
+
+[Proxy(typeof(CurveElement), ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface)]
+public partial interface IRevitCurveElementProxy : IRevitCurveElement { }
+
+[Proxy(typeof(Curve), ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface)]
+public partial interface IRevitCurveProxy : IRevitCurve { }
+
+[Proxy(typeof(XYZ), ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface)]
+public partial interface IRevitXYZProxy : IRevitXYZ { }
+
+[Proxy(
+ typeof(LocationCurve),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface,
+ new[] { "JoinType", "ElementsAtJoin" }
+)]
+public partial interface IRevitLocationCurveProxy : IRevitLocationCurve { }
+
+[Proxy(typeof(Location), ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface)]
+public partial interface IRevitLocationProxy : IRevitLocation { }
+
+[Proxy(
+ typeof(LocationPoint),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface
+)]
+public partial interface IRevitLocationPointProxy : IRevitLocationPoint { }
diff --git a/Speckle.Revit.Api/IRevitUnitsProxy.cs b/Speckle.Revit.Api/IRevitUnitsProxy.cs
new file mode 100644
index 0000000..4b66c5f
--- /dev/null
+++ b/Speckle.Revit.Api/IRevitUnitsProxy.cs
@@ -0,0 +1,14 @@
+using Autodesk.Revit.DB;
+using Speckle.ProxyGenerator;
+using Speckle.Revit2023.Interfaces;
+
+namespace Speckle.Revit2023.Api;
+
+[Proxy(typeof(Units), ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface)]
+public partial interface IRevitUnitsProxy : IRevitUnits { }
+
+[Proxy(
+ typeof(FormatOptions),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface
+)]
+public partial interface IRevitFormatOptionsProxy : IRevitFormatOptions { }
diff --git a/Speckle.Revit.Api/RevitFilterFactory.cs b/Speckle.Revit.Api/RevitFilterFactory.cs
new file mode 100644
index 0000000..fc6ce9d
--- /dev/null
+++ b/Speckle.Revit.Api/RevitFilterFactory.cs
@@ -0,0 +1,70 @@
+using Autodesk.Revit.DB;
+using Speckle.ProxyGenerator;
+using Speckle.Revit2023.Interfaces;
+
+namespace Speckle.Revit2023.Api;
+
+public class RevitFilterFactory : IRevitFilterFactory
+{
+ public IRevitElementIsElementTypeFilter CreateElementIsElementTypeFilter(bool inverted) =>
+ new ElementIsElementTypeFilterProxy(new ElementIsElementTypeFilter());
+
+ public IRevitLogicalAndFilterFilter CreateLogicalAndFilter(params IRevitElementFilter[] filters) =>
+ new LogicalAndFilterProxy(
+ new LogicalAndFilter(filters.Cast().Select(x => x._Instance).ToList())
+ );
+
+ public IRevitElementMulticategoryFilter CreateElementMulticategoryFilter(
+ ICollection categories,
+ bool inverted
+ ) =>
+ new ElementMulticategoryFilterProxy(
+ new ElementMulticategoryFilter(categories.Select(x => (BuiltInCategory)x).ToArray(), inverted)
+ );
+
+ public IRevitFilteredElementCollector CreateFilteredElementCollector(
+ IRevitDocument document,
+ params IRevitElementId[] elementIds
+ ) =>
+ new FilteredElementCollectorProxy(
+ new FilteredElementCollector(
+ ((IRevitDocumentProxy)document)._Instance,
+ elementIds.Cast().Select(x => x._Instance).ToList()
+ )
+ );
+}
+
+[Proxy(
+ typeof(ElementFilter),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface
+)]
+public partial interface IRevitElementFilterProxy : IRevitElementFilter { }
+
+[Proxy(
+ typeof(ElementIsElementTypeFilter),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface
+)]
+public partial interface IRevitElementIsElementTypeFilterProxy : IRevitElementIsElementTypeFilter { }
+
+[Proxy(
+ typeof(ElementMulticategoryFilter),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface
+)]
+public partial interface IRevitElementMulticategoryFilterProxy : IRevitElementMulticategoryFilter { }
+
+[Proxy(
+ typeof(LogicalAndFilter),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface
+)]
+public partial interface IRevitLogicalAndFilterProxy : IRevitLogicalAndFilterFilter { }
+
+[Proxy(
+ typeof(FilteredElementCollector),
+ ImplementationOptions.UseExtendedInterfaces | ImplementationOptions.ProxyForBaseInterface
+)]
+public partial interface IRevitFilteredElementCollectorProxy : IRevitFilteredElementCollector { }
+
+public partial class FilteredElementCollectorProxy
+{
+ public IEnumerable OfClass() => _Instance.OfClass(typeof(T)).Cast();
+}
diff --git a/Speckle.Revit.Api/RevitUnitUtils.cs b/Speckle.Revit.Api/RevitUnitUtils.cs
new file mode 100644
index 0000000..dd0bc44
--- /dev/null
+++ b/Speckle.Revit.Api/RevitUnitUtils.cs
@@ -0,0 +1,15 @@
+using Autodesk.Revit.DB;
+using Speckle.Revit2023.Interfaces;
+
+namespace Speckle.Revit2023.Api;
+
+public class RevitUnitUtils : IRevitUnitUtils
+{
+ public double ConvertFromInternalUnits(double value, IRevitForgeTypeId forgeTypeId) =>
+ UnitUtils.ConvertFromInternalUnits(value, ((IRevitForgeTypeIdProxy)forgeTypeId)._Instance);
+}
+
+public static class RevitSpecTypeId
+{
+ public static IRevitForgeTypeId Length => new ForgeTypeIdProxy(SpecTypeId.Length);
+}
diff --git a/Speckle.Revit.Api/Speckle.Revit.Api.projitems b/Speckle.Revit.Api/Speckle.Revit.Api.projitems
new file mode 100644
index 0000000..28989c0
--- /dev/null
+++ b/Speckle.Revit.Api/Speckle.Revit.Api.projitems
@@ -0,0 +1,14 @@
+
+
+
+ $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
+ true
+ 9655be78-8070-4b9f-b0dc-68bb6150b52d
+
+
+ Speckle.Revit.Api
+
+
+
+
+
\ No newline at end of file
diff --git a/Speckle.Revit.Api/Speckle.Revit.Api.shproj b/Speckle.Revit.Api/Speckle.Revit.Api.shproj
new file mode 100644
index 0000000..a2268e0
--- /dev/null
+++ b/Speckle.Revit.Api/Speckle.Revit.Api.shproj
@@ -0,0 +1,13 @@
+
+
+
+ {E1C43415-3200-45F4-8BF9-A4DD7D7F2ED7}
+ 14.0
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Speckle.Revit.Interfaces/Extensions.cs b/Speckle.Revit.Interfaces/Extensions.cs
new file mode 100644
index 0000000..4ff60b4
--- /dev/null
+++ b/Speckle.Revit.Interfaces/Extensions.cs
@@ -0,0 +1,35 @@
+namespace Speckle.Revit2023.Interfaces;
+
+public static class Extensions
+{
+ public static IList GetHostedElementIds(
+ this IRevitElement host,
+ IRevitFilterFactory revitFilterFactory
+ )
+ {
+ IList ids;
+ if (host is IRevitHostObject hostObject)
+ {
+ ids = hostObject.FindInserts(true, false, false, false);
+ }
+ else
+ {
+ var typeFilter = revitFilterFactory.CreateElementIsElementTypeFilter(true);
+ var categoryFilter = revitFilterFactory.CreateElementMulticategoryFilter(
+ new List()
+ {
+ RevitBuiltInCategory.OST_CLines,
+ RevitBuiltInCategory.OST_SketchLines,
+ RevitBuiltInCategory.OST_WeakDims
+ },
+ true
+ );
+ ids = host.GetDependentElements(revitFilterFactory.CreateLogicalAndFilter(typeFilter, categoryFilter));
+ }
+
+ // dont include host elementId
+ ids.Remove(host.Id);
+
+ return ids;
+ }
+}
diff --git a/Speckle.Revit2023.Interfaces/IRevitCategory.cs b/Speckle.Revit.Interfaces/IRevitCategory.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitCategory.cs
rename to Speckle.Revit.Interfaces/IRevitCategory.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitCurtainGrid.cs b/Speckle.Revit.Interfaces/IRevitCurtainGrid.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitCurtainGrid.cs
rename to Speckle.Revit.Interfaces/IRevitCurtainGrid.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitCurve.cs b/Speckle.Revit.Interfaces/IRevitCurve.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitCurve.cs
rename to Speckle.Revit.Interfaces/IRevitCurve.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitCurveElement.cs b/Speckle.Revit.Interfaces/IRevitCurveElement.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitCurveElement.cs
rename to Speckle.Revit.Interfaces/IRevitCurveElement.cs
diff --git a/Speckle.Revit.Interfaces/IRevitDocument.cs b/Speckle.Revit.Interfaces/IRevitDocument.cs
new file mode 100644
index 0000000..c7d6d39
--- /dev/null
+++ b/Speckle.Revit.Interfaces/IRevitDocument.cs
@@ -0,0 +1,12 @@
+#pragma warning disable CA1040
+
+namespace Speckle.Revit2023.Interfaces;
+
+public interface IRevitDocument
+{
+ string PathName { get; }
+ bool IsFamilyDocument { get; }
+ IRevitUnits GetUnits();
+
+ IRevitElement GetElement(IRevitElementId elementId);
+}
diff --git a/Speckle.Revit2023.Interfaces/IRevitElement.cs b/Speckle.Revit.Interfaces/IRevitElement.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitElement.cs
rename to Speckle.Revit.Interfaces/IRevitElement.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitElementFilter.cs b/Speckle.Revit.Interfaces/IRevitElementFilter.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitElementFilter.cs
rename to Speckle.Revit.Interfaces/IRevitElementFilter.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitElementId.cs b/Speckle.Revit.Interfaces/IRevitElementId.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitElementId.cs
rename to Speckle.Revit.Interfaces/IRevitElementId.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitElementIsElementTypeFilter.cs b/Speckle.Revit.Interfaces/IRevitElementIsElementTypeFilter.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitElementIsElementTypeFilter.cs
rename to Speckle.Revit.Interfaces/IRevitElementIsElementTypeFilter.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitElementMulticategoryFilter.cs b/Speckle.Revit.Interfaces/IRevitElementMulticategoryFilter.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitElementMulticategoryFilter.cs
rename to Speckle.Revit.Interfaces/IRevitElementMulticategoryFilter.cs
diff --git a/Speckle.Revit.Interfaces/IRevitFilterFactory.cs b/Speckle.Revit.Interfaces/IRevitFilterFactory.cs
new file mode 100644
index 0000000..50dba01
--- /dev/null
+++ b/Speckle.Revit.Interfaces/IRevitFilterFactory.cs
@@ -0,0 +1,16 @@
+namespace Speckle.Revit2023.Interfaces;
+
+#pragma warning disable CA1040
+public interface IRevitFilterFactory
+{
+ IRevitElementIsElementTypeFilter CreateElementIsElementTypeFilter(bool inverted);
+ IRevitElementMulticategoryFilter CreateElementMulticategoryFilter(
+ ICollection categories,
+ bool inverted
+ );
+ IRevitLogicalAndFilterFilter CreateLogicalAndFilter(params IRevitElementFilter[] filters);
+ IRevitFilteredElementCollector CreateFilteredElementCollector(
+ IRevitDocument document,
+ params IRevitElementId[] elementIds
+ );
+}
diff --git a/Speckle.Revit2023.Interfaces/IRevitFilteredElementCollector.cs b/Speckle.Revit.Interfaces/IRevitFilteredElementCollector.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitFilteredElementCollector.cs
rename to Speckle.Revit.Interfaces/IRevitFilteredElementCollector.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitForgeTypeId.cs b/Speckle.Revit.Interfaces/IRevitForgeTypeId.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitForgeTypeId.cs
rename to Speckle.Revit.Interfaces/IRevitForgeTypeId.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitFormatOptions.cs b/Speckle.Revit.Interfaces/IRevitFormatOptions.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitFormatOptions.cs
rename to Speckle.Revit.Interfaces/IRevitFormatOptions.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitHostObject.cs b/Speckle.Revit.Interfaces/IRevitHostObject.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitHostObject.cs
rename to Speckle.Revit.Interfaces/IRevitHostObject.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitLocation.cs b/Speckle.Revit.Interfaces/IRevitLocation.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitLocation.cs
rename to Speckle.Revit.Interfaces/IRevitLocation.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitLocationCurve.cs b/Speckle.Revit.Interfaces/IRevitLocationCurve.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitLocationCurve.cs
rename to Speckle.Revit.Interfaces/IRevitLocationCurve.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitLocationPoint.cs b/Speckle.Revit.Interfaces/IRevitLocationPoint.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitLocationPoint.cs
rename to Speckle.Revit.Interfaces/IRevitLocationPoint.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitLogicalAndFilterFilter.cs b/Speckle.Revit.Interfaces/IRevitLogicalAndFilterFilter.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitLogicalAndFilterFilter.cs
rename to Speckle.Revit.Interfaces/IRevitLogicalAndFilterFilter.cs
diff --git a/Speckle.Revit.Interfaces/IRevitModelCurve.cs b/Speckle.Revit.Interfaces/IRevitModelCurve.cs
new file mode 100644
index 0000000..b945ae5
--- /dev/null
+++ b/Speckle.Revit.Interfaces/IRevitModelCurve.cs
@@ -0,0 +1,3 @@
+namespace Speckle.Revit2023.Interfaces;
+
+public interface IRevitModelCurve : IRevitCurveElement { }
\ No newline at end of file
diff --git a/Speckle.Revit2023.Interfaces/IRevitModelCurveArrArray.cs b/Speckle.Revit.Interfaces/IRevitModelCurveArrArray.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitModelCurveArrArray.cs
rename to Speckle.Revit.Interfaces/IRevitModelCurveArrArray.cs
diff --git a/Speckle.Revit.Interfaces/IRevitModelCurveArray.cs b/Speckle.Revit.Interfaces/IRevitModelCurveArray.cs
new file mode 100644
index 0000000..1c8797a
--- /dev/null
+++ b/Speckle.Revit.Interfaces/IRevitModelCurveArray.cs
@@ -0,0 +1,6 @@
+using System.Diagnostics.CodeAnalysis;
+
+namespace Speckle.Revit2023.Interfaces;
+
+[SuppressMessage("Naming", "CA1711:Identifiers should not have incorrect suffix")]
+public interface IRevitModelCurveArray : IReadOnlyList { }
\ No newline at end of file
diff --git a/Speckle.Revit2023.Interfaces/IRevitUnitUtils.cs b/Speckle.Revit.Interfaces/IRevitUnitUtils.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitUnitUtils.cs
rename to Speckle.Revit.Interfaces/IRevitUnitUtils.cs
diff --git a/Speckle.Revit.Interfaces/IRevitUnits.cs b/Speckle.Revit.Interfaces/IRevitUnits.cs
new file mode 100644
index 0000000..e3d90b6
--- /dev/null
+++ b/Speckle.Revit.Interfaces/IRevitUnits.cs
@@ -0,0 +1,11 @@
+#pragma warning disable CA1040
+
+namespace Speckle.Revit2023.Interfaces;
+
+public interface IRevitUnits
+{
+ IRevitFormatOptions GetFormatOptions(IRevitForgeTypeId length);
+}
+
+
+#pragma warning restore CA1040
diff --git a/Speckle.Revit2023.Interfaces/IRevitWall.cs b/Speckle.Revit.Interfaces/IRevitWall.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitWall.cs
rename to Speckle.Revit.Interfaces/IRevitWall.cs
diff --git a/Speckle.Revit2023.Interfaces/IRevitXYZ.cs b/Speckle.Revit.Interfaces/IRevitXYZ.cs
similarity index 100%
rename from Speckle.Revit2023.Interfaces/IRevitXYZ.cs
rename to Speckle.Revit.Interfaces/IRevitXYZ.cs
diff --git a/Speckle.Revit.Interfaces/RevitBuiltInCategory.cs b/Speckle.Revit.Interfaces/RevitBuiltInCategory.cs
new file mode 100644
index 0000000..013541a
--- /dev/null
+++ b/Speckle.Revit.Interfaces/RevitBuiltInCategory.cs
@@ -0,0 +1,1197 @@
+using System.Diagnostics.CodeAnalysis;
+
+namespace Speckle.Revit2023.Interfaces;
+
+[SuppressMessage("Design", "CA1008:Enums should have zero value")]
+public enum RevitBuiltInCategory
+{
+ OST_StackedWalls_Obsolete_IdInWrongRange = -20034100, // 0xFECE4DCC
+ OST_MassTags_Obsolete_IdInWrongRange = -20034005, // 0xFECE4E2B
+ OST_MassSurface_Obsolete_IdInWrongRange = -20034004, // 0xFECE4E2C
+ OST_MassFloor_Obsolete_IdInWrongRange = -20034003, // 0xFECE4E2D
+ OST_Mass_Obsolete_IdInWrongRange = -20034000, // 0xFECE4E30
+ OST_WallRefPlanes_Obsolete_IdInWrongRange = -20000896, // 0xFECECF80
+ OST_StickSymbols_Obsolete_IdInWrongRange = -20000828, // 0xFECECFC4
+ OST_RemovedGridSeg_Obsolete_IdInWrongRange = -20000827, // 0xFECECFC5
+ OST_PointClouds = -2010001, // 0xFFE1546F
+ OST_AnalyticalPanelLocalCoordSys = -2009667, // 0xFFE155BD
+ OST_AnalyticalMemberLocalCoordSys = -2009666, // 0xFFE155BE
+ OST_AnalyticalOpening = -2009665, // 0xFFE155BF
+ OST_AnalyticalPanel = -2009664, // 0xFFE155C0
+ OST_AnalyticalMemberTags = -2009663, // 0xFFE155C1
+ OST_AnalyticalMember = -2009662, // 0xFFE155C2
+ OST_AssemblyOrigin_Lines = -2009661, // 0xFFE155C3
+ OST_AssemblyOrigin_Planes = -2009660, // 0xFFE155C4
+ OST_AssemblyOrigin_Points = -2009659, // 0xFFE155C5
+ OST_AssemblyOrigin = -2009658, // 0xFFE155C6
+ OST_LinksAnalytical = -2009657, // 0xFFE155C7
+ OST_FoundationSlabAnalyticalTags = -2009656, // 0xFFE155C8
+ OST_WallFoundationAnalyticalTags = -2009655, // 0xFFE155C9
+ OST_IsolatedFoundationAnalyticalTags = -2009654, // 0xFFE155CA
+ OST_WallAnalyticalTags = -2009653, // 0xFFE155CB
+ OST_FloorAnalyticalTags = -2009652, // 0xFFE155CC
+ OST_ColumnAnalyticalTags = -2009651, // 0xFFE155CD
+ OST_BraceAnalyticalTags = -2009650, // 0xFFE155CE
+ OST_BeamAnalyticalTags = -2009649, // 0xFFE155CF
+ OST_AnalyticalNodes_Lines = -2009648, // 0xFFE155D0
+ OST_AnalyticalNodes_Planes = -2009647, // 0xFFE155D1
+ OST_AnalyticalNodes_Points = -2009646, // 0xFFE155D2
+ OST_AnalyticalNodes = -2009645, // 0xFFE155D3
+ OST_RigidLinksAnalytical = -2009644, // 0xFFE155D4
+ OST_FoundationSlabAnalytical = -2009643, // 0xFFE155D5
+ OST_WallFoundationAnalytical = -2009642, // 0xFFE155D6
+ OST_IsolatedFoundationAnalytical = -2009641, // 0xFFE155D7
+ OST_WallAnalytical = -2009640, // 0xFFE155D8
+ OST_FloorAnalytical = -2009639, // 0xFFE155D9
+ OST_ColumnEndSegment = -2009638, // 0xFFE155DA
+ OST_ColumnStartSegment = -2009637, // 0xFFE155DB
+ OST_ColumnAnalytical = -2009636, // 0xFFE155DC
+ OST_BraceEndSegment = -2009635, // 0xFFE155DD
+ OST_BraceStartSegment = -2009634, // 0xFFE155DE
+ OST_BraceAnalytical = -2009633, // 0xFFE155DF
+ OST_BeamEndSegment = -2009632, // 0xFFE155E0
+ OST_BeamStartSegment = -2009631, // 0xFFE155E1
+ OST_BeamAnalytical = -2009630, // 0xFFE155E2
+ OST_CompassSecondaryMonth = -2009624, // 0xFFE155E8
+ OST_CompassPrimaryMonth = -2009623, // 0xFFE155E9
+ OST_CompassSectionFilled = -2009622, // 0xFFE155EA
+ OST_LightLine = -2009621, // 0xFFE155EB
+ OST_MultiSurface = -2009620, // 0xFFE155EC
+ OST_SunSurface = -2009619, // 0xFFE155ED
+ OST_Analemma = -2009618, // 0xFFE155EE
+ OST_SunsetText = -2009617, // 0xFFE155EF
+ OST_CompassSection = -2009616, // 0xFFE155F0
+ OST_CompassOuter = -2009615, // 0xFFE155F1
+ OST_SunriseText = -2009614, // 0xFFE155F2
+ OST_CompassInner = -2009613, // 0xFFE155F3
+ OST_SunPath2 = -2009612, // 0xFFE155F4
+ OST_SunPath1 = -2009611, // 0xFFE155F5
+ OST_Sun = -2009610, // 0xFFE155F6
+ OST_SunStudy = -2009609, // 0xFFE155F7
+ OST_StructuralTrussStickSymbols = -2009608, // 0xFFE155F8
+ OST_StructuralTrussHiddenLines = -2009607, // 0xFFE155F9
+ OST_TrussChord = -2009606, // 0xFFE155FA
+ OST_TrussWeb = -2009605, // 0xFFE155FB
+ OST_TrussBottomChordCurve = -2009604, // 0xFFE155FC
+ OST_TrussTopChordCurve = -2009603, // 0xFFE155FD
+ OST_TrussVertWebCurve = -2009602, // 0xFFE155FE
+ OST_TrussDiagWebCurve = -2009601, // 0xFFE155FF
+ OST_Truss = -2009600, // 0xFFE15600
+ OST_PlumbingEquipmentHiddenLines = -2009551, // 0xFFE15631
+ OST_MechanicalControlDevicesHiddenLines = -2009550, // 0xFFE15632
+ OST_RailingSystemTransitionHiddenLines_Deprecated = -2009549, // 0xFFE15633
+ OST_RailingSystemTerminationHiddenLines_Deprecated = -2009548, // 0xFFE15634
+ OST_RailingSystemRailHiddenLines_Deprecated = -2009547, // 0xFFE15635
+ OST_RailingSystemTopRailHiddenLines_Deprecated = -2009546, // 0xFFE15636
+ OST_RailingSystemHandRailBracketHiddenLines_Deprecated = -2009545, // 0xFFE15637
+ OST_RailingSystemHandRailHiddenLines_Deprecated = -2009544, // 0xFFE15638
+ OST_RailingSystemPanelBracketHiddenLines_Deprecated = -2009543, // 0xFFE15639
+ OST_RailingSystemPanelHiddenLines_Deprecated = -2009542, // 0xFFE1563A
+ OST_RailingSystemBalusterHiddenLines_Deprecated = -2009541, // 0xFFE1563B
+ OST_RailingSystemPostHiddenLines_Deprecated = -2009540, // 0xFFE1563C
+ OST_RailingSystemSegmentHiddenLines_Deprecated = -2009539, // 0xFFE1563D
+ OST_RailingSystemHiddenLines_Deprecated = -2009538, // 0xFFE1563E
+ OST_StairStringer2012HiddenLines_Deprecated = -2009537, // 0xFFE1563F
+ OST_StairTread2012HiddenLines_Deprecated = -2009536, // 0xFFE15640
+ OST_StairLanding2012HiddenLines_Deprecated = -2009535, // 0xFFE15641
+ OST_StairRun2012HiddenLines_Deprecated = -2009534, // 0xFFE15642
+ OST_Stairs2012HiddenLines_Deprecated = -2009533, // 0xFFE15643
+ OST_MassHiddenLines = -2009532, // 0xFFE15644
+ OST_CurtaSystemHiddenLines = -2009531, // 0xFFE15645
+ OST_OBSOLETE_ElemArrayHiddenLines = -2009530, // 0xFFE15646
+ OST_EntourageHiddenLines = -2009529, // 0xFFE15647
+ OST_PlantingHiddenLines = -2009528, // 0xFFE15648
+ OST_SpecialityEquipmentHiddenLines = -2009527, // 0xFFE15649
+ OST_TopographyHiddenLines = -2009526, // 0xFFE1564A
+ OST_StructuralFramingSystemHiddenLines_Obsolete = -2009525, // 0xFFE1564B
+ OST_SiteHiddenLines = -2009524, // 0xFFE1564C
+ OST_RoadsHiddenLines = -2009523, // 0xFFE1564D
+ OST_ParkingHiddenLines = -2009522, // 0xFFE1564E
+ OST_PlumbingFixturesHiddenLines = -2009521, // 0xFFE1564F
+ OST_MechanicalEquipmentHiddenLines = -2009520, // 0xFFE15650
+ OST_LightingFixturesHiddenLines = -2009519, // 0xFFE15651
+ OST_FurnitureSystemsHiddenLines = -2009518, // 0xFFE15652
+ OST_ElectricalFixturesHiddenLines = -2009517, // 0xFFE15653
+ OST_ElectricalEquipmentHiddenLines = -2009516, // 0xFFE15654
+ OST_CaseworkHiddenLines = -2009515, // 0xFFE15655
+ OST_DetailComponentsHiddenLines = -2009514, // 0xFFE15656
+ OST_ShaftOpeningHiddenLines = -2009513, // 0xFFE15657
+ OST_GenericModelHiddenLines = -2009512, // 0xFFE15658
+ OST_CurtainWallMullionsHiddenLines = -2009511, // 0xFFE15659
+ OST_CurtainWallPanelsHiddenLines = -2009510, // 0xFFE1565A
+ OST_RampsHiddenLines = -2009509, // 0xFFE1565B
+ OST_StairsRailingHiddenLines = -2009508, // 0xFFE1565C
+ OST_StairsHiddenLines = -2009507, // 0xFFE1565D
+ OST_ColumnsHiddenLines = -2009506, // 0xFFE1565E
+ OST_FurnitureHiddenLines = -2009505, // 0xFFE1565F
+ OST_LinesHiddenLines = -2009504, // 0xFFE15660
+ OST_CeilingsHiddenLines = -2009503, // 0xFFE15661
+ OST_RoofsHiddenLines = -2009502, // 0xFFE15662
+ OST_DoorsHiddenLines = -2009501, // 0xFFE15663
+ OST_WindowsHiddenLines = -2009500, // 0xFFE15664
+ OST_StructConnectionProfilesTags = -2009064, // 0xFFE15818
+ OST_StructConnectionHoleTags = -2009063, // 0xFFE15819
+ OST_CouplerHiddenLines = -2009062, // 0xFFE1581A
+ OST_CouplerTags = -2009061, // 0xFFE1581B
+ OST_Coupler = -2009060, // 0xFFE1581C
+ OST_StructConnectionWeldTags = -2009059, // 0xFFE1581D
+ OST_StructConnectionShearStudTags = -2009058, // 0xFFE1581E
+ OST_StructConnectionAnchorTags = -2009057, // 0xFFE1581F
+ OST_StructConnectionBoltTags = -2009056, // 0xFFE15820
+ OST_StructConnectionPlateTags = -2009055, // 0xFFE15821
+ OST_RebarHiddenLines = -2009050, // 0xFFE15826
+ OST_StructSubConnections = -2009049, // 0xFFE15827
+ OST_SteelElementStale = -2009048, // 0xFFE15828
+ OST_StructConnectionModifiers = -2009047, // 0xFFE15829
+ OST_StructConnectionWelds = -2009046, // 0xFFE1582A
+ OST_StructConnectionHoles = -2009045, // 0xFFE1582B
+ OST_StructConnectionShearStuds = -2009044, // 0xFFE1582C
+ OST_StructConnectionNobleWarning = -2009043, // 0xFFE1582D
+ OST_StructConnectionOthers = -2009042, // 0xFFE1582E
+ OST_StructConnectionBolts = -2009041, // 0xFFE1582F
+ OST_StructConnectionTags = -2009040, // 0xFFE15830
+ OST_StructConnectionAnchors = -2009039, // 0xFFE15831
+ OST_StructConnectionPlates = -2009038, // 0xFFE15832
+ OST_StructConnectionProfiles = -2009037, // 0xFFE15833
+ OST_StructConnectionReference = -2009036, // 0xFFE15834
+ OST_StructConnectionFailed = -2009035, // 0xFFE15835
+ OST_StructConnectionStale = -2009034, // 0xFFE15836
+ OST_StructConnectionSymbol = -2009033, // 0xFFE15837
+ OST_StructConnectionHiddenLines = -2009032, // 0xFFE15838
+ OST_StructWeldLines = -2009031, // 0xFFE15839
+ OST_StructConnections = -2009030, // 0xFFE1583A
+ OST_FabricAreaBoundary = -2009029, // 0xFFE1583B
+ OST_FabricReinSpanSymbol = -2009028, // 0xFFE1583C
+ OST_FabricReinforcementWire = -2009027, // 0xFFE1583D
+ OST_FabricReinforcementBoundary = -2009026, // 0xFFE1583E
+ OST_RebarSetToggle = -2009025, // 0xFFE1583F
+ OST_FabricAreaTags = -2009023, // 0xFFE15841
+ OST_FabricReinforcementTags = -2009022, // 0xFFE15842
+ OST_AreaReinTags = -2009021, // 0xFFE15843
+ OST_RebarTags = -2009020, // 0xFFE15844
+ OST_FabricAreaSketchSheetsLines = -2009019, // 0xFFE15845
+ OST_FabricAreaSketchEnvelopeLines = -2009018, // 0xFFE15846
+ OST_FabricAreas = -2009017, // 0xFFE15847
+ OST_FabricReinforcement = -2009016, // 0xFFE15848
+ OST_RebarCover = -2009015, // 0xFFE15849
+ OST_CoverType = -2009014, // 0xFFE1584A
+ OST_RebarShape = -2009013, // 0xFFE1584B
+ OST_PathReinBoundary = -2009012, // 0xFFE1584C
+ OST_PathReinTags = -2009011, // 0xFFE1584D
+ OST_PathReinSpanSymbol = -2009010, // 0xFFE1584E
+ OST_PathRein = -2009009, // 0xFFE1584F
+ OST_Cage = -2009008, // 0xFFE15850
+ OST_AreaReinXVisibility = -2009007, // 0xFFE15851
+ OST_AreaReinBoundary = -2009006, // 0xFFE15852
+ OST_AreaReinSpanSymbol = -2009005, // 0xFFE15853
+ OST_AreaReinSketchOverride = -2009004, // 0xFFE15854
+ OST_AreaRein = -2009003, // 0xFFE15855
+ OST_RebarLines = -2009002, // 0xFFE15856
+ OST_RebarSketchLines = -2009001, // 0xFFE15857
+ OST_Rebar = -2009000, // 0xFFE15858
+ OST_MEPAncillaryFramingTags = -2008236, // 0xFFE15B54
+ OST_PlumbingEquipmentTags = -2008235, // 0xFFE15B55
+ OST_PlumbingEquipment = -2008234, // 0xFFE15B56
+ OST_MechanicalControlDeviceTags = -2008233, // 0xFFE15B57
+ OST_MechanicalControlDevices = -2008232, // 0xFFE15B58
+ OST_MEPAncillaryFraming = -2008231, // 0xFFE15B59
+ OST_MEPAncillaries_Obsolete = -2008230, // 0xFFE15B5A
+ OST_FabricationDuctworkStiffenerTags = -2008229, // 0xFFE15B5B
+ OST_FabricationDuctworkStiffeners = -2008228, // 0xFFE15B5C
+ OST_ELECTRICAL_AreaBasedLoads_Reference_Visibility = -2008227, // 0xFFE15B5D
+ OST_ELECTRICAL_AreaBasedLoads_InteriorFill_Visibility = -2008226, // 0xFFE15B5E
+ OST_ELECTRICAL_AreaBasedLoads_ColorFill_Obsolete = -2008225, // 0xFFE15B5F
+ OST_ELECTRICAL_AreaBasedLoads_Reference = -2008224, // 0xFFE15B60
+ OST_ELECTRICAL_AreaBasedLoads_InteriorFill = -2008223, // 0xFFE15B61
+ OST_ELECTRICAL_AreaBasedLoads_Boundary = -2008222, // 0xFFE15B62
+ OST_FabricationPipeworkInsulation = -2008221, // 0xFFE15B63
+ OST_FabricationDuctworkLining = -2008220, // 0xFFE15B64
+ OST_FabricationContainmentDrop = -2008219, // 0xFFE15B65
+ OST_FabricationContainmentRise = -2008218, // 0xFFE15B66
+ OST_FabricationPipeworkDrop = -2008217, // 0xFFE15B67
+ OST_FabricationPipeworkRise = -2008216, // 0xFFE15B68
+ OST_FabricationContainmentSymbology = -2008215, // 0xFFE15B69
+ OST_FabricationContainmentCenterLine = -2008214, // 0xFFE15B6A
+ OST_FabricationContainmentTags = -2008213, // 0xFFE15B6B
+ OST_FabricationContainment = -2008212, // 0xFFE15B6C
+ OST_FabricationPipeworkSymbology = -2008211, // 0xFFE15B6D
+ OST_FabricationPipeworkCenterLine = -2008210, // 0xFFE15B6E
+ OST_FabricationPipeworkTags = -2008209, // 0xFFE15B6F
+ OST_FabricationPipework = -2008208, // 0xFFE15B70
+ OST_FabricationDuctworkSymbology = -2008207, // 0xFFE15B71
+ OST_FabricationDuctworkDrop = -2008206, // 0xFFE15B72
+ OST_FabricationDuctworkRise = -2008205, // 0xFFE15B73
+ OST_FabricationHangerTags = -2008204, // 0xFFE15B74
+ OST_FabricationHangers = -2008203, // 0xFFE15B75
+ OST_OBSOLETE_FabricationPartsTmpGraphicDropDrag = -2008202, // 0xFFE15B76
+ OST_FabricationPartsTmpGraphicDrag = -2008201, // 0xFFE15B77
+ OST_OBSOLETE_FabricationPartsTmpGraphicDrop = -2008200, // 0xFFE15B78
+ OST_FabricationPartsTmpGraphicEnd = -2008199, // 0xFFE15B79
+ OST_FabricationDuctworkInsulation = -2008198, // 0xFFE15B7A
+ OST_LayoutNodes = -2008197, // 0xFFE15B7B
+ OST_FabricationDuctworkCenterLine = -2008196, // 0xFFE15B7C
+ OST_FabricationServiceElements = -2008195, // 0xFFE15B7D
+ OST_FabricationDuctworkTags = -2008194, // 0xFFE15B7E
+ OST_FabricationDuctwork = -2008193, // 0xFFE15B7F
+ OST_LayoutPathBase_Pipings = -2008192, // 0xFFE15B80
+ OST_NumberingSchemas = -2008191, // 0xFFE15B81
+ OST_DivisionRules = -2008190, // 0xFFE15B82
+ OST_gbXML_Shade = -2008187, // 0xFFE15B85
+ OST_AnalyticSurfaces = -2008186, // 0xFFE15B86
+ OST_AnalyticSpaces = -2008185, // 0xFFE15B87
+ OST_gbXML_OpeningAir = -2008184, // 0xFFE15B88
+ OST_gbXML_NonSlidingDoor = -2008183, // 0xFFE15B89
+ OST_gbXML_SlidingDoor = -2008182, // 0xFFE15B8A
+ OST_gbXML_OperableSkylight = -2008181, // 0xFFE15B8B
+ OST_gbXML_FixedSkylight = -2008180, // 0xFFE15B8C
+ OST_gbXML_OperableWindow = -2008179, // 0xFFE15B8D
+ OST_gbXML_FixedWindow = -2008178, // 0xFFE15B8E
+ OST_gbXML_UndergroundCeiling = -2008177, // 0xFFE15B8F
+ OST_gbXML_UndergroundSlab = -2008176, // 0xFFE15B90
+ OST_gbXML_UndergroundWall = -2008175, // 0xFFE15B91
+ OST_gbXML_SurfaceAir = -2008174, // 0xFFE15B92
+ OST_gbXML_Ceiling = -2008173, // 0xFFE15B93
+ OST_gbXML_InteriorFloor = -2008172, // 0xFFE15B94
+ OST_gbXML_InteriorWall = -2008171, // 0xFFE15B95
+ OST_gbXML_SlabOnGrade = -2008170, // 0xFFE15B96
+ OST_gbXML_RaisedFloor = -2008169, // 0xFFE15B97
+ OST_gbXML_Roof = -2008168, // 0xFFE15B98
+ OST_gbXML_ExteriorWall = -2008167, // 0xFFE15B99
+ OST_DivisionProfile = -2008165, // 0xFFE15B9B
+ OST_SplitterProfile = -2008164, // 0xFFE15B9C
+ OST_PipeSegments = -2008163, // 0xFFE15B9D
+ OST_GraphicalWarning_OpenConnector = -2008162, // 0xFFE15B9E
+ OST_PlaceHolderPipes = -2008161, // 0xFFE15B9F
+ OST_PlaceHolderDucts = -2008160, // 0xFFE15BA0
+ OST_PipingSystem_Reference_Visibility = -2008159, // 0xFFE15BA1
+ OST_PipingSystem_Reference = -2008158, // 0xFFE15BA2
+ OST_DuctSystem_Reference_Visibility = -2008157, // 0xFFE15BA3
+ OST_DuctSystem_Reference = -2008156, // 0xFFE15BA4
+ OST_PipeInsulationsTags = -2008155, // 0xFFE15BA5
+ OST_DuctLiningsTags = -2008154, // 0xFFE15BA6
+ OST_DuctInsulationsTags = -2008153, // 0xFFE15BA7
+ OST_ElectricalInternalCircuits = -2008152, // 0xFFE15BA8
+ OST_PanelScheduleGraphics = -2008151, // 0xFFE15BA9
+ OST_CableTrayRun = -2008150, // 0xFFE15BAA
+ OST_ConduitRun = -2008149, // 0xFFE15BAB
+ OST_ParamElemElectricalLoadClassification = -2008148, // 0xFFE15BAC
+ OST_DataPanelScheduleTemplates = -2008147, // 0xFFE15BAD
+ OST_SwitchboardScheduleTemplates = -2008146, // 0xFFE15BAE
+ OST_BranchPanelScheduleTemplates = -2008145, // 0xFFE15BAF
+ OST_ConduitStandards = -2008144, // 0xFFE15BB0
+ OST_ElectricalLoadClassifications = -2008143, // 0xFFE15BB1
+ OST_ElectricalDemandFactorDefinitions = -2008142, // 0xFFE15BB2
+ OST_ConduitFittingCenterLine = -2008141, // 0xFFE15BB3
+ OST_CableTrayFittingCenterLine = -2008140, // 0xFFE15BB4
+ OST_ConduitCenterLine = -2008139, // 0xFFE15BB5
+ OST_ConduitDrop = -2008138, // 0xFFE15BB6
+ OST_ConduitRiseDrop = -2008137, // 0xFFE15BB7
+ OST_CableTrayCenterLine = -2008136, // 0xFFE15BB8
+ OST_CableTrayDrop = -2008135, // 0xFFE15BB9
+ OST_CableTrayRiseDrop = -2008134, // 0xFFE15BBA
+ OST_ConduitTags = -2008133, // 0xFFE15BBB
+ OST_Conduit = -2008132, // 0xFFE15BBC
+ OST_CableTrayTags = -2008131, // 0xFFE15BBD
+ OST_CableTray = -2008130, // 0xFFE15BBE
+ OST_ConduitFittingTags = -2008129, // 0xFFE15BBF
+ OST_ConduitFitting = -2008128, // 0xFFE15BC0
+ OST_CableTrayFittingTags = -2008127, // 0xFFE15BC1
+ OST_CableTrayFitting = -2008126, // 0xFFE15BC2
+ OST_RoutingPreferences = -2008125, // 0xFFE15BC3
+ OST_DuctLinings = -2008124, // 0xFFE15BC4
+ OST_DuctInsulations = -2008123, // 0xFFE15BC5
+ OST_PipeInsulations = -2008122, // 0xFFE15BC6
+ OST_HVAC_Load_Schedules = -2008121, // 0xFFE15BC7
+ OST_HVAC_Load_Building_Types = -2008120, // 0xFFE15BC8
+ OST_HVAC_Load_Space_Types = -2008119, // 0xFFE15BC9
+ OST_HVAC_Zones_Reference_Visibility = -2008118, // 0xFFE15BCA
+ OST_HVAC_Zones_InteriorFill_Visibility = -2008117, // 0xFFE15BCB
+ OST_HVAC_Zones_ColorFill = -2008116, // 0xFFE15BCC
+ OST_ZoneTags = -2008115, // 0xFFE15BCD
+ OST_LayoutPath_Bases = -2008114, // 0xFFE15BCE
+ OST_WireTemperatureRatings = -2008113, // 0xFFE15BCF
+ OST_WireInsulations = -2008112, // 0xFFE15BD0
+ OST_WireMaterials = -2008111, // 0xFFE15BD1
+ OST_HVAC_Zones_Reference = -2008110, // 0xFFE15BD2
+ OST_HVAC_Zones_InteriorFill = -2008109, // 0xFFE15BD3
+ OST_HVAC_Zones_Boundary = -2008108, // 0xFFE15BD4
+ OST_HVAC_Zones = -2008107, // 0xFFE15BD5
+ OST_Fluids = -2008106, // 0xFFE15BD6
+ OST_PipeSchedules = -2008105, // 0xFFE15BD7
+ OST_PipeMaterials = -2008104, // 0xFFE15BD8
+ OST_PipeConnections = -2008103, // 0xFFE15BD9
+ OST_EAConstructions = -2008102, // 0xFFE15BDA
+ OST_SwitchSystem = -2008101, // 0xFFE15BDB
+ OST_SprinklerTags = -2008100, // 0xFFE15BDC
+ OST_Sprinklers = -2008099, // 0xFFE15BDD
+ OST_RouteCurveBranch = -2008098, // 0xFFE15BDE
+ OST_RouteCurveMain = -2008097, // 0xFFE15BDF
+ OST_RouteCurve = -2008096, // 0xFFE15BE0
+ OST_GbXML_Opening = -2008095, // 0xFFE15BE1
+ OST_GbXML_SType_Underground = -2008094, // 0xFFE15BE2
+ OST_GbXML_SType_Shade = -2008093, // 0xFFE15BE3
+ OST_GbXML_SType_Exterior = -2008092, // 0xFFE15BE4
+ OST_GbXML_SType_Interior = -2008091, // 0xFFE15BE5
+ OST_GbXMLFaces = -2008090, // 0xFFE15BE6
+ OST_WireHomeRunArrows = -2008089, // 0xFFE15BE7
+ OST_LightingDeviceTags = -2008088, // 0xFFE15BE8
+ OST_LightingDevices = -2008087, // 0xFFE15BE9
+ OST_FireAlarmDeviceTags = -2008086, // 0xFFE15BEA
+ OST_FireAlarmDevices = -2008085, // 0xFFE15BEB
+ OST_DataDeviceTags = -2008084, // 0xFFE15BEC
+ OST_DataDevices = -2008083, // 0xFFE15BED
+ OST_CommunicationDeviceTags = -2008082, // 0xFFE15BEE
+ OST_CommunicationDevices = -2008081, // 0xFFE15BEF
+ OST_SecurityDeviceTags = -2008080, // 0xFFE15BF0
+ OST_SecurityDevices = -2008079, // 0xFFE15BF1
+ OST_NurseCallDeviceTags = -2008078, // 0xFFE15BF2
+ OST_NurseCallDevices = -2008077, // 0xFFE15BF3
+ OST_TelephoneDeviceTags = -2008076, // 0xFFE15BF4
+ OST_TelephoneDevices = -2008075, // 0xFFE15BF5
+ OST_WireTickMarks = -2008074, // 0xFFE15BF6
+ OST_PipeFittingInsulation = -2008073, // 0xFFE15BF7
+ OST_PipeFittingCenterLine = -2008072, // 0xFFE15BF8
+ OST_FlexPipeCurvesInsulation = -2008071, // 0xFFE15BF9
+ OST_PipeCurvesInsulation = -2008070, // 0xFFE15BFA
+ OST_PipeCurvesDrop = -2008069, // 0xFFE15BFB
+ OST_DuctFittingLining = -2008068, // 0xFFE15BFC
+ OST_DuctFittingInsulation = -2008067, // 0xFFE15BFD
+ OST_DuctFittingCenterLine = -2008066, // 0xFFE15BFE
+ OST_FlexDuctCurvesInsulation = -2008065, // 0xFFE15BFF
+ OST_DuctCurvesLining = -2008064, // 0xFFE15C00
+ OST_DuctCurvesInsulation = -2008063, // 0xFFE15C01
+ OST_DuctCurvesDrop = -2008062, // 0xFFE15C02
+ OST_DuctFittingTags = -2008061, // 0xFFE15C03
+ OST_PipeFittingTags = -2008060, // 0xFFE15C04
+ OST_PipeColorFills = -2008059, // 0xFFE15C05
+ OST_PipeColorFillLegends = -2008058, // 0xFFE15C06
+ OST_WireTags = -2008057, // 0xFFE15C07
+ OST_PipeAccessoryTags = -2008056, // 0xFFE15C08
+ OST_PipeAccessory = -2008055, // 0xFFE15C09
+ OST_PipeCurvesRiseDrop = -2008054, // 0xFFE15C0A
+ OST_FlexPipeCurvesPattern = -2008053, // 0xFFE15C0B
+ OST_FlexPipeCurvesContour = -2008052, // 0xFFE15C0C
+ OST_FlexPipeCurvesCenterLine = -2008051, // 0xFFE15C0D
+ OST_FlexPipeCurves = -2008050, // 0xFFE15C0E
+ OST_PipeFitting = -2008049, // 0xFFE15C0F
+ OST_FlexPipeTags = -2008048, // 0xFFE15C10
+ OST_PipeTags = -2008047, // 0xFFE15C11
+ OST_PipeCurvesContour = -2008046, // 0xFFE15C12
+ OST_PipeCurvesCenterLine = -2008045, // 0xFFE15C13
+ OST_PipeCurves = -2008044, // 0xFFE15C14
+ OST_PipingSystem = -2008043, // 0xFFE15C15
+ OST_ElectricalDemandFactor = -2008042, // 0xFFE15C16
+ OST_ElecDistributionSys = -2008041, // 0xFFE15C17
+ OST_ElectricalVoltage = -2008040, // 0xFFE15C18
+ OST_Wire = -2008039, // 0xFFE15C19
+ OST_ElectricalCircuitTags = -2008038, // 0xFFE15C1A
+ OST_ElectricalCircuit = -2008037, // 0xFFE15C1B
+ OST_DuctCurvesRiseDrop = -2008036, // 0xFFE15C1C
+ OST_FlexDuctCurvesPattern = -2008023, // 0xFFE15C29
+ OST_FlexDuctCurvesContour = -2008022, // 0xFFE15C2A
+ OST_FlexDuctCurvesCenterLine = -2008021, // 0xFFE15C2B
+ OST_FlexDuctCurves = -2008020, // 0xFFE15C2C
+ OST_DuctAccessoryTags = -2008017, // 0xFFE15C2F
+ OST_DuctAccessory = -2008016, // 0xFFE15C30
+ OST_DuctSystem = -2008015, // 0xFFE15C31
+ OST_DuctTerminalTags = -2008014, // 0xFFE15C32
+ OST_DuctTerminal = -2008013, // 0xFFE15C33
+ OST_DuctFitting = -2008010, // 0xFFE15C36
+ OST_DuctColorFills = -2008005, // 0xFFE15C3B
+ OST_FlexDuctTags = -2008004, // 0xFFE15C3C
+ OST_DuctTags = -2008003, // 0xFFE15C3D
+ OST_DuctCurvesContour = -2008002, // 0xFFE15C3E
+ OST_DuctCurvesCenterLine = -2008001, // 0xFFE15C3F
+ OST_DuctCurves = -2008000, // 0xFFE15C40
+ OST_DuctColorFillLegends = -2007004, // 0xFFE16024
+ OST_ConnectorElemZAxis = -2007003, // 0xFFE16025
+ OST_ConnectorElemYAxis = -2007002, // 0xFFE16026
+ OST_ConnectorElemXAxis = -2007001, // 0xFFE16027
+ OST_ConnectorElem = -2007000, // 0xFFE16028
+ OST_VibrationManagementTags = -2006282, // 0xFFE162F6
+ OST_BridgeFramingTrussTags = -2006281, // 0xFFE162F7
+ OST_BridgeFramingDiaphragmTags = -2006279, // 0xFFE162F9
+ OST_BridgeFramingCrossBracingTags = -2006278, // 0xFFE162FA
+ OST_StructuralTendonTags = -2006276, // 0xFFE162FC
+ OST_StructuralTendonHiddenLines = -2006275, // 0xFFE162FD
+ OST_StructuralTendons = -2006274, // 0xFFE162FE
+ OST_ExpansionJointTags = -2006273, // 0xFFE162FF
+ OST_ExpansionJointHiddenLines = -2006272, // 0xFFE16300
+ OST_ExpansionJoints = -2006271, // 0xFFE16301
+ OST_VibrationIsolatorTags = -2006266, // 0xFFE16306
+ OST_VibrationIsolators = -2006265, // 0xFFE16307
+ OST_VibrationDamperTags = -2006264, // 0xFFE16308
+ OST_VibrationDampers = -2006263, // 0xFFE16309
+ OST_VibrationManagementHiddenLines = -2006262, // 0xFFE1630A
+ OST_VibrationManagement = -2006261, // 0xFFE1630B
+ OST_BridgeFramingTrusses = -2006248, // 0xFFE16318
+ OST_BridgeFramingDiaphragms = -2006246, // 0xFFE1631A
+ OST_BridgeFramingCrossBracing = -2006245, // 0xFFE1631B
+ OST_BridgeFramingTags = -2006243, // 0xFFE1631D
+ OST_BridgeFramingHiddenLines = -2006242, // 0xFFE1631E
+ OST_BridgeFraming = -2006241, // 0xFFE1631F
+ OST_PierWallTags = -2006230, // 0xFFE1632A
+ OST_PierWalls = -2006229, // 0xFFE1632B
+ OST_PierPileTags = -2006226, // 0xFFE1632E
+ OST_PierPiles = -2006225, // 0xFFE1632F
+ OST_PierColumnTags = -2006222, // 0xFFE16332
+ OST_PierColumns = -2006221, // 0xFFE16333
+ OST_PierCapTags = -2006220, // 0xFFE16334
+ OST_PierCaps = -2006219, // 0xFFE16335
+ OST_ApproachSlabTags = -2006211, // 0xFFE1633D
+ OST_AbutmentWallTags = -2006210, // 0xFFE1633E
+ OST_AbutmentPileTags = -2006209, // 0xFFE1633F
+ OST_AbutmentFoundationTags = -2006208, // 0xFFE16340
+ OST_ApproachSlabs = -2006205, // 0xFFE16343
+ OST_AbutmentWalls = -2006204, // 0xFFE16344
+ OST_AbutmentPiles = -2006203, // 0xFFE16345
+ OST_AbutmentFoundations = -2006202, // 0xFFE16346
+ OST_BridgeBearingTags = -2006178, // 0xFFE1635E
+ OST_BridgeGirderTags = -2006177, // 0xFFE1635F
+ OST_BridgeFoundationTags = -2006176, // 0xFFE16360
+ OST_BridgeDeckTags = -2006175, // 0xFFE16361
+ OST_BridgeArchTags = -2006174, // 0xFFE16362
+ OST_BridgeCableTags = -2006173, // 0xFFE16363
+ OST_BridgeTowerTags = -2006172, // 0xFFE16364
+ OST_BridgePierTags = -2006171, // 0xFFE16365
+ OST_BridgeAbutmentTags = -2006170, // 0xFFE16366
+ OST_BridgeBearingHiddenLines = -2006158, // 0xFFE16372
+ OST_BridgeGirderHiddenLines2021_Deprecated = -2006157, // 0xFFE16373
+ OST_BridgeFoundationHiddenLines2021_Deprecated = -2006156, // 0xFFE16374
+ OST_BridgeDeckHiddenLines = -2006155, // 0xFFE16375
+ OST_BridgeArchHiddenLines2021_Deprecated = -2006154, // 0xFFE16376
+ OST_BridgeCableHiddenLines2021_Deprecated = -2006153, // 0xFFE16377
+ OST_BridgeTowerHiddenLines2021_Deprecated = -2006152, // 0xFFE16378
+ OST_BridgePierHiddenLines = -2006151, // 0xFFE16379
+ OST_BridgeAbutmentHiddenLines = -2006150, // 0xFFE1637A
+ OST_BridgeBearings = -2006138, // 0xFFE16386
+ OST_BridgeGirders = -2006137, // 0xFFE16387
+ OST_BridgeFoundations = -2006136, // 0xFFE16388
+ OST_BridgeDecks = -2006135, // 0xFFE16389
+ OST_BridgeArches = -2006134, // 0xFFE1638A
+ OST_BridgeCables = -2006133, // 0xFFE1638B
+ OST_BridgeTowers = -2006132, // 0xFFE1638C
+ OST_BridgePiers = -2006131, // 0xFFE1638D
+ OST_BridgeAbutments = -2006130, // 0xFFE1638E
+ OST_DesignOptions = -2006114, // 0xFFE1639E
+ OST_DesignOptionSets = -2006112, // 0xFFE163A0
+ OST_StructuralBracePlanReps = -2006110, // 0xFFE163A2
+ OST_StructConnectionSymbols = -2006100, // 0xFFE163AC
+ OST_StructuralAnnotations = -2006090, // 0xFFE163B6
+ OST_RevisionCloudTags = -2006080, // 0xFFE163C0
+ OST_RevisionNumberingSequences = -2006071, // 0xFFE163C9
+ OST_Revisions = -2006070, // 0xFFE163CA
+ OST_RevisionClouds = -2006060, // 0xFFE163D4
+ OST_EditCutProfile = -2006050, // 0xFFE163DE
+ OST_ElevationMarks = -2006045, // 0xFFE163E3
+ OST_GridHeads = -2006040, // 0xFFE163E8
+ OST_LevelHeads = -2006020, // 0xFFE163FC
+ OST_DecalType = -2006002, // 0xFFE1640E
+ OST_DecalElement = -2006001, // 0xFFE1640F
+ OST_VolumeOfInterest = -2006000, // 0xFFE16410
+ OST_BoundaryConditions = -2005301, // 0xFFE166CB
+ OST_InternalAreaLoadTags = -2005255, // 0xFFE166F9
+ OST_InternalLineLoadTags = -2005254, // 0xFFE166FA
+ OST_InternalPointLoadTags = -2005253, // 0xFFE166FB
+ OST_AreaLoadTags = -2005252, // 0xFFE166FC
+ OST_LineLoadTags = -2005251, // 0xFFE166FD
+ OST_PointLoadTags = -2005250, // 0xFFE166FE
+ OST_LoadCasesSeismic = -2005218, // 0xFFE1671E
+ OST_LoadCasesTemperature = -2005217, // 0xFFE1671F
+ OST_LoadCasesAccidental = -2005216, // 0xFFE16720
+ OST_LoadCasesRoofLive = -2005215, // 0xFFE16721
+ OST_LoadCasesSnow = -2005214, // 0xFFE16722
+ OST_LoadCasesWind = -2005213, // 0xFFE16723
+ OST_LoadCasesLive = -2005212, // 0xFFE16724
+ OST_LoadCasesDead = -2005211, // 0xFFE16725
+ OST_LoadCases = -2005210, // 0xFFE16726
+ OST_InternalAreaLoads = -2005207, // 0xFFE16729
+ OST_InternalLineLoads = -2005206, // 0xFFE1672A
+ OST_InternalPointLoads = -2005205, // 0xFFE1672B
+ OST_InternalLoads = -2005204, // 0xFFE1672C
+ OST_AreaLoads = -2005203, // 0xFFE1672D
+ OST_LineLoads = -2005202, // 0xFFE1672E
+ OST_PointLoads = -2005201, // 0xFFE1672F
+ OST_Loads = -2005200, // 0xFFE16730
+ OST_BeamSystemTags = -2005130, // 0xFFE16776
+ OST_FootingSpanDirectionSymbol = -2005111, // 0xFFE16789
+ OST_SpanDirectionSymbol = -2005110, // 0xFFE1678A
+ OST_SpotSlopesSymbols = -2005102, // 0xFFE16792
+ OST_SpotCoordinateSymbols = -2005101, // 0xFFE16793
+ OST_SpotElevSymbols = -2005100, // 0xFFE16794
+ OST_MultiLeaderTag = -2005033, // 0xFFE167D7
+ OST_CurtainWallMullionTags = -2005032, // 0xFFE167D8
+ OST_StructuralConnectionHandlerTags_Deprecated = -2005031, // 0xFFE167D9
+ OST_TrussTags = -2005030, // 0xFFE167DA
+ OST_KeynoteTags = -2005029, // 0xFFE167DB
+ OST_DetailComponentTags = -2005028, // 0xFFE167DC
+ OST_MaterialTags = -2005027, // 0xFFE167DD
+ OST_FloorTags = -2005026, // 0xFFE167DE
+ OST_CurtaSystemTags = -2005025, // 0xFFE167DF
+ OST_HostFinTags = -2005024, // 0xFFE167E0
+ OST_StairsTags = -2005023, // 0xFFE167E1
+ OST_MultiCategoryTags = -2005022, // 0xFFE167E2
+ OST_PlantingTags = -2005021, // 0xFFE167E3
+ OST_AreaTags = -2005020, // 0xFFE167E4
+ OST_StructuralFoundationTags = -2005019, // 0xFFE167E5
+ OST_StructuralColumnTags = -2005018, // 0xFFE167E6
+ OST_ParkingTags = -2005017, // 0xFFE167E7
+ OST_SiteTags = -2005016, // 0xFFE167E8
+ OST_StructuralFramingTags = -2005015, // 0xFFE167E9
+ OST_SpecialityEquipmentTags = -2005014, // 0xFFE167EA
+ OST_GenericModelTags = -2005013, // 0xFFE167EB
+ OST_CurtainWallPanelTags = -2005012, // 0xFFE167EC
+ OST_WallTags = -2005011, // 0xFFE167ED
+ OST_PlumbingFixtureTags = -2005010, // 0xFFE167EE
+ OST_MechanicalEquipmentTags = -2005009, // 0xFFE167EF
+ OST_LightingFixtureTags = -2005008, // 0xFFE167F0
+ OST_FurnitureSystemTags = -2005007, // 0xFFE167F1
+ OST_FurnitureTags = -2005006, // 0xFFE167F2
+ OST_ElectricalFixtureTags = -2005004, // 0xFFE167F4
+ OST_ElectricalEquipmentTags = -2005003, // 0xFFE167F5
+ OST_CeilingTags = -2005002, // 0xFFE167F6
+ OST_CaseworkTags = -2005001, // 0xFFE167F7
+ OST_Tags = -2005000, // 0xFFE167F8
+ OST_MEPSpaceColorFill = -2003605, // 0xFFE16D6B
+ OST_MEPSpaceReference = -2003604, // 0xFFE16D6C
+ OST_MEPSpaceInteriorFill = -2003603, // 0xFFE16D6D
+ OST_MEPSpaceReferenceVisibility = -2003602, // 0xFFE16D6E
+ OST_MEPSpaceInteriorFillVisibility = -2003601, // 0xFFE16D6F
+ OST_MEPSpaces = -2003600, // 0xFFE16D70
+ OST_StackedWalls = -2003500, // 0xFFE16DD4
+ OST_MassGlazingAll = -2003423, // 0xFFE16E21
+ OST_MassFloorsAll = -2003422, // 0xFFE16E22
+ OST_MassWallsAll = -2003421, // 0xFFE16E23
+ OST_MassExteriorWallUnderground = -2003420, // 0xFFE16E24
+ OST_MassSlab = -2003419, // 0xFFE16E25
+ OST_MassShade = -2003418, // 0xFFE16E26
+ OST_MassOpening = -2003417, // 0xFFE16E27
+ OST_MassSkylights = -2003416, // 0xFFE16E28
+ OST_MassGlazing = -2003415, // 0xFFE16E29
+ OST_MassRoof = -2003414, // 0xFFE16E2A
+ OST_MassExteriorWall = -2003413, // 0xFFE16E2B
+ OST_MassInteriorWall = -2003412, // 0xFFE16E2C
+ OST_MassZone = -2003411, // 0xFFE16E2D
+ OST_MassAreaFaceTags = -2003410, // 0xFFE16E2E
+ OST_HostTemplate = -2003409, // 0xFFE16E2F
+ OST_MassFaceSplitter = -2003408, // 0xFFE16E30
+ OST_MassCutter = -2003407, // 0xFFE16E31
+ OST_ZoningEnvelope = -2003406, // 0xFFE16E32
+ OST_MassTags = -2003405, // 0xFFE16E33
+ OST_MassForm = -2003404, // 0xFFE16E34
+ OST_MassFloor = -2003403, // 0xFFE16E35
+ OST_Mass = -2003400, // 0xFFE16E38
+ OST_DividedSurface_DiscardedDivisionLines = -2003333, // 0xFFE16E7B
+ OST_DividedSurfaceBelt = -2003332, // 0xFFE16E7C
+ OST_TilePatterns = -2003331, // 0xFFE16E7D
+ OST_AlwaysExcludedInAllViews = -2003330, // 0xFFE16E7E
+ OST_DividedSurface_TransparentFace = -2003329, // 0xFFE16E7F
+ OST_DividedSurface_PreDividedSurface = -2003328, // 0xFFE16E80
+ OST_DividedSurface_PatternFill = -2003327, // 0xFFE16E81
+ OST_DividedSurface_PatternLines = -2003326, // 0xFFE16E82
+ OST_DividedSurface_Gridlines = -2003325, // 0xFFE16E83
+ OST_DividedSurface_Nodes = -2003324, // 0xFFE16E84
+ OST_DividedSurface = -2003323, // 0xFFE16E85
+ OST_RepeatingDetailLines = -2003321, // 0xFFE16E87
+ OST_RampsDownArrow = -2003308, // 0xFFE16E94
+ OST_RampsUpArrow = -2003307, // 0xFFE16E95
+ OST_RampsDownText = -2003306, // 0xFFE16E96
+ OST_RampsUpText = -2003305, // 0xFFE16E97
+ OST_RampsStringerAboveCut = -2003304, // 0xFFE16E98
+ OST_RampsStringer = -2003303, // 0xFFE16E99
+ OST_RampsAboveCut = -2003302, // 0xFFE16E9A
+ OST_RampsIncomplete = -2003301, // 0xFFE16E9B
+ OST_TrussDummy = -2003300, // 0xFFE16E9C
+ OST_ZoneSchemes = -2003225, // 0xFFE16EE7
+ OST_AreaSchemes = -2003201, // 0xFFE16EFF
+ OST_Areas = -2003200, // 0xFFE16F00
+ OST_ProjectInformation = -2003101, // 0xFFE16F63
+ OST_Sheets = -2003100, // 0xFFE16F64
+ OST_ProfileFamilies = -2003000, // 0xFFE16FC8
+ OST_DetailComponents = -2002000, // 0xFFE173B0
+ OST_RoofSoffit = -2001393, // 0xFFE1760F
+ OST_EdgeSlab = -2001392, // 0xFFE17610
+ OST_Gutter = -2001391, // 0xFFE17611
+ OST_Fascia = -2001390, // 0xFFE17612
+ OST_Entourage = -2001370, // 0xFFE17626
+ OST_Planting = -2001360, // 0xFFE17630
+ OST_Blocks = -2001359, // 0xFFE17631
+ OST_StructuralStiffenerHiddenLines = -2001358, // 0xFFE17632
+ OST_StructuralColumnLocationLine = -2001357, // 0xFFE17633
+ OST_StructuralFramingLocationLine = -2001356, // 0xFFE17634
+ OST_StructuralStiffenerTags = -2001355, // 0xFFE17635
+ OST_StructuralStiffener = -2001354, // 0xFFE17636
+ OST_FootingAnalyticalGeometry = -2001353, // 0xFFE17637
+ OST_RvtLinks = -2001352, // 0xFFE17638
+ OST_Automatic = -2001351, // 0xFFE17639
+ OST_SpecialityEquipment = -2001350, // 0xFFE1763A
+ OST_ColumnAnalyticalRigidLinks = -2001344, // 0xFFE17640
+ OST_SecondaryTopographyContours = -2001343, // 0xFFE17641
+ OST_TopographyContours = -2001342, // 0xFFE17642
+ OST_TopographySurface = -2001341, // 0xFFE17643
+ OST_Topography = -2001340, // 0xFFE17644
+ OST_TopographyLink = -2001339, // 0xFFE17645
+ OST_StructuralTruss = -2001336, // 0xFFE17648
+ OST_StructuralColumnStickSymbols = -2001335, // 0xFFE17649
+ OST_HiddenStructuralColumnLines = -2001334, // 0xFFE1764A
+ OST_AnalyticalRigidLinks = -2001333, // 0xFFE1764B
+ OST_ColumnAnalyticalGeometry = -2001332, // 0xFFE1764C
+ OST_FramingAnalyticalGeometry = -2001331, // 0xFFE1764D
+ OST_StructuralColumns = -2001330, // 0xFFE1764E
+ OST_HiddenStructuralFramingLines = -2001329, // 0xFFE1764F
+ OST_KickerBracing = -2001328, // 0xFFE17650
+ OST_StructuralFramingSystem = -2001327, // 0xFFE17651
+ OST_VerticalBracing = -2001326, // 0xFFE17652
+ OST_HorizontalBracing = -2001325, // 0xFFE17653
+ OST_Purlin = -2001324, // 0xFFE17654
+ OST_Joist = -2001323, // 0xFFE17655
+ OST_Girder = -2001322, // 0xFFE17656
+ OST_StructuralFramingOther = -2001321, // 0xFFE17657
+ OST_StructuralFraming = -2001320, // 0xFFE17658
+ OST_HiddenStructuralFoundationLines = -2001302, // 0xFFE1766A
+ OST_StructuralFoundation = -2001300, // 0xFFE1766C
+ OST_LinkBasePoint = -2001276, // 0xFFE17684
+ OST_BasePointAxisZ = -2001275, // 0xFFE17685
+ OST_BasePointAxisY = -2001274, // 0xFFE17686
+ OST_BasePointAxisX = -2001273, // 0xFFE17687
+ OST_SharedBasePoint = -2001272, // 0xFFE17688
+ OST_ProjectBasePoint = -2001271, // 0xFFE17689
+ OST_SiteRegion = -2001270, // 0xFFE1768A
+ OST_SitePropertyLineSegmentTags = -2001269, // 0xFFE1768B
+ OST_SitePropertyLineSegment = -2001268, // 0xFFE1768C
+ OST_SitePropertyTags = -2001267, // 0xFFE1768D
+ OST_SitePointBoundary = -2001266, // 0xFFE1768E
+ OST_SiteProperty = -2001265, // 0xFFE1768F
+ OST_BuildingPad = -2001263, // 0xFFE17691
+ OST_SitePoint = -2001262, // 0xFFE17692
+ OST_SiteSurface = -2001261, // 0xFFE17693
+ OST_Site = -2001260, // 0xFFE17694
+ OST_Sewer = -2001240, // 0xFFE176A8
+ OST_RoadTags = -2001221, // 0xFFE176BB
+ OST_Roads = -2001220, // 0xFFE176BC
+ OST_Property = -2001200, // 0xFFE176D0
+ OST_Parking = -2001180, // 0xFFE176E4
+ OST_PlumbingFixtures = -2001160, // 0xFFE176F8
+ OST_MechanicalEquipment = -2001140, // 0xFFE1770C
+ OST_LightingFixtureSource = -2001121, // 0xFFE1771F
+ OST_LightingFixtures = -2001120, // 0xFFE17720
+ OST_FurnitureSystems = -2001100, // 0xFFE17734
+ OST_ElectricalLoadSet = -2001098, // 0xFFE17736
+ OST_ToposolidLink = -2001097, // 0xFFE17737
+ OST_ElectricalAnalyticalFeeder = -2001096, // 0xFFE17738
+ OST_ToposolidOpening = -2001095, // 0xFFE17739
+ OST_ToposolidTags = -2001094, // 0xFFE1773A
+ OST_ToposolidInsulation = -2001093, // 0xFFE1773B
+ OST_ToposolidSurfacePattern = -2001092, // 0xFFE1773C
+ OST_ToposolidFinish2 = -2001091, // 0xFFE1773D
+ OST_ToposolidFinish1 = -2001090, // 0xFFE1773E
+ OST_ToposolidSubstrate = -2001089, // 0xFFE1773F
+ OST_ToposolidStructure = -2001088, // 0xFFE17740
+ OST_ToposolidMembrane = -2001087, // 0xFFE17741
+ OST_ToposolidCutPattern = -2001086, // 0xFFE17742
+ OST_ToposolidDefault = -2001085, // 0xFFE17743
+ OST_ToposolidSplitLines = -2001084, // 0xFFE17744
+ OST_ToposolidFoldingLines = -2001083, // 0xFFE17745
+ OST_ToposolidSecondaryContours = -2001082, // 0xFFE17746
+ OST_ToposolidContours = -2001081, // 0xFFE17747
+ OST_ToposolidHiddenLines = -2001080, // 0xFFE17748
+ OST_Toposolid = -2001079, // 0xFFE17749
+ OST_ELECTRICAL_AreaBasedLoads_Tags = -2001078, // 0xFFE1774A
+ OST_ElectricalAnalyticalTransformer = -2001077, // 0xFFE1774B
+ OST_FloorsSplitLines = -2001076, // 0xFFE1774C
+ OST_AnalyticalMemberCrossSection = -2001075, // 0xFFE1774D
+ OST_RvtLinksTags = -2001074, // 0xFFE1774E
+ OST_ModelGroupTags = -2001073, // 0xFFE1774F
+ OST_WallSweepTags = -2001072, // 0xFFE17750
+ OST_TopRailTags = -2001071, // 0xFFE17751
+ OST_SlabEdgeTags = -2001070, // 0xFFE17752
+ OST_RoofSoffitTags = -2001069, // 0xFFE17753
+ OST_RampTags = -2001068, // 0xFFE17754
+ OST_PadTags = -2001067, // 0xFFE17755
+ OST_HandrailTags = -2001066, // 0xFFE17756
+ OST_GutterTags = -2001065, // 0xFFE17757
+ OST_EntourageTags = -2001064, // 0xFFE17758
+ OST_ColumnTags = -2001063, // 0xFFE17759
+ OST_FasciaTags = -2001062, // 0xFFE1775A
+ OST_SignageTags = -2001061, // 0xFFE1775B
+ OST_ElectricalFixtures = -2001060, // 0xFFE1775C
+ OST_SignageHiddenLines = -2001059, // 0xFFE1775D
+ OST_Signage = -2001058, // 0xFFE1775E
+ OST_AudioVisualDeviceTags = -2001057, // 0xFFE1775F
+ OST_AudioVisualDevicesHiddenLines = -2001056, // 0xFFE17760
+ OST_AudioVisualDevices = -2001055, // 0xFFE17761
+ OST_VerticalCirculationTags = -2001054, // 0xFFE17762
+ OST_VerticalCirculationHiddenLines = -2001053, // 0xFFE17763
+ OST_VerticalCirculation = -2001052, // 0xFFE17764
+ OST_FireProtectionTags = -2001051, // 0xFFE17765
+ OST_FireProtectionHiddenLines = -2001050, // 0xFFE17766
+ OST_FireProtection = -2001049, // 0xFFE17767
+ OST_MedicalEquipmentTags = -2001048, // 0xFFE17768
+ OST_MedicalEquipmentHiddenLines = -2001047, // 0xFFE17769
+ OST_MedicalEquipment = -2001046, // 0xFFE1776A
+ OST_FoodServiceEquipmentTags = -2001045, // 0xFFE1776B
+ OST_FoodServiceEquipmentHiddenLines = -2001044, // 0xFFE1776C
+ OST_FoodServiceEquipment = -2001043, // 0xFFE1776D
+ OST_TemporaryStructureTags = -2001042, // 0xFFE1776E
+ OST_TemporaryStructureHiddenLines = -2001041, // 0xFFE1776F
+ OST_ElectricalEquipment = -2001040, // 0xFFE17770
+ OST_TemporaryStructure = -2001039, // 0xFFE17771
+ OST_HardscapeTags = -2001038, // 0xFFE17772
+ OST_HardscapeHiddenLines = -2001037, // 0xFFE17773
+ OST_Hardscape = -2001036, // 0xFFE17774
+ OST_WallCoreLayer = -2001035, // 0xFFE17775
+ OST_WallNonCoreLayer = -2001034, // 0xFFE17776
+ OST_MEPLoadAreaSeparationLines = -2001033, // 0xFFE17777
+ OST_MEPLoadAreaReferenceVisibility = -2001031, // 0xFFE17779
+ OST_MEPLoadAreaInteriorFillVisibility = -2001030, // 0xFFE1777A
+ OST_MEPLoadAreaReference = -2001029, // 0xFFE1777B
+ OST_MEPLoadAreaInteriorFill = -2001028, // 0xFFE1777C
+ OST_MEPLoadAreaColorFill = -2001027, // 0xFFE1777D
+ OST_ElectricalPowerSource = -2001026, // 0xFFE1777E
+ OST_MEPLoadAreaTags_OBSOLETE = -2001025, // 0xFFE1777F
+ OST_MEPLoadAreas = -2001024, // 0xFFE17780
+ OST_MEPAnalyticalTransferSwitch = -2001023, // 0xFFE17781
+ OST_OBSOLETE_MEPAnalyticalElectricalBranch = -2001022, // 0xFFE17782
+ OST_MEPAnalyticalBus = -2001021, // 0xFFE17783
+ OST_ElectricalLoadZoneInstance = -2001020, // 0xFFE17784
+ OST_ElectricalLoadZoneType = -2001019, // 0xFFE17785
+ OST_ElectricalZoneEquipment_Obsolete = -2001018, // 0xFFE17786
+ OST_AlignmentStationLabels = -2001017, // 0xFFE17787
+ OST_AlignmentStationLabelSets = -2001016, // 0xFFE17788
+ OST_AlignmentsTags = -2001015, // 0xFFE17789
+ OST_MinorStations_Deprecated = -2001014, // 0xFFE1778A
+ OST_MajorStations_Deprecated = -2001013, // 0xFFE1778B
+ OST_Alignments = -2001012, // 0xFFE1778C
+ OST_ElectricalCircuitNaming = -2001011, // 0xFFE1778D
+ OST_ZoneEquipment = -2001010, // 0xFFE1778E
+ OST_MEPAnalyticalWaterLoop = -2001009, // 0xFFE1778F
+ OST_MEPAnalyticalAirLoop = -2001008, // 0xFFE17790
+ OST_MEPSystemZoneTags = -2001007, // 0xFFE17791
+ OST_MEPSystemZoneReferenceLinesVisibility = -2001006, // 0xFFE17792
+ OST_MEPSystemZoneInteriorFillVisibility = -2001005, // 0xFFE17793
+ OST_MEPSystemZoneReferenceLines = -2001004, // 0xFFE17794
+ OST_MEPSystemZoneInteriorFill = -2001003, // 0xFFE17795
+ OST_MEPSystemZoneBoundary = -2001002, // 0xFFE17796
+ OST_MEPSystemZone = -2001001, // 0xFFE17797
+ OST_Casework = -2001000, // 0xFFE17798
+ OST_ArcWallRectOpening = -2000999, // 0xFFE17799
+ OST_DormerOpeningIncomplete = -2000998, // 0xFFE1779A
+ OST_SWallRectOpening = -2000997, // 0xFFE1779B
+ OST_ShaftOpening = -2000996, // 0xFFE1779C
+ OST_StructuralFramingOpening = -2000995, // 0xFFE1779D
+ OST_ColumnOpening = -2000994, // 0xFFE1779E
+ OST_RiseDropSymbols = -2000989, // 0xFFE177A3
+ OST_PipeHydronicSeparationSymbols = -2000988, // 0xFFE177A4
+ OST_MechanicalEquipmentSetBoundaryLines = -2000987, // 0xFFE177A5
+ OST_MechanicalEquipmentSetTags = -2000986, // 0xFFE177A6
+ OST_MechanicalEquipmentSet = -2000985, // 0xFFE177A7
+ OST_AnalyticalPipeConnectionLineSymbol = -2000984, // 0xFFE177A8
+ OST_AnalyticalPipeConnections = -2000983, // 0xFFE177A9
+ OST_Coordination_Model = -2000982, // 0xFFE177AA
+ OST_MultistoryStairs = -2000980, // 0xFFE177AC
+ OST_HiddenStructuralConnectionLines_Deprecated = -2000979, // 0xFFE177AD
+ OST_StructuralConnectionHandler_Deprecated = -2000978, // 0xFFE177AE
+ OST_CoordinateSystem = -2000977, // 0xFFE177AF
+ OST_FndSlabLocalCoordSys = -2000976, // 0xFFE177B0
+ OST_FloorLocalCoordSys = -2000975, // 0xFFE177B1
+ OST_WallLocalCoordSys = -2000974, // 0xFFE177B2
+ OST_BraceLocalCoordSys = -2000973, // 0xFFE177B3
+ OST_ColumnLocalCoordSys = -2000972, // 0xFFE177B4
+ OST_BeamLocalCoordSys = -2000971, // 0xFFE177B5
+ OST_MultiReferenceAnnotations = -2000970, // 0xFFE177B6
+ OST_DSR_LeaderTickMarkStyleId = -2000969, // 0xFFE177B7
+ OST_DSR_InteriorTickMarkStyleId = -2000968, // 0xFFE177B8
+ OST_DSR_ArrowHeadStyleId = -2000967, // 0xFFE177B9
+ OST_DSR_CenterlineTickMarkStyleId = -2000966, // 0xFFE177BA
+ OST_DSR_CenterlinePatternCatId = -2000965, // 0xFFE177BB
+ OST_DSR_DimStyleHeavyEndCategoryId = -2000964, // 0xFFE177BC
+ OST_DSR_DimStyleHeavyEndCatId = -2000963, // 0xFFE177BD
+ OST_DSR_DimStyleTickCategoryId = -2000962, // 0xFFE177BE
+ OST_DSR_LineAndTextAttrFontId = -2000961, // 0xFFE177BF
+ OST_DSR_LineAndTextAttrCategoryId = -2000960, // 0xFFE177C0
+ OST_AnalyticalOpeningTags = -2000958, // 0xFFE177C2
+ OST_AnalyticalPanelTags = -2000957, // 0xFFE177C3
+ OST_NodeAnalyticalTags = -2000956, // 0xFFE177C4
+ OST_LinkAnalyticalTags = -2000955, // 0xFFE177C5
+ OST_RailingRailPathExtensionLines = -2000954, // 0xFFE177C6
+ OST_RailingRailPathLines = -2000953, // 0xFFE177C7
+ OST_StairsSupports = -2000952, // 0xFFE177C8
+ OST_RailingHandRailAboveCut = -2000951, // 0xFFE177C9
+ OST_RailingTopRailAboveCut = -2000950, // 0xFFE177CA
+ OST_RailingTermination = -2000949, // 0xFFE177CB
+ OST_RailingSupport = -2000948, // 0xFFE177CC
+ OST_RailingHandRail = -2000947, // 0xFFE177CD
+ OST_RailingTopRail = -2000946, // 0xFFE177CE
+ OST_StairsSketchPathLines = -2000945, // 0xFFE177CF
+ OST_StairsTriserNumbers = -2000944, // 0xFFE177D0
+ OST_StairsTriserTags = -2000943, // 0xFFE177D1
+ OST_StairsSupportTags = -2000942, // 0xFFE177D2
+ OST_StairsLandingTags = -2000941, // 0xFFE177D3
+ OST_StairsRunTags = -2000940, // 0xFFE177D4
+ OST_StairsPathsAboveCut = -2000939, // 0xFFE177D5
+ OST_StairsPaths = -2000938, // 0xFFE177D6
+ OST_StairsRiserLinesAboveCut = -2000937, // 0xFFE177D7
+ OST_StairsRiserLines = -2000936, // 0xFFE177D8
+ OST_StairsOutlinesAboveCut = -2000935, // 0xFFE177D9
+ OST_StairsOutlines = -2000934, // 0xFFE177DA
+ OST_StairsNosingLinesAboveCut = -2000933, // 0xFFE177DB
+ OST_StairsNosingLines = -2000932, // 0xFFE177DC
+ OST_StairsCutMarksAboveCut = -2000931, // 0xFFE177DD
+ OST_StairsCutMarks = -2000930, // 0xFFE177DE
+ OST_ComponentRepeaterSlot = -2000928, // 0xFFE177E0
+ OST_ComponentRepeater = -2000927, // 0xFFE177E1
+ OST_DividedPath = -2000926, // 0xFFE177E2
+ OST_IOSRoomCalculationPoint = -2000925, // 0xFFE177E3
+ OST_PropertySet = -2000924, // 0xFFE177E4
+ OST_AppearanceAsset = -2000923, // 0xFFE177E5
+ OST_StairStringer2012_Deprecated = -2000922, // 0xFFE177E6
+ OST_StairsTrisers = -2000921, // 0xFFE177E7
+ OST_StairsLandings = -2000920, // 0xFFE177E8
+ OST_StairsRuns = -2000919, // 0xFFE177E9
+ OST_Stair2012_Deprecated = -2000918, // 0xFFE177EA
+ OST_RailingSystemTags = -2000917, // 0xFFE177EB
+ OST_RailingSystemTransition = -2000916, // 0xFFE177EC
+ OST_RailingSystemTermination = -2000915, // 0xFFE177ED
+ OST_RailingSystemRail = -2000914, // 0xFFE177EE
+ OST_RailingSystemTopRail = -2000913, // 0xFFE177EF
+ OST_RailingSystemHandRailBracket = -2000912, // 0xFFE177F0
+ OST_RailingSystemHandRail = -2000911, // 0xFFE177F1
+ OST_RailingSystemHardware = -2000910, // 0xFFE177F2
+ OST_RailingSystemPanel = -2000909, // 0xFFE177F3
+ OST_RailingSystemBaluster = -2000908, // 0xFFE177F4
+ OST_RailingSystemPost = -2000907, // 0xFFE177F5
+ OST_RailingSystemSegment = -2000906, // 0xFFE177F6
+ OST_RailingSystem = -2000905, // 0xFFE177F7
+ OST_AdaptivePoints_HiddenLines = -2000904, // 0xFFE177F8
+ OST_AdaptivePoints_Lines = -2000903, // 0xFFE177F9
+ OST_AdaptivePoints_Planes = -2000902, // 0xFFE177FA
+ OST_AdaptivePoints_Points = -2000901, // 0xFFE177FB
+ OST_AdaptivePoints = -2000900, // 0xFFE177FC
+ OST_CeilingOpening = -2000899, // 0xFFE177FD
+ OST_FloorOpening = -2000898, // 0xFFE177FE
+ OST_RoofOpening = -2000897, // 0xFFE177FF
+ OST_WallRefPlanes = -2000896, // 0xFFE17800
+ OST_StructLocationLineControl = -2000880, // 0xFFE17810
+ OST_PathOfTravelTags = -2000834, // 0xFFE1783E
+ OST_PathOfTravelLines = -2000833, // 0xFFE1783F
+ OST_DimLockControlLeader = -2000832, // 0xFFE17840
+ OST_MEPSpaceSeparationLines = -2000831, // 0xFFE17841
+ OST_AreaPolylines = -2000830, // 0xFFE17842
+ OST_RoomPolylines = -2000829, // 0xFFE17843
+ OST_InstanceDrivenLineStyle = -2000828, // 0xFFE17844
+ OST_RemovedGridSeg = -2000827, // 0xFFE17845
+ OST_IOSOpening = -2000810, // 0xFFE17856
+ OST_IOSTilePatternGrid = -2000800, // 0xFFE17860
+ OST_ControlLocal = -2000774, // 0xFFE1787A
+ OST_ControlAxisZ = -2000773, // 0xFFE1787B
+ OST_ControlAxisY = -2000772, // 0xFFE1787C
+ OST_ControlAxisX = -2000721, // 0xFFE178AF
+ OST_XRayConstrainedProfileEdge = -2000720, // 0xFFE178B0
+ OST_XRayImplicitPathCurve = -2000719, // 0xFFE178B1
+ OST_XRayPathPoint = -2000718, // 0xFFE178B2
+ OST_XRayPathCurve = -2000717, // 0xFFE178B3
+ OST_XRaySideEdge = -2000716, // 0xFFE178B4
+ OST_XRayProfileEdge = -2000715, // 0xFFE178B5
+ OST_ReferencePoints_HiddenLines = -2000714, // 0xFFE178B6
+ OST_ReferencePoints_Lines = -2000713, // 0xFFE178B7
+ OST_ReferencePoints_Planes = -2000712, // 0xFFE178B8
+ OST_ReferencePoints_Points = -2000711, // 0xFFE178B9
+ OST_ReferencePoints = -2000710, // 0xFFE178BA
+ OST_Materials = -2000700, // 0xFFE178C4
+ OST_CeilingsCutPattern = -2000617, // 0xFFE17917
+ OST_CeilingsDefault = -2000616, // 0xFFE17918
+ OST_CeilingsFinish2 = -2000615, // 0xFFE17919
+ OST_CeilingsFinish1 = -2000614, // 0xFFE1791A
+ OST_CeilingsSubstrate = -2000613, // 0xFFE1791B
+ OST_CeilingsInsulation = -2000612, // 0xFFE1791C
+ OST_CeilingsStructure = -2000611, // 0xFFE1791D
+ OST_CeilingsMembrane = -2000610, // 0xFFE1791E
+ OST_FloorsInteriorEdges = -2000609, // 0xFFE1791F
+ OST_FloorsCutPattern = -2000608, // 0xFFE17920
+ OST_HiddenFloorLines = -2000607, // 0xFFE17921
+ OST_FloorsDefault = -2000606, // 0xFFE17922
+ OST_FloorsFinish2 = -2000605, // 0xFFE17923
+ OST_FloorsFinish1 = -2000604, // 0xFFE17924
+ OST_FloorsSubstrate = -2000603, // 0xFFE17925
+ OST_FloorsInsulation = -2000602, // 0xFFE17926
+ OST_FloorsStructure = -2000601, // 0xFFE17927
+ OST_FloorsMembrane = -2000600, // 0xFFE17928
+ OST_RoofsInteriorEdges = -2000598, // 0xFFE1792A
+ OST_RoofsCutPattern = -2000597, // 0xFFE1792B
+ OST_RoofsDefault = -2000596, // 0xFFE1792C
+ OST_RoofsFinish2 = -2000595, // 0xFFE1792D
+ OST_RoofsFinish1 = -2000594, // 0xFFE1792E
+ OST_RoofsSubstrate = -2000593, // 0xFFE1792F
+ OST_RoofsInsulation = -2000592, // 0xFFE17930
+ OST_RoofsStructure = -2000591, // 0xFFE17931
+ OST_RoofsMembrane = -2000590, // 0xFFE17932
+ OST_WallsCutPattern = -2000588, // 0xFFE17934
+ OST_HiddenWallLines = -2000587, // 0xFFE17935
+ OST_WallsDefault = -2000586, // 0xFFE17936
+ OST_WallsFinish2 = -2000585, // 0xFFE17937
+ OST_WallsFinish1 = -2000584, // 0xFFE17938
+ OST_WallsSubstrate = -2000583, // 0xFFE17939
+ OST_WallsInsulation = -2000582, // 0xFFE1793A
+ OST_WallsStructure = -2000581, // 0xFFE1793B
+ OST_WallsMembrane = -2000580, // 0xFFE1793C
+ OST_PreviewLegendComponents = -2000576, // 0xFFE17940
+ OST_LegendComponents = -2000575, // 0xFFE17941
+ OST_Schedules = -2000573, // 0xFFE17943
+ OST_ScheduleGraphics = -2000570, // 0xFFE17946
+ OST_RasterImages = -2000560, // 0xFFE17950
+ OST_ColorFillSchema = -2000552, // 0xFFE17958
+ OST_RoomColorFill = -2000551, // 0xFFE17959
+ OST_ColorFillLegends = -2000550, // 0xFFE1795A
+ OST_AnnotationCropSpecial = -2000549, // 0xFFE1795B
+ OST_CropBoundarySpecial = -2000548, // 0xFFE1795C
+ OST_AnnotationCrop = -2000547, // 0xFFE1795D
+ OST_FloorsAnalyticalGeometry = -2000546, // 0xFFE1795E
+ OST_WallsAnalyticalGeometry = -2000545, // 0xFFE1795F
+ OST_CalloutLeaderLine = -2000544, // 0xFFE17960
+ OST_CeilingsSurfacePattern = -2000543, // 0xFFE17961
+ OST_RoofsSurfacePattern = -2000542, // 0xFFE17962
+ OST_FloorsSurfacePattern = -2000541, // 0xFFE17963
+ OST_WallsSurfacePattern = -2000540, // 0xFFE17964
+ OST_CalloutBoundary = -2000539, // 0xFFE17965
+ OST_CalloutHeads = -2000538, // 0xFFE17966
+ OST_Callouts = -2000537, // 0xFFE17967
+ OST_CropBoundary = -2000536, // 0xFFE17968
+ OST_Elev = -2000535, // 0xFFE17969
+ OST_AxisZ = -2000533, // 0xFFE1796B
+ OST_AxisY = -2000532, // 0xFFE1796C
+ OST_AxisX = -2000531, // 0xFFE1796D
+ OST_CLines = -2000530, // 0xFFE1796E
+ OST_Lights = -2000520, // 0xFFE17978
+ OST_ViewportLabel = -2000515, // 0xFFE1797D
+ OST_Viewports = -2000510, // 0xFFE17982
+ OST_Camera_Lines = -2000501, // 0xFFE1798B
+ OST_Cameras = -2000500, // 0xFFE1798C
+ OST_MEPSpaceTags = -2000485, // 0xFFE1799B
+ OST_RoomTags = -2000480, // 0xFFE179A0
+ OST_DoorTags = -2000460, // 0xFFE179B4
+ OST_WindowTags = -2000450, // 0xFFE179BE
+ OST_SectionHeadWideLines = -2000404, // 0xFFE179EC
+ OST_SectionHeadMediumLines = -2000403, // 0xFFE179ED
+ OST_SectionHeadThinLines = -2000401, // 0xFFE179EF
+ OST_SectionHeads = -2000400, // 0xFFE179F0
+ OST_ContourLabels = -2000350, // 0xFFE17A22
+ OST_CurtaSystemFaceManager = -2000341, // 0xFFE17A2B
+ OST_CurtaSystem = -2000340, // 0xFFE17A2C
+ OST_AreaReport_Arc_Minus = -2000328, // 0xFFE17A38
+ OST_AreaReport_Arc_Plus = -2000327, // 0xFFE17A39
+ OST_AreaReport_Boundary = -2000326, // 0xFFE17A3A
+ OST_AreaReport_Triangle = -2000325, // 0xFFE17A3B
+ OST_CurtainGridsCurtaSystem = -2000323, // 0xFFE17A3D
+ OST_CurtainGridsSystem = -2000322, // 0xFFE17A3E
+ OST_CurtainGridsWall = -2000321, // 0xFFE17A3F
+ OST_CurtainGridsRoof = -2000320, // 0xFFE17A40
+ OST_HostFinHF = -2000315, // 0xFFE17A45
+ OST_HostFinWall = -2000314, // 0xFFE17A46
+ OST_HostFinCeiling = -2000313, // 0xFFE17A47
+ OST_HostFinRoof = -2000312, // 0xFFE17A48
+ OST_HostFinFloor = -2000311, // 0xFFE17A49
+ OST_HostFin = -2000310, // 0xFFE17A4A
+ OST_AnalysisDisplayStyle = -2000304, // 0xFFE17A50
+ OST_AnalysisResults = -2000303, // 0xFFE17A51
+ OST_RenderRegions = -2000302, // 0xFFE17A52
+ OST_SectionBox = -2000301, // 0xFFE17A53
+ OST_TextNotes = -2000300, // 0xFFE17A54
+ OST_Divisions = -2000291, // 0xFFE17A5D
+ OST_Catalogs = -2000290, // 0xFFE17A5E
+ OST_DirectionEdgeLines = -2000289, // 0xFFE17A5F
+ OST_CenterLines = -2000288, // 0xFFE17A60
+ OST_LinesBeyond = -2000287, // 0xFFE17A61
+ OST_HiddenLines = -2000286, // 0xFFE17A62
+ OST_DemolishedLines = -2000285, // 0xFFE17A63
+ OST_OverheadLines = -2000284, // 0xFFE17A64
+ OST_TitleBlockWideLines = -2000283, // 0xFFE17A65
+ OST_TitleBlockMediumLines = -2000282, // 0xFFE17A66
+ OST_TitleBlockThinLines = -2000281, // 0xFFE17A67
+ OST_TitleBlocks = -2000280, // 0xFFE17A68
+ OST_Views = -2000279, // 0xFFE17A69
+ OST_Viewers = -2000278, // 0xFFE17A6A
+ OST_PartHiddenLines = -2000271, // 0xFFE17A71
+ OST_PartTags = -2000270, // 0xFFE17A72
+ OST_Parts = -2000269, // 0xFFE17A73
+ OST_AssemblyTags = -2000268, // 0xFFE17A74
+ OST_Assemblies = -2000267, // 0xFFE17A75
+ OST_RoofTags = -2000266, // 0xFFE17A76
+ OST_SpotSlopes = -2000265, // 0xFFE17A77
+ OST_SpotCoordinates = -2000264, // 0xFFE17A78
+ OST_SpotElevations = -2000263, // 0xFFE17A79
+ OST_Constraints = -2000262, // 0xFFE17A7A
+ OST_WeakDims = -2000261, // 0xFFE17A7B
+ OST_Dimensions = -2000260, // 0xFFE17A7C
+ OST_Levels = -2000240, // 0xFFE17A90
+ OST_DisplacementPath = -2000223, // 0xFFE17AA1
+ OST_DisplacementElements = -2000222, // 0xFFE17AA2
+ OST_GridChains = -2000221, // 0xFFE17AA3
+ OST_Grids = -2000220, // 0xFFE17AA4
+ OST_BrokenSectionLine = -2000202, // 0xFFE17AB6
+ OST_SectionLine = -2000201, // 0xFFE17AB7
+ OST_Sections = -2000200, // 0xFFE17AB8
+ OST_ReferenceViewer = -2000198, // 0xFFE17ABA
+ OST_ReferenceViewerSymbol = -2000197, // 0xFFE17ABB
+ OST_ImportObjectStyles = -2000196, // 0xFFE17ABC
+ OST_ModelText = -2000195, // 0xFFE17ABD
+ OST_MaskingRegion = -2000194, // 0xFFE17ABE
+ OST_Matchline = -2000193, // 0xFFE17ABF
+ OST_FaceSplitter = -2000192, // 0xFFE17AC0
+ OST_PlanRegion = -2000191, // 0xFFE17AC1
+ OST_FilledRegion = -2000190, // 0xFFE17AC2
+ OST_MassingProjectionOutlines = -2000187, // 0xFFE17AC5
+ OST_MassingCutOutlines = -2000186, // 0xFFE17AC6
+ OST_Massing = -2000185, // 0xFFE17AC7
+ OST_Reveals = -2000182, // 0xFFE17ACA
+ OST_Cornices = -2000181, // 0xFFE17ACB
+ OST_Ramps = -2000180, // 0xFFE17ACC
+ OST_RailingBalusterRailCut = -2000177, // 0xFFE17ACF
+ OST_RailingBalusterRail = -2000176, // 0xFFE17AD0
+ OST_Railings = -2000175, // 0xFFE17AD1
+ OST_CurtainGrids = -2000173, // 0xFFE17AD3
+ OST_CurtainWallMullionsCut = -2000172, // 0xFFE17AD4
+ OST_CurtainWallMullions = -2000171, // 0xFFE17AD5
+ OST_CurtainWallPanels = -2000170, // 0xFFE17AD6
+ OST_AreaReference = -2000169, // 0xFFE17AD7
+ OST_AreaInteriorFill = -2000168, // 0xFFE17AD8
+ OST_RoomReference = -2000167, // 0xFFE17AD9
+ OST_RoomInteriorFill = -2000166, // 0xFFE17ADA
+ OST_AreaColorFill = -2000165, // 0xFFE17ADB
+ OST_AreaReferenceVisibility = -2000164, // 0xFFE17ADC
+ OST_AreaInteriorFillVisibility = -2000163, // 0xFFE17ADD
+ OST_RoomReferenceVisibility = -2000162, // 0xFFE17ADE
+ OST_RoomInteriorFillVisibility = -2000161, // 0xFFE17ADF
+ OST_Rooms = -2000160, // 0xFFE17AE0
+ OST_GenericModel = -2000151, // 0xFFE17AE9
+ OST_GenericAnnotation = -2000150, // 0xFFE17AEA
+ OST_Fixtures = -2000140, // 0xFFE17AF4
+ OST_StairsRailingTags = -2000133, // 0xFFE17AFB
+ OST_StairsRailingAboveCut = -2000132, // 0xFFE17AFC
+ OST_StairsDownArrows = -2000131, // 0xFFE17AFD
+ OST_StairsUpArrows = -2000130, // 0xFFE17AFE
+ OST_StairsDownText = -2000129, // 0xFFE17AFF
+ OST_StairsRailingRail = -2000128, // 0xFFE17B00
+ OST_StairsRailingBaluster = -2000127, // 0xFFE17B01
+ OST_StairsRailing = -2000126, // 0xFFE17B02
+ OST_StairsUpText = -2000125, // 0xFFE17B03
+ OST_StairsSupportsAboveCut = -2000124, // 0xFFE17B04
+ OST_StairsStringerCarriage = -2000123, // 0xFFE17B05
+ OST_StairsAboveCut_ToBeDeprecated = -2000122, // 0xFFE17B06
+ OST_StairsIncomplete_Deprecated = -2000121, // 0xFFE17B07
+ OST_Stairs = -2000120, // 0xFFE17B08
+ OST_IOSNavWheelPivotBall = -2000117, // 0xFFE17B0B
+ OST_IOSRoomComputationHeight = -2000116, // 0xFFE17B0C
+ OST_IOSRoomUpperLowerLines = -2000115, // 0xFFE17B0D
+ OST_IOSDragBoxInverted = -2000114, // 0xFFE17B0E
+ OST_IOSDragBox = -2000113, // 0xFFE17B0F
+ OST_Phases = -2000112, // 0xFFE17B10
+ OST_IOS_GeoSite = -2000111, // 0xFFE17B11
+ OST_IOS_GeoLocations = -2000110, // 0xFFE17B12
+ OST_IOSFabricReinSpanSymbolCtrl = -2000109, // 0xFFE17B13
+ OST_GuideGrid = -2000107, // 0xFFE17B15
+ OST_EPS_Future = -2000106, // 0xFFE17B16
+ OST_EPS_Temporary = -2000105, // 0xFFE17B17
+ OST_EPS_New = -2000104, // 0xFFE17B18
+ OST_EPS_Demolished = -2000103, // 0xFFE17B19
+ OST_EPS_Existing = -2000102, // 0xFFE17B1A
+ OST_IOSMeasureLineScreenSize = -2000101, // 0xFFE17B1B
+ OST_Columns = -2000100, // 0xFFE17B1C
+ OST_IOSRebarSystemSpanSymbolCtrl = -2000099, // 0xFFE17B1D
+ OST_IOSRoomTagToRoomLines = -2000098, // 0xFFE17B1E
+ OST_IOSAttachedDetailGroups = -2000097, // 0xFFE17B1F
+ OST_IOSDetailGroups = -2000096, // 0xFFE17B20
+ OST_IOSModelGroups = -2000095, // 0xFFE17B21
+ OST_IOSSuspendedSketch = -2000094, // 0xFFE17B22
+ OST_IOSWallCoreBoundary = -2000093, // 0xFFE17B23
+ OST_IOSMeasureLine = -2000092, // 0xFFE17B24
+ OST_IOSArrays = -2000091, // 0xFFE17B25
+ OST_Curtain_Systems = -2000090, // 0xFFE17B26
+ OST_IOSBBoxScreenSize = -2000089, // 0xFFE17B27
+ OST_IOSSlabShapeEditorPointInterior = -2000088, // 0xFFE17B28
+ OST_IOSSlabShapeEditorPointBoundary = -2000087, // 0xFFE17B29
+ OST_IOSSlabShapeEditorBoundary = -2000086, // 0xFFE17B2A
+ OST_IOSSlabShapeEditorAutoCrease = -2000085, // 0xFFE17B2B
+ OST_IOSSlabShapeEditorExplitCrease = -2000084, // 0xFFE17B2C
+ OST_ReferenceLines = -2000083, // 0xFFE17B2D
+ OST_IOSNotSilhouette = -2000082, // 0xFFE17B2E
+ OST_FillPatterns = -2000081, // 0xFFE17B2F
+ OST_Furniture = -2000080, // 0xFFE17B30
+ OST_AreaSchemeLines = -2000079, // 0xFFE17B31
+ OST_GenericLines = -2000078, // 0xFFE17B32
+ OST_InsulationLines = -2000077, // 0xFFE17B33
+ OST_CloudLines = -2000076, // 0xFFE17B34
+ OST_IOSRoomPerimeterLines = -2000075, // 0xFFE17B35
+ OST_IOSCuttingGeometry = -2000074, // 0xFFE17B36
+ OST_IOSCrashGraphics = -2000073, // 0xFFE17B37
+ OST_IOSGroups = -2000072, // 0xFFE17B38
+ OST_IOSGhost = -2000071, // 0xFFE17B39
+ OST_StairsSketchLandingCenterLines = -2000070, // 0xFFE17B3A
+ OST_StairsSketchRunLines = -2000069, // 0xFFE17B3B
+ OST_StairsSketchRiserLines = -2000068, // 0xFFE17B3C
+ OST_StairsSketchBoundaryLines = -2000067, // 0xFFE17B3D
+ OST_RoomSeparationLines = -2000066, // 0xFFE17B3E
+ OST_AxisOfRotation = -2000065, // 0xFFE17B3F
+ OST_InvisibleLines = -2000064, // 0xFFE17B40
+ OST_IOSThinPixel_DashDot = -2000063, // 0xFFE17B41
+ OST_IOSThinPixel_Dash = -2000062, // 0xFFE17B42
+ OST_IOSThinPixel_Dot = -2000061, // 0xFFE17B43
+ OST_Extrusions = -2000060, // 0xFFE17B44
+ OST_IOS = -2000059, // 0xFFE17B45
+ OST_CutOutlines = -2000058, // 0xFFE17B46
+ OST_IOSThinPixel = -2000057, // 0xFFE17B47
+ OST_IOSFlipControl = -2000056, // 0xFFE17B48
+ OST_IOSSketchGrid = -2000055, // 0xFFE17B49
+ OST_IOSSuspendedSketch_obsolete = -2000054, // 0xFFE17B4A
+ OST_IOSFreeSnapLine = -2000053, // 0xFFE17B4B
+ OST_IOSDatumPlane = -2000052, // 0xFFE17B4C
+ OST_Lines = -2000051, // 0xFFE17B4D
+ OST_IOSConstructionLine = -2000050, // 0xFFE17B4E
+ OST_IOSAlignmentGraphics = -2000049, // 0xFFE17B4F
+ OST_IOSAligningLine = -2000048, // 0xFFE17B50
+ OST_IOSBackedUpElements = -2000047, // 0xFFE17B51
+ OST_IOSRegeneratedElements = -2000046, // 0xFFE17B52
+ OST_SketchLines = -2000045, // 0xFFE17B53
+ OST_CurvesWideLines = -2000044, // 0xFFE17B54
+ OST_CurvesMediumLines = -2000043, // 0xFFE17B55
+ OST_CurvesThinLines = -2000042, // 0xFFE17B56
+ OST_Curves = -2000041, // 0xFFE17B57
+ OST_CeilingsProjection = -2000040, // 0xFFE17B58
+ OST_CeilingsCut = -2000039, // 0xFFE17B59
+ OST_Ceilings = -2000038, // 0xFFE17B5A
+ OST_RoofsProjection = -2000037, // 0xFFE17B5B
+ OST_RoofsCut = -2000036, // 0xFFE17B5C
+ OST_Roofs = -2000035, // 0xFFE17B5D
+ OST_FloorsProjection = -2000034, // 0xFFE17B5E
+ OST_FloorsCut = -2000033, // 0xFFE17B5F
+ OST_Floors = -2000032, // 0xFFE17B60
+ OST_DoorsGlassProjection = -2000031, // 0xFFE17B61
+ OST_DoorsGlassCut = -2000030, // 0xFFE17B62
+ OST_DoorsFrameMullionProjection = -2000029, // 0xFFE17B63
+ OST_DoorsFrameMullionCut = -2000028, // 0xFFE17B64
+ OST_DoorsOpeningProjection = -2000027, // 0xFFE17B65
+ OST_DoorsOpeningCut = -2000026, // 0xFFE17B66
+ OST_DoorsPanelProjection = -2000025, // 0xFFE17B67
+ OST_DoorsPanelCut = -2000024, // 0xFFE17B68
+ OST_Doors = -2000023, // 0xFFE17B69
+ OST_WindowsOpeningProjection = -2000022, // 0xFFE17B6A
+ OST_WindowsOpeningCut = -2000021, // 0xFFE17B6B
+ OST_WindowsSillHeadProjection = -2000020, // 0xFFE17B6C
+ OST_WindowsSillHeadCut = -2000019, // 0xFFE17B6D
+ OST_WindowsFrameMullionProjection = -2000018, // 0xFFE17B6E
+ OST_WindowsFrameMullionCut = -2000017, // 0xFFE17B6F
+ OST_WindowsGlassProjection = -2000016, // 0xFFE17B70
+ OST_WindowsGlassCut = -2000015, // 0xFFE17B71
+ OST_Windows = -2000014, // 0xFFE17B72
+ OST_WallsProjectionOutlines = -2000013, // 0xFFE17B73
+ OST_WallsCutOutlines = -2000012, // 0xFFE17B74
+ OST_Walls = -2000011, // 0xFFE17B75
+ OST_IOSRegenerationFailure = -2000010, // 0xFFE17B76
+ OST_ScheduleViewParamGroup = -2000008, // 0xFFE17B78
+ OST_MatchSiteComponent = -2000007, // 0xFFE17B79
+ OST_MatchProfile = -2000006, // 0xFFE17B7A
+ OST_MatchDetail = -2000005, // 0xFFE17B7B
+ OST_MatchAnnotation = -2000004, // 0xFFE17B7C
+ OST_MatchModel = -2000003, // 0xFFE17B7D
+ OST_MatchAll = -2000002, // 0xFFE17B7E
+ INVALID = -1, // 0xFFFFFFFF
+}
diff --git a/Speckle.Revit.Interfaces/Speckle.Revit.Interfaces.projitems b/Speckle.Revit.Interfaces/Speckle.Revit.Interfaces.projitems
new file mode 100644
index 0000000..aedfe67
--- /dev/null
+++ b/Speckle.Revit.Interfaces/Speckle.Revit.Interfaces.projitems
@@ -0,0 +1,14 @@
+
+
+
+ $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
+ true
+ 9655be78-8070-4b9f-b0dc-68bb6150b52e
+
+
+ Speckle.Revit.Interfaces
+
+
+
+
+
\ No newline at end of file
diff --git a/Speckle.Revit.Interfaces/Speckle.Revit.Interfaces.shproj b/Speckle.Revit.Interfaces/Speckle.Revit.Interfaces.shproj
new file mode 100644
index 0000000..c5f0083
--- /dev/null
+++ b/Speckle.Revit.Interfaces/Speckle.Revit.Interfaces.shproj
@@ -0,0 +1,13 @@
+
+
+
+ {E1C43415-3200-45F4-8BF9-A4DD7D7F2ED6}
+ 14.0
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Speckle.Revit2023.Api/Speckle.Revit2023.Api.csproj b/Speckle.Revit2023.Api/Speckle.Revit2023.Api.csproj
new file mode 100644
index 0000000..63e75b0
--- /dev/null
+++ b/Speckle.Revit2023.Api/Speckle.Revit2023.Api.csproj
@@ -0,0 +1,17 @@
+
+
+
+ net48
+ x64
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Speckle.Revit2023.Api/packages.lock.json b/Speckle.Revit2023.Api/packages.lock.json
new file mode 100644
index 0000000..8e3c8b2
--- /dev/null
+++ b/Speckle.Revit2023.Api/packages.lock.json
@@ -0,0 +1,48 @@
+{
+ "version": 2,
+ "dependencies": {
+ ".NETFramework,Version=v4.8": {
+ "Mapster": {
+ "type": "Direct",
+ "requested": "[7.3.0, )",
+ "resolved": "7.3.0",
+ "contentHash": "NrCUX/rJa5PTyo6iW4AL5dZLU9PDNlYnrJOVjgdpo5OQM9EtWH2CMHnC5sSuJWC0d0b0SnmeRrIviEem6WxtuQ==",
+ "dependencies": {
+ "Mapster.Core": "1.2.0",
+ "Microsoft.CSharp": "4.3.0",
+ "System.Reflection.Emit": "4.3.0"
+ }
+ },
+ "Speckle.ProxyGenerator": {
+ "type": "Direct",
+ "requested": "[0.1.6, )",
+ "resolved": "0.1.6",
+ "contentHash": "SO9Udllol9Krpq+UFBr54Es79kmiIQmtSRXKFcvplnisdwmjo5CBlucuuvgZYmQUSvF/9KC4BcuVllZRTCBDHQ=="
+ },
+ "Speckle.Revit.API": {
+ "type": "Direct",
+ "requested": "[2023.0.0, )",
+ "resolved": "2023.0.0",
+ "contentHash": "tq40eD7psgTbV+epNouYyqfo6+hEi7FmXZqcxEOsAV7zfYyWhL6Rt3vmojkWGNuerGbH6oRI6KIIxrnlCNb8Hw=="
+ },
+ "Mapster.Core": {
+ "type": "Transitive",
+ "resolved": "1.2.0",
+ "contentHash": "TNdqZk2zAuBYfJF88D/3clQTOyOdqr1crU81yZQtlGa+e7FYWhJdK/buBWT+TpM3qQko9UzmzfOT4iq3JCs/ZA=="
+ },
+ "Microsoft.CSharp": {
+ "type": "Transitive",
+ "resolved": "4.3.0",
+ "contentHash": "P+MBhIM0YX+JqROuf7i306ZLJEjQYA9uUyRDE+OqwUI5sh41e2ZbPQV3LfAPh+29cmceE1pUffXsGfR4eMY3KA=="
+ },
+ "System.Reflection.Emit": {
+ "type": "Transitive",
+ "resolved": "4.3.0",
+ "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg=="
+ },
+ "speckle.revit2023.interfaces": {
+ "type": "Project"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Speckle.Revit2023.Interfaces/Speckle.Revit2023.Interfaces.csproj b/Speckle.Revit2023.Interfaces/Speckle.Revit2023.Interfaces.csproj
new file mode 100644
index 0000000..64dbb45
--- /dev/null
+++ b/Speckle.Revit2023.Interfaces/Speckle.Revit2023.Interfaces.csproj
@@ -0,0 +1,6 @@
+
+
+ netstandard2.0
+
+
+
diff --git a/Speckle.Revit2023.Interfaces/packages.lock.json b/Speckle.Revit2023.Interfaces/packages.lock.json
new file mode 100644
index 0000000..5224309
--- /dev/null
+++ b/Speckle.Revit2023.Interfaces/packages.lock.json
@@ -0,0 +1,21 @@
+{
+ "version": 2,
+ "dependencies": {
+ ".NETStandard,Version=v2.0": {
+ "NETStandard.Library": {
+ "type": "Direct",
+ "requested": "[2.0.3, )",
+ "resolved": "2.0.3",
+ "contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ }
+ },
+ "Microsoft.NETCore.Platforms": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A=="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/global.json b/global.json
new file mode 100644
index 0000000..c19a2e0
--- /dev/null
+++ b/global.json
@@ -0,0 +1,6 @@
+{
+ "sdk": {
+ "version": "8.0.100",
+ "rollForward": "latestMinor"
+ }
+}