Skip to content

Commit

Permalink
Update main with changes from dev (#3408)
Browse files Browse the repository at this point in the history
  • Loading branch information
AlanRynne committed May 14, 2024
2 parents b67e46c + 630df49 commit 09debd3
Show file tree
Hide file tree
Showing 96 changed files with 2,115 additions and 658 deletions.
241 changes: 201 additions & 40 deletions All.sln

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions Automate/Speckle.Automate.Sdk/AutomationContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,12 @@ await SpeckleClient
}
)
.ConfigureAwait(false);

if (!string.IsNullOrEmpty(versionId))
{
AutomationResult.ResultVersions.Add(versionId);
}

return versionId;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace Speckle.Automate.Sdk.DataAnnotations;

/// <summary>
/// If specified, the given function input will be redacted in all contexts.
/// </summary>
[AttributeUsage(AttributeTargets.All)]
public sealed class SecretAttribute : Attribute { }
34 changes: 34 additions & 0 deletions Automate/Speckle.Automate.Sdk/Runner.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
using System.CommandLine;
using System.Diagnostics.CodeAnalysis;
using Newtonsoft.Json;
using Newtonsoft.Json.Schema;
using Newtonsoft.Json.Schema.Generation;
using Newtonsoft.Json.Serialization;
using Speckle.Automate.Sdk.DataAnnotations;
using Speckle.Automate.Sdk.Schema;
using Speckle.Core.Logging;

Expand Down Expand Up @@ -131,6 +133,7 @@ public static async Task<int> Main<TInput>(string[] args, Func<AutomationContext
(schemaFilePath) =>
{
JSchemaGenerator generator = new() { ContractResolver = new CamelCasePropertyNamesContractResolver() };
generator.GenerationProviders.Add(new SpeckleSecretProvider());
JSchema schema = generator.Generate(typeof(TInput));
schema.ToString(global::Newtonsoft.Json.Schema.SchemaVersion.Draft2019_09);
File.WriteAllText(schemaFilePath, schema.ToString());
Expand All @@ -144,3 +147,34 @@ public static async Task<int> Main<TInput>(string[] args, Func<AutomationContext
return returnCode;
}
}

public class SpeckleSecretProvider : JSchemaGenerationProvider
{
// `GetSchema` returning `null` indicates that the given type should not have a customised schema
// Nullability of JSchemaTypeGenerationContext appears to be incorrect.
#pragma warning disable CS8764 // Nullability of return type doesn't match overridden member (possibly because of nullability attributes).
public override JSchema? GetSchema(JSchemaTypeGenerationContext context)
{
var attributes = context.MemberProperty?.AttributeProvider?.GetAttributes(false) ?? new List<Attribute>();
var isSecretString = attributes.Any(att => att is SecretAttribute);

if (isSecretString)
{
return CreateSchemaWithWriteOnly(context.ObjectType, context.Required);
}

return null;
}
#pragma warning restore CS8764 // Nullability of return type doesn't match overridden member (possibly because of nullability attributes).


private JSchema CreateSchemaWithWriteOnly(Type type, Required required)
{
JSchemaGenerator generator = new();
JSchema schema = generator.Generate(type, required != Required.Always);

schema.WriteOnly = true;

return schema;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<RootNamespace>Speckle.ConnectorAutocad</RootNamespace>
<AssemblyName>SpeckleConnectorAutocad</AssemblyName>
<TargetFramework>net8.0-windows</TargetFramework>
<AssemblyTitle>ConnectorAutocad</AssemblyTitle>
<Product>ConnectorAutocad</Product>
<StartAction>Program</StartAction>
<StartProgram>$(ProgramW6432)\Autodesk\AutoCAD 2025\acad.exe</StartProgram>
<UseWPF>true</UseWPF>
<DefineConstants>$(DefineConstants);AUTOCAD2025</DefineConstants>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<PlatformTarget>x64</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
</PropertyGroup>

<Import Project="..\ConnectorAutocadCivil\ConnectorAutocadCivilShared.projitems" Label="Shared" />

<Target Name="Clean">
<RemoveDir Directories="$(TargetDir);$(AppData)\Autodesk\ApplicationPlugins\Speckle2AutoCAD2025" />
</Target>
<Target Name="AfterBuildMigrated" AfterTargets="PostBuildEvent" Condition="$([MSBuild]::IsOsPlatform('Windows'))">
<Message Text="Calling 2025 post build" Importance="high" />
<CallTarget Condition="'$(Configuration)' == 'Debug' AND '$(IsDesktopBuild)' == true" Targets="AfterBuildDebug" />
</Target>
<Target Name="AfterBuildDebug">
<ItemGroup>
<SourceDLLs Include="$(TargetDir)\**\*.*" />
</ItemGroup>
<Copy DestinationFolder="$(AppData)\Autodesk\ApplicationPlugins\Speckle2AutoCAD2025\%(RecursiveDir)" SourceFiles="@(SourceDLLs)" />
</Target>

<ItemGroup>
<PackageReference Include="Speckle.AutoCAD.API" Version="2025.0.0" IncludeAssets="compile;build" PrivateAssets="all" />
</ItemGroup>

<ItemGroup>
<FrameworkReference Include="Microsoft.WindowsDesktop.App"></FrameworkReference>
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\Core\Core\Core.csproj" />
<ProjectReference Include="..\..\DesktopUI2\DesktopUI2\DesktopUI2.csproj" />
</ItemGroup>
</Project>
16 changes: 16 additions & 0 deletions ConnectorAutocadCivil/ConnectorAutocadCivil.sln
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConverterAdvanceSteel2024",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConnectorAdvanceSteel2024", "ConnectorAdvanceSteel2024\ConnectorAdvanceSteel2024.csproj", "{572B1D77-83BA-4E96-A70A-7D000D2AC220}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConnectorAutocad2025", "ConnectorAutocad2025\ConnectorAutocad2025.csproj", "{6B147D7E-4F94-43EC-A982-340E98B37656}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConverterAutocad2025", "..\Objects\Converters\ConverterAutocadCivil\ConverterAutocad2025\ConverterAutocad2025.csproj", "{5A4FB6D3-CAC0-43BC-BB4A-BED3845C79DA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -167,6 +171,14 @@ Global
{572B1D77-83BA-4E96-A70A-7D000D2AC220}.Debug|Any CPU.Build.0 = Debug|Any CPU
{572B1D77-83BA-4E96-A70A-7D000D2AC220}.Release|Any CPU.ActiveCfg = Release|Any CPU
{572B1D77-83BA-4E96-A70A-7D000D2AC220}.Release|Any CPU.Build.0 = Release|Any CPU
{6B147D7E-4F94-43EC-A982-340E98B37656}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6B147D7E-4F94-43EC-A982-340E98B37656}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6B147D7E-4F94-43EC-A982-340E98B37656}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6B147D7E-4F94-43EC-A982-340E98B37656}.Release|Any CPU.Build.0 = Release|Any CPU
{5A4FB6D3-CAC0-43BC-BB4A-BED3845C79DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5A4FB6D3-CAC0-43BC-BB4A-BED3845C79DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5A4FB6D3-CAC0-43BC-BB4A-BED3845C79DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5A4FB6D3-CAC0-43BC-BB4A-BED3845C79DA}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -196,6 +208,8 @@ Global
{23478901-5C29-4D54-A66A-AE9FEA6118C7} = {A07071D5-E197-487D-B543-28639AC3C719}
{C7F4DFA0-18FE-4C0B-A9DC-DAD74D5E6E13} = {8AFDB1E6-D3E7-45EA-BCDC-F3554BDDEF1E}
{572B1D77-83BA-4E96-A70A-7D000D2AC220} = {A07071D5-E197-487D-B543-28639AC3C719}
{6B147D7E-4F94-43EC-A982-340E98B37656} = {A07071D5-E197-487D-B543-28639AC3C719}
{5A4FB6D3-CAC0-43BC-BB4A-BED3845C79DA} = {8AFDB1E6-D3E7-45EA-BCDC-F3554BDDEF1E}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {EAFBA51C-7222-435F-8BDF-8C15B27A34C8}
Expand All @@ -213,6 +227,8 @@ Global
..\Objects\Converters\ConverterAutocadCivil\ConverterAutocadCivilShared\ConverterAutocadCivilShared.projitems*{575293fb-158c-4f91-abc1-18b60f310b32}*SharedItemsImports = 5
..\Objects\Converters\ConverterAutocadCivil\ConverterAutocadCivilShared\ConverterAutocadCivilShared.projitems*{57a28a09-c64e-47f6-b602-b6d58b19f1d5}*SharedItemsImports = 5
ConnectorAutocadCivil\ConnectorAutocadCivilShared.projitems*{58a88f1a-7489-46d2-949d-2fc3f68c8d84}*SharedItemsImports = 5
..\Objects\Converters\ConverterAutocadCivil\ConverterAutocadCivilShared\ConverterAutocadCivilShared.projitems*{5a4fb6d3-cac0-43bc-bb4a-bed3845c79da}*SharedItemsImports = 5
ConnectorAutocadCivil\ConnectorAutocadCivilShared.projitems*{6b147d7e-4f94-43ec-a982-340e98b37656}*SharedItemsImports = 5
..\Objects\Converters\ConverterAutocadCivil\ConverterAutocadCivilShared\ConverterAutocadCivilShared.projitems*{79e41261-3078-4f38-a71e-4b4020cf8f57}*SharedItemsImports = 5
..\Objects\Converters\ConverterAutocadCivil\ConverterAutocadCivilShared\ConverterAutocadCivilShared.projitems*{8cfc7609-f640-4683-bf13-fe144d3dc50b}*SharedItemsImports = 5
..\Objects\Converters\ConverterAutocadCivil\ConverterAutocadCivilShared\ConverterAutocadCivilShared.projitems*{9a11c16b-790f-437a-9e04-7e0d3ecdc06b}*SharedItemsImports = 5
Expand Down
4 changes: 4 additions & 0 deletions ConnectorAutocadCivil/ConnectorAutocadCivil.slnf
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@
"ConnectorAutocadCivil\\ConnectorAutocad2022\\ConnectorAutocad2022.csproj",
"ConnectorAutocadCivil\\ConnectorAutocad2023\\ConnectorAutocad2023.csproj",
"ConnectorAutocadCivil\\ConnectorAutocad2024\\ConnectorAutocad2024.csproj",
"ConnectorAutocadCivil\\ConnectorAutocad2025\\ConnectorAutocad2025.csproj",
"ConnectorAutocadCivil\\ConnectorAutocadCivil\\ConnectorAutocadCivilShared.shproj",
"ConnectorAutocadCivil\\ConnectorCivil2021\\ConnectorCivil2021.csproj",
"ConnectorAutocadCivil\\ConnectorCivil2022\\ConnectorCivil2022.csproj",
"ConnectorAutocadCivil\\ConnectorCivil2023\\ConnectorCivil2023.csproj",
"ConnectorAutocadCivil\\ConnectorCivil2024\\ConnectorCivil2024.csproj",
"ConnectorAutocadCivil\\ConnectorCivil2025\\ConnectorCivil2025.csproj",
"Core\\Core\\Core.csproj",
"Core\\Tests\\Speckle.Core.Tests.Unit\\Speckle.Core.Tests.Unit.csproj",
"Core\\Transports\\DiskTransport\\DiskTransport.csproj",
Expand All @@ -20,11 +22,13 @@
"Objects\\Converters\\ConverterAutocadCivil\\ConverterAutocad2022\\ConverterAutocad2022.csproj",
"Objects\\Converters\\ConverterAutocadCivil\\ConverterAutocad2023\\ConverterAutocad2023.csproj",
"Objects\\Converters\\ConverterAutocadCivil\\ConverterAutocad2024\\ConverterAutocad2024.csproj",
"Objects\\Converters\\ConverterAutocadCivil\\ConverterAutocad2025\\ConverterAutocad2025.csproj",
"Objects\\Converters\\ConverterAutocadCivil\\ConverterAutocadCivilShared\\ConverterAutocadCivilShared.shproj",
"Objects\\Converters\\ConverterAutocadCivil\\ConverterCivil2021\\ConverterCivil2021.csproj",
"Objects\\Converters\\ConverterAutocadCivil\\ConverterCivil2022\\ConverterCivil2022.csproj",
"Objects\\Converters\\ConverterAutocadCivil\\ConverterCivil2023\\ConverterCivil2023.csproj",
"Objects\\Converters\\ConverterAutocadCivil\\ConverterCivil2024\\ConverterCivil2024.csproj",
"Objects\\Converters\\ConverterAutocadCivil\\ConverterCivil2025\\ConverterCivil2025.csproj",
"Objects\\Objects\\Objects.csproj",
"Objects\\Tests\\Objects.Tests.Unit\\Objects.Tests.Unit.csproj"
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -544,7 +544,7 @@ void FlattenConvertedObject(object item)
}

// add property sets if this is Civil3D
#if CIVIL2021 || CIVIL2022 || CIVIL2023 || CIVIL2024
#if CIVIL
if (obj["propertySets"] is IReadOnlyList<object> list)
{
List<Dictionary<string, object>> propertySets = new();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ public override async Task<string> SendStream(StreamState state, ProgressViewMod
converted[key] = obj.ExtensionDictionary.GetUserString(key);
*/

#if CIVIL2021 || CIVIL2022 || CIVIL2023 || CIVIL2024
#if CIVIL
// add property sets if this is Civil3D
var propertySets = obj.GetPropertySets(tr);
if (propertySets.Count > 0)
Expand Down
14 changes: 11 additions & 3 deletions ConnectorAutocadCivil/ConnectorAutocadCivil/Utils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
using Speckle.ConnectorAutocadCivil.DocumentUtils;
using Speckle.Core.Logging;

#if CIVIL2021 || CIVIL2022 || CIVIL2023 || CIVIL2024
#if CIVIL
using Autodesk.Aec.ApplicationServices;
using Autodesk.Aec.PropertyData.DatabaseServices;
#endif
Expand Down Expand Up @@ -47,6 +47,10 @@ public static class Utils
public static string VersionedAppName = HostApplications.AutoCAD.GetVersion(HostAppVersion.v2024);
public static string AppName = HostApplications.AutoCAD.Name;
public static string Slug = HostApplications.AutoCAD.Slug;
#elif AUTOCAD2025
public static string VersionedAppName = HostApplications.AutoCAD.GetVersion(HostAppVersion.v2025);
public static string AppName = HostApplications.AutoCAD.Name;
public static string Slug = HostApplications.AutoCAD.Slug;
#elif CIVIL2021
public static string VersionedAppName = HostApplications.Civil.GetVersion(HostAppVersion.v2021);
public static string AppName = HostApplications.Civil.Name;
Expand All @@ -63,6 +67,10 @@ public static class Utils
public static string VersionedAppName = HostApplications.Civil.GetVersion(HostAppVersion.v2024);
public static string AppName = HostApplications.Civil.Name;
public static string Slug = HostApplications.Civil.Slug;
#elif CIVIL2025
public static string VersionedAppName = HostApplications.Civil.GetVersion(HostAppVersion.v2025);
public static string AppName = HostApplications.Civil.Name;
public static string Slug = HostApplications.Civil.Slug;
#elif ADVANCESTEEL2023
public static string VersionedAppName = HostApplications.AdvanceSteel.GetVersion(HostAppVersion.v2023);
public static string AppName = HostApplications.AdvanceSteel.Name;
Expand Down Expand Up @@ -307,7 +315,7 @@ public static bool GetOrMakeLayer(this Document doc, string layerName, Transacti
#endregion

#region property sets
#if CIVIL2021 || CIVIL2022 || CIVIL2023 || CIVIL2024
#if CIVIL
private static Autodesk.Aec.PropertyData.DataType? GetPropertySetType(object prop)
{
switch (prop)
Expand Down Expand Up @@ -765,7 +773,7 @@ public static string GetUnits(Document doc)
var insUnits = doc.Database.Insunits;
string units = (insUnits == UnitsValue.Undefined) ? Units.None : Units.GetUnitsFromString(insUnits.ToString());

#if CIVIL2021 || CIVIL2022 || CIVIL2023 || CIVIL2024
#if CIVIL
if (units == Units.None)
{
// try to get the drawing unit instead
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<PlatformTarget>x64</PlatformTarget>
<AssemblyTitle>ConnectorCivil2021</AssemblyTitle>
<Product>ConnectorCivil2021</Product>
<DefineConstants>$(DefineConstants);CIVIL2021</DefineConstants>
<DefineConstants>$(DefineConstants);CIVIL2021;CIVIL;CIVIL2021_OR_GREATER</DefineConstants>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<Import Project="..\ConnectorAutocadCivil\ConnectorAutocadCivilShared.projitems" Label="Shared" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<PlatformTarget>x64</PlatformTarget>
<AssemblyTitle>ConnectorCivil2022</AssemblyTitle>
<Product>ConnectorCivil2022</Product>
<DefineConstants>$(DefineConstants);CIVIL2022</DefineConstants>
<DefineConstants>$(DefineConstants);CIVIL2022;CIVIL;CIVIL2021_OR_GREATER;CIVIL2022_OR_GREATER</DefineConstants>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<Import Project="..\ConnectorAutocadCivil\ConnectorAutocadCivilShared.projitems" Label="Shared" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<PlatformTarget>x64</PlatformTarget>
<AssemblyTitle>ConnectorCivil2023</AssemblyTitle>
<Product>ConnectorCivil2023</Product>
<DefineConstants>$(DefineConstants);CIVIL2023</DefineConstants>
<DefineConstants>$(DefineConstants);CIVIL2023;CIVIL;CIVIL2021_OR_GREATER;CIVIL2022_OR_GREATER;CIVIL2023_OR_GREATER</DefineConstants>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<Import Project="..\ConnectorAutocadCivil\ConnectorAutocadCivilShared.projitems" Label="Shared" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<PlatformTarget>x64</PlatformTarget>
<AssemblyTitle>ConnectorCivil2024</AssemblyTitle>
<Product>ConnectorCivil2024</Product>
<DefineConstants>$(DefineConstants);CIVIL2024</DefineConstants>
<DefineConstants>$(DefineConstants);CIVIL2024;CIVIL;CIVIL2021_OR_GREATER;CIVIL2022_OR_GREATER;CIVIL2023_OR_GREATER;CIVIL2024_OR_GREATER</DefineConstants>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<Import Project="..\ConnectorAutocadCivil\ConnectorAutocadCivilShared.projitems" Label="Shared" />
Expand Down
52 changes: 52 additions & 0 deletions ConnectorAutocadCivil/ConnectorCivil2025/ConnectorCivil2025.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<Nullable>enable</Nullable>

<RootNamespace>Speckle.ConnectorCivil</RootNamespace>
<AssemblyName>SpeckleConnectorCivil</AssemblyName>
<StartAction>Program</StartAction>
<StartProgram>$(ProgramW6432)\Autodesk\AutoCAD 2025\acad.exe</StartProgram>
<StartArguments>
/ld "C:\Program Files\Autodesk\AutoCAD 2025\\AecBase.dbx" /product "C3D" /language
"en-US"
</StartArguments>

<AssemblyTitle>ConnectorCivil2025</AssemblyTitle>
<Product>ConnectorCivil2025</Product>
<DefineConstants>$(DefineConstants);CIVIL2025;CIVIL;CIVIL2021_OR_GREATER;CIVIL2022_OR_GREATER;CIVIL2023_OR_GREATER;CIVIL2024_OR_GREATER;CIVIL2025_OR_GREATER</DefineConstants>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<PlatformTarget>x64</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>

</PropertyGroup>
<Import Project="..\ConnectorAutocadCivil\ConnectorAutocadCivilShared.projitems" Label="Shared" />
<Target Name="Clean">
<RemoveDir Directories="$(TargetDir);$(AppData)\Autodesk\ApplicationPlugins\Speckle2Civil3D2025" />
</Target>
<Target Name="AfterBuildMigrated" AfterTargets="PostBuildEvent" Condition="$([MSBuild]::IsOsPlatform('Windows'))">
<Message Text="Calling 2025 post build" Importance="high" />
<CallTarget Condition="'$(Configuration)' == 'Debug' AND '$(IsDesktopBuild)' == true" Targets="AfterBuildDebug" />
</Target>
<Target Name="AfterBuildDebug">
<ItemGroup>
<SourceDLLs Include="$(TargetDir)\**\*.*" />
</ItemGroup>
<Copy DestinationFolder="$(AppData)\Autodesk\ApplicationPlugins\Speckle2Civil3D2025\%(RecursiveDir)" SourceFiles="@(SourceDLLs)" />
</Target>

<ItemGroup>
<FrameworkReference Include="Microsoft.WindowsDesktop.App"></FrameworkReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Core\Core\Core.csproj" />
<ProjectReference Include="..\..\DesktopUI2\DesktopUI2\DesktopUI2.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Speckle.AutoCAD.API" Version="2025.0.0" IncludeAssets="compile;build" PrivateAssets="all" />
<PackageReference Include="Speckle.Civil3D.API" Version="2025.0.0" />
</ItemGroup>
</Project>

0 comments on commit 09debd3

Please sign in to comment.