Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b591e82804 | |||
| 0585b531d5 | |||
| b49884e211 | |||
| 1b9640954e | |||
| 3d24a7b16b | |||
| 9f3a333beb | |||
| 6c2a98c1d4 | |||
| 4cbf5628b1 |
@@ -3,14 +3,14 @@
|
||||
"isRoot": true,
|
||||
"tools": {
|
||||
"csharpier": {
|
||||
"version": "0.28.2",
|
||||
"version": "1.2.6",
|
||||
"commands": [
|
||||
"dotnet-csharpier"
|
||||
"csharpier"
|
||||
],
|
||||
"rollForward": false
|
||||
},
|
||||
"dotnet-affected": {
|
||||
"version": "5.0.0",
|
||||
"version": "6.2.0",
|
||||
"commands": [
|
||||
"dotnet-affected"
|
||||
],
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
Directory.Build.targets
|
||||
Directory.Build.props
|
||||
Directory.Packages.props
|
||||
|
||||
*.slnx
|
||||
|
||||
**/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
|
||||
coverage.xml
|
||||
|
||||
*.received.*
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
printWidth: 120
|
||||
useTabs: false
|
||||
tabWidth: 2
|
||||
indentSize: 2
|
||||
preprocessorSymbolSets:
|
||||
- ""
|
||||
- "DEBUG"
|
||||
- "DEBUG,CODE_STYLE"
|
||||
- ""
|
||||
- "DEBUG"
|
||||
- "DEBUG,CODE_STYLE"
|
||||
@@ -1,5 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
|
||||
+5
-5
@@ -20,7 +20,7 @@ public static class Consts
|
||||
new("Connectors/Revit/Speckle.Connectors.Revit2023", "net48"),
|
||||
new("Connectors/Revit/Speckle.Connectors.Revit2024", "net48"),
|
||||
new("Connectors/Revit/Speckle.Connectors.Revit2025", "net8.0-windows"),
|
||||
new("Connectors/Revit/Speckle.Connectors.Revit2026", "net8.0-windows")
|
||||
new("Connectors/Revit/Speckle.Connectors.Revit2026", "net8.0-windows"),
|
||||
]
|
||||
),
|
||||
new(
|
||||
@@ -30,7 +30,7 @@ public static class Consts
|
||||
new("Connectors/Autocad/Speckle.Connectors.Autocad2023", "net48"),
|
||||
new("Connectors/Autocad/Speckle.Connectors.Autocad2024", "net48"),
|
||||
new("Connectors/Autocad/Speckle.Connectors.Autocad2025", "net8.0-windows"),
|
||||
new("Connectors/Autocad/Speckle.Connectors.Autocad2026", "net8.0-windows")
|
||||
new("Connectors/Autocad/Speckle.Connectors.Autocad2026", "net8.0-windows"),
|
||||
]
|
||||
),
|
||||
new(
|
||||
@@ -40,7 +40,7 @@ public static class Consts
|
||||
new("Connectors/Autocad/Speckle.Connectors.Civil3d2023", "net48"),
|
||||
new("Connectors/Autocad/Speckle.Connectors.Civil3d2024", "net48"),
|
||||
new("Connectors/Autocad/Speckle.Connectors.Civil3d2025", "net8.0-windows"),
|
||||
new("Connectors/Autocad/Speckle.Connectors.Civil3d2026", "net8.0-windows")
|
||||
new("Connectors/Autocad/Speckle.Connectors.Civil3d2026", "net8.0-windows"),
|
||||
]
|
||||
),
|
||||
new("plant3d", [new("Connectors/Autocad/Speckle.Connectors.Plant3d2026", "net8.0-windows")]),
|
||||
@@ -53,7 +53,7 @@ public static class Consts
|
||||
new("Connectors/Navisworks/Speckle.Connectors.Navisworks2023", "net48"),
|
||||
new("Connectors/Navisworks/Speckle.Connectors.Navisworks2024", "net48"),
|
||||
new("Connectors/Navisworks/Speckle.Connectors.Navisworks2025", "net48"),
|
||||
new("Connectors/Navisworks/Speckle.Connectors.Navisworks2026", "net48")
|
||||
new("Connectors/Navisworks/Speckle.Connectors.Navisworks2026", "net48"),
|
||||
]
|
||||
),
|
||||
new(
|
||||
@@ -61,7 +61,7 @@ public static class Consts
|
||||
[
|
||||
new("Connectors/Tekla/Speckle.Connector.Tekla2023", "net48"),
|
||||
new("Connectors/Tekla/Speckle.Connector.Tekla2024", "net48"),
|
||||
new("Connectors/Tekla/Speckle.Connector.Tekla2025", "net48")
|
||||
new("Connectors/Tekla/Speckle.Connector.Tekla2025", "net48"),
|
||||
]
|
||||
),
|
||||
new(
|
||||
|
||||
+2
-2
@@ -23,9 +23,9 @@ public static class Github
|
||||
{
|
||||
Accept = { new MediaTypeWithQualityHeaderValue("application/vnd.github+json") },
|
||||
Authorization = new AuthenticationHeaderValue("Bearer", token),
|
||||
UserAgent = { new ProductInfoHeaderValue("Speckle.build", "3.0.0") }
|
||||
UserAgent = { new ProductInfoHeaderValue("Speckle.build", "3.0.0") },
|
||||
},
|
||||
Content = content
|
||||
Content = content,
|
||||
};
|
||||
request.Headers.Add("X-GitHub-Api-Version", "2022-11-28");
|
||||
var response = await client.SendAsync(request);
|
||||
|
||||
+1
-1
@@ -145,7 +145,7 @@ Target(
|
||||
DependsOn(RESTORE_TOOLS),
|
||||
() =>
|
||||
{
|
||||
Run("dotnet", "csharpier --check .");
|
||||
Run("dotnet", "csharpier check ./");
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
+5
-5
@@ -7,16 +7,16 @@
|
||||
<DefineConstants>$(DefineConstants);AUTOCAD;AUTOCAD2022;AUTOCAD2022_OR_GREATER</DefineConstants>
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2022.0.2" ExcludeAssets="runtime"/>
|
||||
</ItemGroup>
|
||||
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2022.0.2" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Autocad\Speckle.Converters.Autocad2022\Speckle.Converters.Autocad2022.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Converters.Common\Speckle.Converters.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<Import Project="..\Speckle.Connectors.AutocadShared\Speckle.Connectors.AutocadShared.projitems" Label="Shared" />
|
||||
</Project>
|
||||
|
||||
+5
-5
@@ -7,16 +7,16 @@
|
||||
<DefineConstants>$(DefineConstants);AUTOCAD;AUTOCAD2023;AUTOCAD2022_OR_GREATER;AUTOCAD2023_OR_GREATER</DefineConstants>
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2023.0.0" ExcludeAssets="runtime"/>
|
||||
</ItemGroup>
|
||||
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2023.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Autocad\Speckle.Converters.Autocad2023\Speckle.Converters.Autocad2023.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Converters.Common\Speckle.Converters.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<Import Project="..\Speckle.Connectors.AutocadShared\Speckle.Connectors.AutocadShared.projitems" Label="Shared" />
|
||||
</Project>
|
||||
|
||||
+6
-6
@@ -7,16 +7,16 @@
|
||||
<DefineConstants>$(DefineConstants);AUTOCAD;AUTOCAD2024;AUTOCAD2022_OR_GREATER;AUTOCAD2023_OR_GREATER;AUTOCAD2024_OR_GREATER</DefineConstants>
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2024.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2024.0.0" ExcludeAssets="runtime"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Autocad\Speckle.Converters.Autocad2024\Speckle.Converters.Autocad2024.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Converters.Common\Speckle.Converters.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<Import Project="..\Speckle.Connectors.AutocadShared\Speckle.Connectors.AutocadShared.projitems" Label="Shared" />
|
||||
</Project>
|
||||
|
||||
+12
-9
@@ -8,20 +8,23 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- .NET Core uses this to move native dependencies into a root for runtime selection and usage for non-windows development https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#enablewindowstargeting -->
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <!--This is needed for managed dependencies-->
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> <!--This is needed for the rest-->
|
||||
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> <!--This is needed just to keep folder paths the same as the netframework versions of autocad/civil-->
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<!--This is needed for managed dependencies-->
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<!--This is needed for the rest-->
|
||||
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
|
||||
<!--This is needed just to keep folder paths the same as the netframework versions of autocad/civil-->
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2025.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2025.0.0" ExcludeAssets="runtime"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Autocad\Speckle.Converters.Autocad2025\Speckle.Converters.Autocad2025.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Converters.Common\Speckle.Converters.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<Import Project="..\Speckle.Connectors.AutocadShared\Speckle.Connectors.AutocadShared.projitems" Label="Shared" />
|
||||
</Project>
|
||||
|
||||
+12
-9
@@ -8,20 +8,23 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- .NET Core uses this to move native dependencies into a root for runtime selection and usage for non-windows development https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#enablewindowstargeting -->
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <!--This is needed for managed dependencies-->
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> <!--This is needed for the rest-->
|
||||
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> <!--This is needed just to keep folder paths the same as the netframework versions of autocad/civil-->
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<!--This is needed for managed dependencies-->
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<!--This is needed for the rest-->
|
||||
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
|
||||
<!--This is needed just to keep folder paths the same as the netframework versions of autocad/civil-->
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2026.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2026.0.0" ExcludeAssets="runtime"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Autocad\Speckle.Converters.Autocad2026\Speckle.Converters.Autocad2026.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Converters.Common\Speckle.Converters.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<Import Project="..\Speckle.Connectors.AutocadShared\Speckle.Connectors.AutocadShared.projitems" Label="Shared" />
|
||||
</Project>
|
||||
|
||||
+11
-13
@@ -110,22 +110,20 @@ public class AutocadColorUnpacker
|
||||
string name = color.ColorNameForDisplay;
|
||||
string id = color.GetSpeckleApplicationId();
|
||||
|
||||
ColorProxy colorProxy =
|
||||
new()
|
||||
{
|
||||
value = argb,
|
||||
applicationId = id,
|
||||
name = name,
|
||||
objects = new()
|
||||
};
|
||||
ColorProxy colorProxy = new()
|
||||
{
|
||||
value = argb,
|
||||
applicationId = id,
|
||||
name = name,
|
||||
objects = new(),
|
||||
};
|
||||
|
||||
// add the color source as well for receiving in other apps
|
||||
// POC: in order to support full fidelity color support across autocad and rhino, we need to keep track of the color source property. Not sure if this is the best place to keep track of the source, vs on a ColorSourceProxy or as a property on the atomic object.
|
||||
colorProxy["source"] = color.IsByBlock
|
||||
? "block"
|
||||
: color.IsByLayer
|
||||
? "layer"
|
||||
: "object";
|
||||
colorProxy["source"] =
|
||||
color.IsByBlock ? "block"
|
||||
: color.IsByLayer ? "layer"
|
||||
: "object";
|
||||
|
||||
// set additional properties if by aci or by block
|
||||
// ByBlock colors for some reason do not have their color value set to the correct color (white): instead it's a near-black
|
||||
|
||||
@@ -53,7 +53,7 @@ public class AutocadGroupUnpacker
|
||||
{
|
||||
applicationId = groupAppId,
|
||||
name = group.Name,
|
||||
objects = [applicationId]
|
||||
objects = [applicationId],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -139,7 +139,7 @@ public class AutocadInstanceBaker : IInstanceBaker<IReadOnlyCollection<Entity>>
|
||||
? matId
|
||||
: ObjectId.Null;
|
||||
|
||||
BlockReference blockRef = new(insertionPoint, definitionId) { BlockTransform = matrix3d, Layer = layerName, };
|
||||
BlockReference blockRef = new(insertionPoint, definitionId) { BlockTransform = matrix3d, Layer = layerName };
|
||||
|
||||
if (objColor is not null)
|
||||
{
|
||||
@@ -252,7 +252,7 @@ public class AutocadInstanceBaker : IInstanceBaker<IReadOnlyCollection<Entity>>
|
||||
matrix.M41,
|
||||
matrix.M42,
|
||||
matrix.M43,
|
||||
matrix.M44
|
||||
matrix.M44,
|
||||
};
|
||||
|
||||
var m3d = new Matrix3d(scaledTransform);
|
||||
@@ -291,7 +291,7 @@ public class AutocadInstanceBaker : IInstanceBaker<IReadOnlyCollection<Entity>>
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
matrix[3, 3]
|
||||
matrix[3, 3],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
+9
-10
@@ -68,15 +68,14 @@ public class AutocadInstanceUnpacker : IInstanceUnpacker<AutocadRootObject>
|
||||
: instance.BlockTableRecord;
|
||||
|
||||
// transforms on instances are always stored in WCS
|
||||
InstanceProxy instanceProxy =
|
||||
new()
|
||||
{
|
||||
applicationId = instanceId,
|
||||
definitionId = definitionId.ToString(),
|
||||
maxDepth = depth,
|
||||
transform = TransformHelper.ConvertToInstanceMatrix4x4(instance.BlockTransform),
|
||||
units = _unitsConverter.ConvertOrThrow(Application.DocumentManager.CurrentDocument.Database.Insunits)
|
||||
};
|
||||
InstanceProxy instanceProxy = new()
|
||||
{
|
||||
applicationId = instanceId,
|
||||
definitionId = definitionId.ToString(),
|
||||
maxDepth = depth,
|
||||
transform = TransformHelper.ConvertToInstanceMatrix4x4(instance.BlockTransform),
|
||||
units = _unitsConverter.ConvertOrThrow(Application.DocumentManager.CurrentDocument.Database.Insunits),
|
||||
};
|
||||
|
||||
var properties = _propertiesExtractor.GetProperties(instance);
|
||||
if (properties?.Count > 0)
|
||||
@@ -153,7 +152,7 @@ public class AutocadInstanceUnpacker : IInstanceUnpacker<AutocadRootObject>
|
||||
applicationId = definitionId.ToString(),
|
||||
objects = new(),
|
||||
maxDepth = depth,
|
||||
name = !instance.AnonymousBlockTableRecord.IsNull ? "Dynamic instance " + definitionId : definition.Name
|
||||
name = !instance.AnonymousBlockTableRecord.IsNull ? "Dynamic instance " + definitionId : definition.Name,
|
||||
};
|
||||
|
||||
// Go through each definition object
|
||||
|
||||
@@ -170,13 +170,12 @@ public class AutocadMaterialBaker : IAutocadMaterialBaker
|
||||
MaterialColor diffuseColor = new(Method.Override, 1, entityDiffuseColor);
|
||||
MaterialDiffuseComponent diffuse = new(diffuseColor, map);
|
||||
|
||||
Material mat =
|
||||
new()
|
||||
{
|
||||
Name = matName,
|
||||
Opacity = opacity,
|
||||
Diffuse = diffuse
|
||||
};
|
||||
Material mat = new()
|
||||
{
|
||||
Name = matName,
|
||||
Opacity = opacity,
|
||||
Diffuse = diffuse,
|
||||
};
|
||||
|
||||
if (renderMaterial["reflectivity"] is double reflectivity)
|
||||
{
|
||||
|
||||
+8
-9
@@ -122,14 +122,13 @@ public class AutocadMaterialUnpacker
|
||||
diffuseColor.Blue
|
||||
);
|
||||
|
||||
RenderMaterial renderMaterial =
|
||||
new()
|
||||
{
|
||||
name = material.Name,
|
||||
opacity = material.Opacity.Percentage,
|
||||
diffuse = diffuse.ToArgb(),
|
||||
applicationId = id
|
||||
};
|
||||
RenderMaterial renderMaterial = new()
|
||||
{
|
||||
name = material.Name,
|
||||
opacity = material.Opacity.Percentage,
|
||||
diffuse = diffuse.ToArgb(),
|
||||
applicationId = id,
|
||||
};
|
||||
|
||||
// Add additional properties
|
||||
renderMaterial["ior"] = material.Refraction.Index;
|
||||
@@ -139,7 +138,7 @@ public class AutocadMaterialUnpacker
|
||||
{
|
||||
value = renderMaterial,
|
||||
objects = new(),
|
||||
applicationId = id
|
||||
applicationId = id,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
+7
-8
@@ -74,14 +74,13 @@ public abstract class AutocadContinuousTraversalBaseBuilder : IRootContinuousTra
|
||||
)
|
||||
{
|
||||
// 0 - Init the root
|
||||
Collection root =
|
||||
new()
|
||||
{
|
||||
name = Application
|
||||
.DocumentManager.CurrentDocument.Name.Split(_documentPathSeparator, StringSplitOptions.None)
|
||||
.Reverse()
|
||||
.First()
|
||||
};
|
||||
Collection root = new()
|
||||
{
|
||||
name = Application
|
||||
.DocumentManager.CurrentDocument.Name.Split(_documentPathSeparator, StringSplitOptions.None)
|
||||
.Reverse()
|
||||
.First(),
|
||||
};
|
||||
|
||||
Document doc = Application.DocumentManager.CurrentDocument;
|
||||
using Transaction tr = doc.Database.TransactionManager.StartTransaction();
|
||||
|
||||
+8
-9
@@ -73,15 +73,14 @@ public abstract class AutocadRootObjectBaseBuilder : IRootObjectBuilder<AutocadR
|
||||
)
|
||||
{
|
||||
// 0 - Init the root
|
||||
Collection root =
|
||||
new()
|
||||
{
|
||||
name = Application
|
||||
.DocumentManager.CurrentDocument.Name // POC: https://spockle.atlassian.net/browse/CNX-9319
|
||||
.Split(_documentPathSeparator, StringSplitOptions.None)
|
||||
.Reverse()
|
||||
.First()
|
||||
};
|
||||
Collection root = new()
|
||||
{
|
||||
name = Application
|
||||
.DocumentManager.CurrentDocument.Name // POC: https://spockle.atlassian.net/browse/CNX-9319
|
||||
.Split(_documentPathSeparator, StringSplitOptions.None)
|
||||
.Reverse()
|
||||
.First(),
|
||||
};
|
||||
|
||||
// TODO: better handling for document and transactions!!
|
||||
Document doc = Application.DocumentManager.CurrentDocument;
|
||||
|
||||
@@ -37,7 +37,7 @@ public class AutocadCommand
|
||||
PaletteSet = new PaletteSet($"Speckle", s_id)
|
||||
{
|
||||
Size = new Size(400, 500),
|
||||
DockEnabled = (DockSides)((int)DockSides.Left + (int)DockSides.Right)
|
||||
DockEnabled = (DockSides)((int)DockSides.Left + (int)DockSides.Right),
|
||||
};
|
||||
|
||||
// init DI
|
||||
|
||||
@@ -53,13 +53,12 @@ public class AutocadRibbon
|
||||
RibbonPanel panel = new() { Source = source };
|
||||
tab.Panels.Add(panel);
|
||||
|
||||
RibbonToolTip speckleToolTip =
|
||||
new()
|
||||
{
|
||||
Title = "Speckle",
|
||||
Content = $"Next Gen Speckle Connector for {AppUtils.App.Name}",
|
||||
IsHelpEnabled = true // Without this "Press F1 for help" does not appear in the tooltip
|
||||
};
|
||||
RibbonToolTip speckleToolTip = new()
|
||||
{
|
||||
Title = "Speckle",
|
||||
Content = $"Next Gen Speckle Connector for {AppUtils.App.Name}",
|
||||
IsHelpEnabled = true, // Without this "Press F1 for help" does not appear in the tooltip
|
||||
};
|
||||
|
||||
_ = CreateSpeckleButton("Speckle", source, null, speckleToolTip, "logo");
|
||||
}
|
||||
@@ -121,7 +120,7 @@ public class AutocadRibbon
|
||||
ShowText = true,
|
||||
ToolTip = tooltip,
|
||||
HelpSource = new System.Uri("https://speckle.guide/user/autocadcivil.html"),
|
||||
Size = RibbonItemSize.Large
|
||||
Size = RibbonItemSize.Large,
|
||||
};
|
||||
|
||||
if (TryLoadPngImgSource(imageName + "16.png", out ImageSource? imageSource))
|
||||
|
||||
+54
-72
@@ -1,79 +1,61 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ApplicationPackage
|
||||
SchemaVersion="1.0"
|
||||
AppVersion="1.0"
|
||||
Author="AEC SYSTEMS LTD"
|
||||
Name="Speckle for AutoCAD"
|
||||
Description="Speckle for AutoCAD"
|
||||
Icon="./Contents/Resources/Logo.ico"
|
||||
ProductCode="{958850b9-3782-4e6f-b9b3-1b570e0fcae1}"
|
||||
UpgradeCode="{274de351-80aa-4972-9b45-6a93f8ce968f}"> <!-- For now, we're not updating the AppVersion & ProductCodes with each version -->
|
||||
|
||||
<CompanyDetails
|
||||
Name="Speckle"
|
||||
Url="https://speckle.systems"
|
||||
Email="support@speckle.systems" />
|
||||
<Components>
|
||||
|
||||
<!-- AutoCAD 2022 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Autocad2022"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Autocad2022/Speckle.Connectors.Autocad2022.dll"
|
||||
LoadOnAutoCADStartup="True">
|
||||
<RuntimeRequirements
|
||||
OS="Win64"
|
||||
Platform="AutoCAD"
|
||||
SeriesMin="R24.1"
|
||||
SeriesMax="R24.1" />
|
||||
</ComponentEntry>
|
||||
<ApplicationPackage
|
||||
SchemaVersion="1.0"
|
||||
AppVersion="1.0"
|
||||
Author="AEC SYSTEMS LTD"
|
||||
Name="Speckle for AutoCAD"
|
||||
Description="Speckle for AutoCAD"
|
||||
Icon="./Contents/Resources/Logo.ico"
|
||||
ProductCode="{958850b9-3782-4e6f-b9b3-1b570e0fcae1}"
|
||||
UpgradeCode="{274de351-80aa-4972-9b45-6a93f8ce968f}"
|
||||
>
|
||||
<!-- For now, we're not updating the AppVersion & ProductCodes with each version -->
|
||||
|
||||
<!-- AutoCAD 2023 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Autocad2023"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Autocad2023/Speckle.Connectors.Autocad2023.dll"
|
||||
LoadOnAutoCADStartup="True">
|
||||
<RuntimeRequirements
|
||||
OS="Win64"
|
||||
Platform="AutoCAD"
|
||||
SeriesMin="R24.2"
|
||||
SeriesMax="R24.2" />
|
||||
</ComponentEntry>
|
||||
<CompanyDetails Name="Speckle" Url="https://speckle.systems" Email="support@speckle.systems" />
|
||||
<Components>
|
||||
<!-- AutoCAD 2022 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Autocad2022"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Autocad2022/Speckle.Connectors.Autocad2022.dll"
|
||||
LoadOnAutoCADStartup="True"
|
||||
>
|
||||
<RuntimeRequirements OS="Win64" Platform="AutoCAD" SeriesMin="R24.1" SeriesMax="R24.1" />
|
||||
</ComponentEntry>
|
||||
|
||||
<!-- AutoCAD 2024 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Autocad2024"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Autocad2024/Speckle.Connectors.Autocad2024.dll"
|
||||
LoadOnAutoCADStartup="True">
|
||||
<RuntimeRequirements
|
||||
OS="Win64"
|
||||
Platform="AutoCAD"
|
||||
SeriesMin="R24.3"
|
||||
SeriesMax="R24.3" />
|
||||
</ComponentEntry>
|
||||
<!-- AutoCAD 2023 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Autocad2023"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Autocad2023/Speckle.Connectors.Autocad2023.dll"
|
||||
LoadOnAutoCADStartup="True"
|
||||
>
|
||||
<RuntimeRequirements OS="Win64" Platform="AutoCAD" SeriesMin="R24.2" SeriesMax="R24.2" />
|
||||
</ComponentEntry>
|
||||
|
||||
<!-- AutoCAD 2025 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Autocad2025"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Autocad2025/Speckle.Connectors.Autocad2025.dll"
|
||||
LoadOnAutoCADStartup="True">
|
||||
<RuntimeRequirements
|
||||
OS="Win64"
|
||||
Platform="AutoCAD"
|
||||
SeriesMin="R25.0"
|
||||
SeriesMax="R25.0" />
|
||||
</ComponentEntry>
|
||||
<!-- AutoCAD 2024 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Autocad2024"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Autocad2024/Speckle.Connectors.Autocad2024.dll"
|
||||
LoadOnAutoCADStartup="True"
|
||||
>
|
||||
<RuntimeRequirements OS="Win64" Platform="AutoCAD" SeriesMin="R24.3" SeriesMax="R24.3" />
|
||||
</ComponentEntry>
|
||||
|
||||
<!-- AutoCAD 2026 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Autocad2026"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Autocad2026/Speckle.Connectors.Autocad2026.dll"
|
||||
LoadOnAutoCADStartup="True">
|
||||
<RuntimeRequirements
|
||||
OS="Win64"
|
||||
Platform="AutoCAD"
|
||||
SeriesMin="R25.1"
|
||||
SeriesMax="R25.1" />
|
||||
</ComponentEntry>
|
||||
</Components>
|
||||
<!-- AutoCAD 2025 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Autocad2025"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Autocad2025/Speckle.Connectors.Autocad2025.dll"
|
||||
LoadOnAutoCADStartup="True"
|
||||
>
|
||||
<RuntimeRequirements OS="Win64" Platform="AutoCAD" SeriesMin="R25.0" SeriesMax="R25.0" />
|
||||
</ComponentEntry>
|
||||
|
||||
<!-- AutoCAD 2026 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Autocad2026"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Autocad2026/Speckle.Connectors.Autocad2026.dll"
|
||||
LoadOnAutoCADStartup="True"
|
||||
>
|
||||
<RuntimeRequirements OS="Win64" Platform="AutoCAD" SeriesMin="R25.1" SeriesMax="R25.1" />
|
||||
</ComponentEntry>
|
||||
</Components>
|
||||
</ApplicationPackage>
|
||||
|
||||
+53
-71
@@ -1,79 +1,61 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ApplicationPackage
|
||||
SchemaVersion="1.0"
|
||||
AppVersion="1.0"
|
||||
Author="AEC SYSTEMS LTD"
|
||||
Name="Speckle for Civil 3D"
|
||||
Description="Speckle for Civil 3D"
|
||||
Icon="./Contents/Resources/Logo.ico"
|
||||
ProductCode="{cecad7b2-daa9-4a9d-941d-737619ffd999}"
|
||||
UpgradeCode="{ccf4134d-0e24-4e91-8bf4-781ec7313bef}"> <!-- For now, we're not updating the AppVersion & ProductCodes with each version -->
|
||||
SchemaVersion="1.0"
|
||||
AppVersion="1.0"
|
||||
Author="AEC SYSTEMS LTD"
|
||||
Name="Speckle for Civil 3D"
|
||||
Description="Speckle for Civil 3D"
|
||||
Icon="./Contents/Resources/Logo.ico"
|
||||
ProductCode="{cecad7b2-daa9-4a9d-941d-737619ffd999}"
|
||||
UpgradeCode="{ccf4134d-0e24-4e91-8bf4-781ec7313bef}"
|
||||
>
|
||||
<!-- For now, we're not updating the AppVersion & ProductCodes with each version -->
|
||||
|
||||
<CompanyDetails
|
||||
Name="Speckle"
|
||||
Url="https://speckle.systems"
|
||||
Email="support@speckle.systems" />
|
||||
<Components>
|
||||
<CompanyDetails Name="Speckle" Url="https://speckle.systems" Email="support@speckle.systems" />
|
||||
<Components>
|
||||
<!-- AutoCAD 2022 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Civil3d2022"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Civil3d2022/Speckle.Connectors.Civil3d2022.dll"
|
||||
LoadOnAutoCADStartup="True"
|
||||
>
|
||||
<RuntimeRequirements OS="Win64" Platform="Civil3D" SeriesMin="R24.1" SeriesMax="R24.1" />
|
||||
</ComponentEntry>
|
||||
|
||||
<!-- AutoCAD 2022 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Civil3d2022"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Civil3d2022/Speckle.Connectors.Civil3d2022.dll"
|
||||
LoadOnAutoCADStartup="True">
|
||||
<RuntimeRequirements
|
||||
OS="Win64"
|
||||
Platform="Civil3D"
|
||||
SeriesMin="R24.1"
|
||||
SeriesMax="R24.1" />
|
||||
</ComponentEntry>
|
||||
<!-- AutoCAD 2023 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Civil3d2023"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Civil3d2023/Speckle.Connectors.Civil3d2023.dll"
|
||||
LoadOnAutoCADStartup="True"
|
||||
>
|
||||
<RuntimeRequirements OS="Win64" Platform="Civil3D" SeriesMin="R24.2" SeriesMax="R24.2" />
|
||||
</ComponentEntry>
|
||||
|
||||
<!-- AutoCAD 2023 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Civil3d2023"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Civil3d2023/Speckle.Connectors.Civil3d2023.dll"
|
||||
LoadOnAutoCADStartup="True">
|
||||
<RuntimeRequirements
|
||||
OS="Win64"
|
||||
Platform="Civil3D"
|
||||
SeriesMin="R24.2"
|
||||
SeriesMax="R24.2" />
|
||||
</ComponentEntry>
|
||||
<!-- AutoCAD 2024 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Civil3d2024"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Civil3d2024/Speckle.Connectors.Civil3d2024.dll"
|
||||
LoadOnAutoCADStartup="True"
|
||||
>
|
||||
<RuntimeRequirements OS="Win64" Platform="Civil3D" SeriesMin="R24.3" SeriesMax="R24.3" />
|
||||
</ComponentEntry>
|
||||
|
||||
<!-- AutoCAD 2024 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Civil3d2024"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Civil3d2024/Speckle.Connectors.Civil3d2024.dll"
|
||||
LoadOnAutoCADStartup="True">
|
||||
<RuntimeRequirements
|
||||
OS="Win64"
|
||||
Platform="Civil3D"
|
||||
SeriesMin="R24.3"
|
||||
SeriesMax="R24.3" />
|
||||
</ComponentEntry>
|
||||
|
||||
<!-- AutoCAD 2025 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Civil3d2025"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Civil3d2025/Speckle.Connectors.Civil3d2025.dll"
|
||||
LoadOnAutoCADStartup="True">
|
||||
<RuntimeRequirements
|
||||
OS="Win64"
|
||||
Platform="Civil3D"
|
||||
SeriesMin="R25.0"
|
||||
SeriesMax="R25.0" />
|
||||
</ComponentEntry>
|
||||
|
||||
<!-- AutoCAD 2026 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Civil3d2026"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Civil3d2026/Speckle.Connectors.Civil3d2026.dll"
|
||||
LoadOnAutoCADStartup="True">
|
||||
<RuntimeRequirements
|
||||
OS="Win64"
|
||||
Platform="Civil3D"
|
||||
SeriesMin="R25.1"
|
||||
SeriesMax="R25.1" />
|
||||
</ComponentEntry>
|
||||
</Components>
|
||||
<!-- AutoCAD 2025 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Civil3d2025"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Civil3d2025/Speckle.Connectors.Civil3d2025.dll"
|
||||
LoadOnAutoCADStartup="True"
|
||||
>
|
||||
<RuntimeRequirements OS="Win64" Platform="Civil3D" SeriesMin="R25.0" SeriesMax="R25.0" />
|
||||
</ComponentEntry>
|
||||
|
||||
<!-- AutoCAD 2026 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Civil3d2026"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Civil3d2026/Speckle.Connectors.Civil3d2026.dll"
|
||||
LoadOnAutoCADStartup="True"
|
||||
>
|
||||
<RuntimeRequirements OS="Win64" Platform="Civil3D" SeriesMin="R25.1" SeriesMax="R25.1" />
|
||||
</ComponentEntry>
|
||||
</Components>
|
||||
</ApplicationPackage>
|
||||
|
||||
+20
-28
@@ -1,31 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ApplicationPackage
|
||||
SchemaVersion="1.0"
|
||||
AppVersion="1.0"
|
||||
Author="AEC SYSTEMS LTD"
|
||||
Name="Speckle for Plant 3D"
|
||||
Description="Speckle for Plant 3D"
|
||||
Icon="./Contents/Resources/Logo.ico"
|
||||
ProductCode="{b91352b6-01db-4084-93c8-684bb231947e}"
|
||||
UpgradeCode="{91c7e43f-e962-40e9-85bd-d6bd733b6964}">
|
||||
|
||||
<CompanyDetails
|
||||
Name="Speckle"
|
||||
Url="https://speckle.systems"
|
||||
Email="support@speckle.systems" />
|
||||
<Components>
|
||||
|
||||
<!-- Plant 3D 2026 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Plant3d2026"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Plant3d2026/Speckle.Connectors.Plant3d2026.dll"
|
||||
LoadOnAutoCADStartup="True">
|
||||
<RuntimeRequirements
|
||||
OS="Win64"
|
||||
Platform="Plant3D"
|
||||
SeriesMin="R25.1"
|
||||
SeriesMax="R25.1" />
|
||||
</ComponentEntry>
|
||||
</Components>
|
||||
|
||||
SchemaVersion="1.0"
|
||||
AppVersion="1.0"
|
||||
Author="AEC SYSTEMS LTD"
|
||||
Name="Speckle for Plant 3D"
|
||||
Description="Speckle for Plant 3D"
|
||||
Icon="./Contents/Resources/Logo.ico"
|
||||
ProductCode="{b91352b6-01db-4084-93c8-684bb231947e}"
|
||||
UpgradeCode="{91c7e43f-e962-40e9-85bd-d6bd733b6964}"
|
||||
>
|
||||
<CompanyDetails Name="Speckle" Url="https://speckle.systems" Email="support@speckle.systems" />
|
||||
<Components>
|
||||
<!-- Plant 3D 2026 -->
|
||||
<ComponentEntry
|
||||
AppName="Speckle.Connectors.Plant3d2026"
|
||||
ModuleName="./Contents/Windows/Speckle.Connectors.Plant3d2026/Speckle.Connectors.Plant3d2026.dll"
|
||||
LoadOnAutoCADStartup="True"
|
||||
>
|
||||
<RuntimeRequirements OS="Win64" Platform="Plant3D" SeriesMin="R25.1" SeriesMax="R25.1" />
|
||||
</ComponentEntry>
|
||||
</Components>
|
||||
</ApplicationPackage>
|
||||
|
||||
+12
-6
@@ -8,16 +8,22 @@
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2022.0.2" ExcludeAssets="runtime"/>
|
||||
<PackageReference Include="Speckle.Civil3D.API" VersionOverride="2022.0.2" ExcludeAssets="runtime"/>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2022.0.2" ExcludeAssets="runtime" />
|
||||
<PackageReference Include="Speckle.Civil3D.API" VersionOverride="2022.0.2" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Civil3d\Speckle.Converters.Civil3d2022\Speckle.Converters.Civil3d2022.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Converters.Common\Speckle.Converters.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\..\Autocad\Speckle.Connectors.AutocadShared\Speckle.Connectors.AutocadShared.projitems" Label="Shared" />
|
||||
<Import Project="..\..\Autocad\Speckle.Connectors.Civil3dShared\Speckle.Connectors.Civil3dShared.projitems" Label="Shared" />
|
||||
|
||||
<Import
|
||||
Project="..\..\Autocad\Speckle.Connectors.AutocadShared\Speckle.Connectors.AutocadShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
<Import
|
||||
Project="..\..\Autocad\Speckle.Connectors.Civil3dShared\Speckle.Connectors.Civil3dShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
</Project>
|
||||
|
||||
+12
-6
@@ -9,16 +9,22 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2023.0.0" ExcludeAssets="runtime"/>
|
||||
<PackageReference Include="Speckle.Civil3D.API" VersionOverride="2023.0.0" ExcludeAssets="runtime"/>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2023.0.0" ExcludeAssets="runtime" />
|
||||
<PackageReference Include="Speckle.Civil3D.API" VersionOverride="2023.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Civil3d\Speckle.Converters.Civil3d2023\Speckle.Converters.Civil3d2023.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Converters.Common\Speckle.Converters.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\..\Autocad\Speckle.Connectors.AutocadShared\Speckle.Connectors.AutocadShared.projitems" Label="Shared" />
|
||||
<Import Project="..\..\Autocad\Speckle.Connectors.Civil3dShared\Speckle.Connectors.Civil3dShared.projitems" Label="Shared" />
|
||||
|
||||
<Import
|
||||
Project="..\..\Autocad\Speckle.Connectors.AutocadShared\Speckle.Connectors.AutocadShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
<Import
|
||||
Project="..\..\Autocad\Speckle.Connectors.Civil3dShared\Speckle.Connectors.Civil3dShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
</Project>
|
||||
|
||||
+12
-6
@@ -9,16 +9,22 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2024.0.0" ExcludeAssets="runtime"/>
|
||||
<PackageReference Include="Speckle.Civil3D.API" VersionOverride="2024.0.0" ExcludeAssets="runtime"/>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2024.0.0" ExcludeAssets="runtime" />
|
||||
<PackageReference Include="Speckle.Civil3D.API" VersionOverride="2024.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Civil3d\Speckle.Converters.Civil3d2024\Speckle.Converters.Civil3d2024.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Converters.Common\Speckle.Converters.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\..\Autocad\Speckle.Connectors.AutocadShared\Speckle.Connectors.AutocadShared.projitems" Label="Shared" />
|
||||
<Import Project="..\..\Autocad\Speckle.Connectors.Civil3dShared\Speckle.Connectors.Civil3dShared.projitems" Label="Shared" />
|
||||
|
||||
<Import
|
||||
Project="..\..\Autocad\Speckle.Connectors.AutocadShared\Speckle.Connectors.AutocadShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
<Import
|
||||
Project="..\..\Autocad\Speckle.Connectors.Civil3dShared\Speckle.Connectors.Civil3dShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
</Project>
|
||||
|
||||
+14
-11
@@ -8,23 +8,26 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- .NET Core uses this to move native dependencies into a root for runtime selection and usage for non-windows development https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#enablewindowstargeting -->
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <!--This is needed for managed dependencies-->
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> <!--This is needed for the rest-->
|
||||
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> <!--This is needed just to keep folder paths the same as the netframework versions of autocad/civil-->
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<!--This is needed for managed dependencies-->
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<!--This is needed for the rest-->
|
||||
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
|
||||
<!--This is needed just to keep folder paths the same as the netframework versions of autocad/civil-->
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2025.0.0" ExcludeAssets="runtime" />
|
||||
<PackageReference Include="Speckle.Civil3d.API" VersionOverride="2025.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2025.0.0" ExcludeAssets="runtime"/>
|
||||
<PackageReference Include="Speckle.Civil3d.API" VersionOverride="2025.0.0" ExcludeAssets="runtime"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Civil3d\Speckle.Converters.Civil3d2025\Speckle.Converters.Civil3d2025.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Converters.Common\Speckle.Converters.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<Import Project="..\Speckle.Connectors.Civil3dShared\Speckle.Connectors.Civil3dShared.projitems" Label="Shared" />
|
||||
|
||||
|
||||
<Import Project="..\Speckle.Connectors.AutocadShared\Speckle.Connectors.AutocadShared.projitems" Label="Shared" />
|
||||
</Project>
|
||||
|
||||
+15
-12
@@ -8,23 +8,26 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- .NET Core uses this to move native dependencies into a root for runtime selection and usage for non-windows development https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#enablewindowstargeting -->
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <!--This is needed for managed dependencies-->
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> <!--This is needed for the rest-->
|
||||
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> <!--This is needed just to keep folder paths the same as the netframework versions of autocad/civil-->
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<!--This is needed for managed dependencies-->
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<!--This is needed for the rest-->
|
||||
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
|
||||
<!--This is needed just to keep folder paths the same as the netframework versions of autocad/civil-->
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2026.0.0" ExcludeAssets="runtime"/>
|
||||
<PackageReference Include="Speckle.Civil3d.API" VersionOverride="2026.0.0" ExcludeAssets="runtime"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Civil3d\Speckle.Converters.Civil3d2026\Speckle.Converters.Civil3d2026.csproj" />
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2026.0.0" ExcludeAssets="runtime" />
|
||||
<PackageReference Include="Speckle.Civil3d.API" VersionOverride="2026.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Civil3d\Speckle.Converters.Civil3d2026\Speckle.Converters.Civil3d2026.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Converters.Common\Speckle.Converters.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<Import Project="..\Speckle.Connectors.Civil3dShared\Speckle.Connectors.Civil3dShared.projitems" Label="Shared" />
|
||||
|
||||
|
||||
<Import Project="..\Speckle.Connectors.AutocadShared\Speckle.Connectors.AutocadShared.projitems" Label="Shared" />
|
||||
</Project>
|
||||
|
||||
@@ -281,7 +281,7 @@ public class PropertySetBaker
|
||||
{
|
||||
AAEC.PropertyData.DataType.Integer => (int)(long)defaultValue,
|
||||
AAEC.PropertyData.DataType.AutoIncrement => (int)(long)defaultValue,
|
||||
_ => defaultValue
|
||||
_ => defaultValue,
|
||||
};
|
||||
|
||||
propDef.DefaultData = convertedValue;
|
||||
|
||||
+8
-5
@@ -8,14 +8,17 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- .NET Core uses this to move native dependencies into a root for runtime selection and usage for non-windows development https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#enablewindowstargeting -->
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <!--This is needed for managed dependencies-->
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> <!--This is needed for the rest-->
|
||||
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> <!--This is needed just to keep folder paths the same as the netframework versions-->
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<!--This is needed for managed dependencies-->
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<!--This is needed for the rest-->
|
||||
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
|
||||
<!--This is needed just to keep folder paths the same as the netframework versions-->
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2026.0.0" ExcludeAssets="runtime"/>
|
||||
<PackageReference Include="Speckle.Plant3D.API" VersionOverride="2026.0.0" ExcludeAssets="runtime"/>
|
||||
<PackageReference Include="Speckle.AutoCAD.API" VersionOverride="2026.0.0" ExcludeAssets="runtime" />
|
||||
<PackageReference Include="Speckle.Plant3D.API" VersionOverride="2026.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -48,11 +48,10 @@ public class CsiSharedSelectionBinding : ISelectionBinding, IDisposable
|
||||
{
|
||||
_lastSelection = currentIds;
|
||||
// ensure UI updates also run on main thread
|
||||
_threadContext.RunOnMain(
|
||||
() =>
|
||||
_topLevelExceptionHandler.CatchUnhandled(
|
||||
() => Parent.Send(SelectionBindingEvents.SET_SELECTION, currentSelection)
|
||||
)
|
||||
_threadContext.RunOnMain(() =>
|
||||
_topLevelExceptionHandler.CatchUnhandled(() =>
|
||||
Parent.Send(SelectionBindingEvents.SET_SELECTION, currentSelection)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -98,7 +98,7 @@ public class CsiMaterialPropertyExtractor : IMaterialPropertyExtractor
|
||||
1 => DirectionalSymmetryType.ORTHOTROPIC,
|
||||
2 => DirectionalSymmetryType.ANISOTROPIC,
|
||||
3 => DirectionalSymmetryType.UNIAXIAL,
|
||||
_ => throw new ArgumentException($"Unknown symmetry type: {materialDirectionalSymmetryKey}")
|
||||
_ => throw new ArgumentException($"Unknown symmetry type: {materialDirectionalSymmetryKey}"),
|
||||
};
|
||||
|
||||
var mechanicalProperties = properties.EnsureNested(SectionPropertyCategory.MECHANICAL_DATA);
|
||||
|
||||
+1
-1
@@ -24,6 +24,6 @@ public class CsiResultsExtractorFactory
|
||||
ResultsKey.SPANDREL_FORCES => _serviceProvider.GetRequiredService<CsiSpandrelForceResultsExtractor>(),
|
||||
ResultsKey.STORY_DRIFTS => _serviceProvider.GetRequiredService<CsiStoryDriftsResultsExtractor>(),
|
||||
ResultsKey.STORY_FORCES => _serviceProvider.GetRequiredService<CsiStoryForceResultsExtractor>(),
|
||||
_ => throw new InvalidOperationException($"{resultsKey} not accounted for in CsiResultsExtractorFactory")
|
||||
_ => throw new InvalidOperationException($"{resultsKey} not accounted for in CsiResultsExtractorFactory"),
|
||||
};
|
||||
}
|
||||
|
||||
+13
-14
@@ -47,20 +47,19 @@ public class CsiShellSectionPropertyExtractor : IShellSectionPropertyExtractor
|
||||
double[] stiffnessModifiersArray = [];
|
||||
_settingsStore.Current.SapModel.PropArea.GetModifiers(sectionName, ref stiffnessModifiersArray);
|
||||
|
||||
Dictionary<string, object?> modifiers =
|
||||
new()
|
||||
{
|
||||
["Membrane f11 Direction"] = stiffnessModifiersArray[0],
|
||||
["Membrane f22 Direction"] = stiffnessModifiersArray[1],
|
||||
["Membrane f12 Direction"] = stiffnessModifiersArray[2],
|
||||
["Bending m11 Direction"] = stiffnessModifiersArray[3],
|
||||
["Bending m22 Direction"] = stiffnessModifiersArray[3],
|
||||
["Bending m12 Direction"] = stiffnessModifiersArray[4],
|
||||
["Shear v13 Direction"] = stiffnessModifiersArray[5],
|
||||
["Shear v23 Direction"] = stiffnessModifiersArray[6],
|
||||
["Mass"] = stiffnessModifiersArray[7],
|
||||
["Weight"] = stiffnessModifiersArray[8]
|
||||
};
|
||||
Dictionary<string, object?> modifiers = new()
|
||||
{
|
||||
["Membrane f11 Direction"] = stiffnessModifiersArray[0],
|
||||
["Membrane f22 Direction"] = stiffnessModifiersArray[1],
|
||||
["Membrane f12 Direction"] = stiffnessModifiersArray[2],
|
||||
["Bending m11 Direction"] = stiffnessModifiersArray[3],
|
||||
["Bending m22 Direction"] = stiffnessModifiersArray[3],
|
||||
["Bending m12 Direction"] = stiffnessModifiersArray[4],
|
||||
["Shear v13 Direction"] = stiffnessModifiersArray[5],
|
||||
["Shear v23 Direction"] = stiffnessModifiersArray[6],
|
||||
["Mass"] = stiffnessModifiersArray[7],
|
||||
["Weight"] = stiffnessModifiersArray[8],
|
||||
};
|
||||
|
||||
var generalData = properties.EnsureNested(SectionPropertyCategory.GENERAL_DATA);
|
||||
generalData["Modifiers"] = modifiers;
|
||||
|
||||
+8
-9
@@ -70,14 +70,13 @@ public class CsiContinuousTraversalBuilder : IRootContinuousTraversalBuilder<ICs
|
||||
string modelFileName = _csiApplicationService.SapModel.GetModelFilename(false) ?? "Unnamed model";
|
||||
(string forceUnit, string tempUnit) = GetForceAndTemperatureUnits();
|
||||
|
||||
Collection rootObjectCollection =
|
||||
new()
|
||||
{
|
||||
name = modelFileName,
|
||||
["units"] = _converterSettings.Current.SpeckleUnits,
|
||||
["forceUnits"] = forceUnit,
|
||||
["temperatureUnits"] = tempUnit
|
||||
};
|
||||
Collection rootObjectCollection = new()
|
||||
{
|
||||
name = modelFileName,
|
||||
["units"] = _converterSettings.Current.SpeckleUnits,
|
||||
["forceUnits"] = forceUnit,
|
||||
["temperatureUnits"] = tempUnit,
|
||||
};
|
||||
|
||||
List<SendConversionResult> results = new(csiObjects.Count);
|
||||
int count = 0;
|
||||
@@ -166,7 +165,7 @@ public class CsiContinuousTraversalBuilder : IRootContinuousTraversalBuilder<ICs
|
||||
CsiShellWrapper shellWrapper => shellWrapper.GetSpeckleApplicationId(_csiApplicationService.SapModel),
|
||||
CsiSolidWrapper solidWrapper => solidWrapper.GetSpeckleApplicationId(_csiApplicationService.SapModel),
|
||||
CsiLinkWrapper linkWrapper => linkWrapper.GetSpeckleApplicationId(_csiApplicationService.SapModel),
|
||||
_ => throw new ArgumentException($"Unsupported wrapper type: {csiObject.GetType()}", nameof(csiObject))
|
||||
_ => throw new ArgumentException($"Unsupported wrapper type: {csiObject.GetType()}", nameof(csiObject)),
|
||||
};
|
||||
|
||||
try
|
||||
|
||||
@@ -86,14 +86,13 @@ public class CsiRootObjectBuilder : IRootObjectBuilder<ICsiWrapper>
|
||||
string modelFileName = _csiApplicationService.SapModel.GetModelFilename(false) ?? "Unnamed model";
|
||||
(string forceUnit, string tempUnit) = GetForceAndTemperatureUnits();
|
||||
|
||||
Collection rootObjectCollection =
|
||||
new()
|
||||
{
|
||||
name = modelFileName,
|
||||
["units"] = _converterSettings.Current.SpeckleUnits,
|
||||
["forceUnits"] = forceUnit,
|
||||
["temperatureUnits"] = tempUnit
|
||||
};
|
||||
Collection rootObjectCollection = new()
|
||||
{
|
||||
name = modelFileName,
|
||||
["units"] = _converterSettings.Current.SpeckleUnits,
|
||||
["forceUnits"] = forceUnit,
|
||||
["temperatureUnits"] = tempUnit,
|
||||
};
|
||||
|
||||
List<SendConversionResult> results = new(csiObjects.Count);
|
||||
int count = 0;
|
||||
@@ -180,7 +179,7 @@ public class CsiRootObjectBuilder : IRootObjectBuilder<ICsiWrapper>
|
||||
CsiShellWrapper shellWrapper => shellWrapper.GetSpeckleApplicationId(_csiApplicationService.SapModel),
|
||||
CsiSolidWrapper solidWrapper => solidWrapper.GetSpeckleApplicationId(_csiApplicationService.SapModel),
|
||||
CsiLinkWrapper linkWrapper => linkWrapper.GetSpeckleApplicationId(_csiApplicationService.SapModel),
|
||||
_ => throw new ArgumentException($"Unsupported wrapper type: {csiObject.GetType()}", nameof(csiObject))
|
||||
_ => throw new ArgumentException($"Unsupported wrapper type: {csiObject.GetType()}", nameof(csiObject)),
|
||||
};
|
||||
|
||||
try
|
||||
|
||||
@@ -1,33 +1,35 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net48</TargetFramework>
|
||||
<Platforms>AnyCPU</Platforms>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<UseWPF>true</UseWPF>
|
||||
<ETABSVersion>21</ETABSVersion>
|
||||
<DefineConstants>$(DefineConstants);ETABS21</DefineConstants>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net48</TargetFramework>
|
||||
<Platforms>AnyCPU</Platforms>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<UseWPF>true</UseWPF>
|
||||
<ETABSVersion>21</ETABSVersion>
|
||||
<DefineConstants>$(DefineConstants);ETABS21</DefineConstants>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\CSi\Speckle.Converters.ETABS21\Speckle.Converters.ETABS21.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\CSi\Speckle.Converters.ETABS21\Speckle.Converters.ETABS21.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj" />
|
||||
<ItemGroup>
|
||||
<PackageReference
|
||||
Include="Speckle.CSI.API"
|
||||
PrivateAssets="all"
|
||||
IncludeAssets="compile; build"
|
||||
VersionOverride="1.30.0"
|
||||
/>
|
||||
</ItemGroup>
|
||||
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Update="Plugin\SpeckleForm.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.CSI.API" PrivateAssets="all" IncludeAssets="compile; build" VersionOverride="1.30.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="Plugin\SpeckleForm.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\Speckle.Connectors.CSiShared\Speckle.Connectors.CSiShared.projitems" Label="Shared" />
|
||||
|
||||
<Import Project="..\Speckle.Connectors.ETABSShared\Speckle.Connectors.ETABSShared.projitems" Label="Shared" />
|
||||
<Import Project="..\Speckle.Connectors.CSiShared\Speckle.Connectors.CSiShared.projitems" Label="Shared" />
|
||||
|
||||
<Import Project="..\Speckle.Connectors.ETABSShared\Speckle.Connectors.ETABSShared.projitems" Label="Shared" />
|
||||
</Project>
|
||||
|
||||
@@ -1,32 +1,30 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<Platforms>AnyCPU</Platforms>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<UseWPF>true</UseWPF>
|
||||
<ETABSVersion>22</ETABSVersion>
|
||||
<DefineConstants>$(DefineConstants);ETABS22;ETABS22_OR_GREATER</DefineConstants>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<Platforms>AnyCPU</Platforms>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<UseWPF>true</UseWPF>
|
||||
<ETABSVersion>22</ETABSVersion>
|
||||
<DefineConstants>$(DefineConstants);ETABS22;ETABS22_OR_GREATER</DefineConstants>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\CSi\Speckle.Converters.ETABS22\Speckle.Converters.ETABS22.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\CSi\Speckle.Converters.ETABS22\Speckle.Converters.ETABS22.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.CSI.API" PrivateAssets="all" IncludeAssets="compile; build" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.CSI.API" PrivateAssets="all" IncludeAssets="compile; build" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Update="Plugin\SpeckleForm.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="Plugin\SpeckleForm.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\Speckle.Connectors.CSiShared\Speckle.Connectors.CSiShared.projitems" Label="Shared" />
|
||||
|
||||
<Import Project="..\Speckle.Connectors.ETABSShared\Speckle.Connectors.ETABSShared.projitems" Label="Shared" />
|
||||
<Import Project="..\Speckle.Connectors.CSiShared\Speckle.Connectors.CSiShared.projitems" Label="Shared" />
|
||||
|
||||
<Import Project="..\Speckle.Connectors.ETABSShared\Speckle.Connectors.ETABSShared.projitems" Label="Shared" />
|
||||
</Project>
|
||||
|
||||
@@ -34,15 +34,14 @@ public class EtabsMaterialUnpacker : IMaterialUnpacker
|
||||
_etabsMaterialPropertyExtractor.ExtractProperties(name, properties);
|
||||
|
||||
// create the material proxy
|
||||
GroupProxy materialProxy =
|
||||
new()
|
||||
{
|
||||
id = name,
|
||||
name = name,
|
||||
applicationId = name,
|
||||
objects = sectionIds,
|
||||
["properties"] = properties
|
||||
};
|
||||
GroupProxy materialProxy = new()
|
||||
{
|
||||
id = name,
|
||||
name = name,
|
||||
applicationId = name,
|
||||
objects = sectionIds,
|
||||
["properties"] = properties,
|
||||
};
|
||||
|
||||
yield return materialProxy;
|
||||
}
|
||||
|
||||
@@ -58,16 +58,15 @@ public class EtabsSectionUnpacker : ISectionUnpacker
|
||||
}
|
||||
|
||||
// create section proxy
|
||||
GroupProxy sectionProxy =
|
||||
new()
|
||||
{
|
||||
id = sectionName,
|
||||
name = sectionName,
|
||||
applicationId = sectionName,
|
||||
objects = frameIds,
|
||||
["type"] = "Frame Section",
|
||||
["properties"] = properties
|
||||
};
|
||||
GroupProxy sectionProxy = new()
|
||||
{
|
||||
id = sectionName,
|
||||
name = sectionName,
|
||||
applicationId = sectionName,
|
||||
objects = frameIds,
|
||||
["type"] = "Frame Section",
|
||||
["properties"] = properties,
|
||||
};
|
||||
|
||||
yield return sectionProxy;
|
||||
}
|
||||
@@ -92,16 +91,15 @@ public class EtabsSectionUnpacker : ISectionUnpacker
|
||||
}
|
||||
|
||||
// create section proxy
|
||||
GroupProxy sectionProxy =
|
||||
new()
|
||||
{
|
||||
id = sectionName,
|
||||
name = sectionName,
|
||||
applicationId = sectionName,
|
||||
objects = frameIds,
|
||||
["type"] = "Shell Section", // since sectionProxies are a flat list, need some way to distinguish from frame
|
||||
["properties"] = properties // openings will just have an empty dict here
|
||||
};
|
||||
GroupProxy sectionProxy = new()
|
||||
{
|
||||
id = sectionName,
|
||||
name = sectionName,
|
||||
applicationId = sectionName,
|
||||
objects = frameIds,
|
||||
["type"] = "Shell Section", // since sectionProxies are a flat list, need some way to distinguish from frame
|
||||
["properties"] = properties, // openings will just have an empty dict here
|
||||
};
|
||||
|
||||
yield return sectionProxy;
|
||||
}
|
||||
|
||||
+12
-13
@@ -15,18 +15,17 @@ public class EtabsSendCollectionManager : CsiSendCollectionManager
|
||||
{
|
||||
private const string DEFAULT_LEVEL = "Unassigned";
|
||||
|
||||
private readonly Dictionary<ElementCategory, string> _categoryNames =
|
||||
new()
|
||||
{
|
||||
{ ElementCategory.COLUMN, "Columns" },
|
||||
{ ElementCategory.BEAM, "Beams" },
|
||||
{ ElementCategory.BRACE, "Braces" },
|
||||
{ ElementCategory.WALL, "Walls" },
|
||||
{ ElementCategory.FLOOR, "Floors" },
|
||||
{ ElementCategory.RAMP, "Ramps" },
|
||||
{ ElementCategory.JOINT, "Joints" },
|
||||
{ ElementCategory.OTHER, "Other" }
|
||||
};
|
||||
private readonly Dictionary<ElementCategory, string> _categoryNames = new()
|
||||
{
|
||||
{ ElementCategory.COLUMN, "Columns" },
|
||||
{ ElementCategory.BEAM, "Beams" },
|
||||
{ ElementCategory.BRACE, "Braces" },
|
||||
{ ElementCategory.WALL, "Walls" },
|
||||
{ ElementCategory.FLOOR, "Floors" },
|
||||
{ ElementCategory.RAMP, "Ramps" },
|
||||
{ ElementCategory.JOINT, "Joints" },
|
||||
{ ElementCategory.OTHER, "Other" },
|
||||
};
|
||||
|
||||
public EtabsSendCollectionManager(IConverterSettingsStore<CsiConversionSettings> converterSettings)
|
||||
: base(converterSettings) { }
|
||||
@@ -108,7 +107,7 @@ public class EtabsSendCollectionManager : CsiSendCollectionManager
|
||||
("Wall", nameof(ModelObjectType.SHELL)) => ElementCategory.WALL,
|
||||
("Floor", nameof(ModelObjectType.SHELL)) => ElementCategory.FLOOR,
|
||||
("Ramp", nameof(ModelObjectType.SHELL)) => ElementCategory.RAMP,
|
||||
_ => ElementCategory.OTHER
|
||||
_ => ElementCategory.OTHER,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ public class EtabsFrameSectionPropertyExtractor : IApplicationFrameSectionProper
|
||||
"FileName",
|
||||
"FromFile",
|
||||
"SectInFile",
|
||||
"NotAutoFact"
|
||||
"NotAutoFact",
|
||||
};
|
||||
|
||||
// get the section type / shape using the dedicated api query (exception to the database approach)
|
||||
|
||||
+17
-19
@@ -9,26 +9,24 @@ public class EtabsMaterialPropertyExtractor : IApplicationMaterialPropertyExtrac
|
||||
{
|
||||
private readonly IConverterSettingsStore<CsiConversionSettings> _settingsStore;
|
||||
|
||||
private readonly Dictionary<int, string?> _ssTypeDict =
|
||||
new()
|
||||
{
|
||||
{ 0, "User defined" },
|
||||
{ 1, "Parametric - Simple" },
|
||||
{ 2, "Parametric - Mander" }
|
||||
};
|
||||
private readonly Dictionary<int, string?> _ssTypeDict = new()
|
||||
{
|
||||
{ 0, "User defined" },
|
||||
{ 1, "Parametric - Simple" },
|
||||
{ 2, "Parametric - Mander" },
|
||||
};
|
||||
|
||||
private readonly Dictionary<int, string?> _ssHysTypeDict =
|
||||
new()
|
||||
{
|
||||
{ 0, "Elastic" },
|
||||
{ 1, "Kinematic" },
|
||||
{ 2, "Takeda" },
|
||||
{ 3, "Pivot" },
|
||||
{ 4, "Concrete" },
|
||||
{ 5, "BRB Hardening" },
|
||||
{ 6, "Degrading" },
|
||||
{ 7, "Isotropic" }
|
||||
};
|
||||
private readonly Dictionary<int, string?> _ssHysTypeDict = new()
|
||||
{
|
||||
{ 0, "Elastic" },
|
||||
{ 1, "Kinematic" },
|
||||
{ 2, "Takeda" },
|
||||
{ 3, "Pivot" },
|
||||
{ 4, "Concrete" },
|
||||
{ 5, "BRB Hardening" },
|
||||
{ 6, "Degrading" },
|
||||
{ 7, "Isotropic" },
|
||||
};
|
||||
|
||||
private const int TEMP = 0;
|
||||
|
||||
|
||||
+1
-1
@@ -69,7 +69,7 @@ public class EtabsSectionPropertyDefinitionService
|
||||
{
|
||||
"Frame Section Property Definitions - Summary",
|
||||
"Frame Section Property Definitions - Concrete Beam Reinforcing",
|
||||
"Frame Section Property Definitions - Concrete Column Reinforcing"
|
||||
"Frame Section Property Definitions - Concrete Column Reinforcing",
|
||||
};
|
||||
|
||||
return availableTableKeys.Where(key =>
|
||||
|
||||
+8
-5
@@ -12,16 +12,19 @@
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\Speckle.Connectors.NavisworksShared\Speckle.Connectors.NavisworksShared.projitems" Label="Shared"/>
|
||||
<Import
|
||||
Project="..\Speckle.Connectors.NavisworksShared\Speckle.Connectors.NavisworksShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="WindowsFormsIntegration"/>
|
||||
<PackageReference Include="Speckle.Navisworks.API" VersionOverride="2020.0.0" ExcludeAssets="runtime"/>
|
||||
<Reference Include="WindowsFormsIntegration" />
|
||||
<PackageReference Include="Speckle.Navisworks.API" VersionOverride="2020.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Navisworks\Speckle.Converters.Navisworks2020\Speckle.Converters.Navisworks2020.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj"/>
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj"/>
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
+8
-5
@@ -12,16 +12,19 @@
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\Speckle.Connectors.NavisworksShared\Speckle.Connectors.NavisworksShared.projitems" Label="Shared"/>
|
||||
<Import
|
||||
Project="..\Speckle.Connectors.NavisworksShared\Speckle.Connectors.NavisworksShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="WindowsFormsIntegration"/>
|
||||
<PackageReference Include="Speckle.Navisworks.API" VersionOverride="2021.0.0" ExcludeAssets="runtime"/>
|
||||
<Reference Include="WindowsFormsIntegration" />
|
||||
<PackageReference Include="Speckle.Navisworks.API" VersionOverride="2021.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Navisworks\Speckle.Converters.Navisworks2021\Speckle.Converters.Navisworks2021.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj"/>
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj"/>
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
+8
-5
@@ -12,16 +12,19 @@
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\Speckle.Connectors.NavisworksShared\Speckle.Connectors.NavisworksShared.projitems" Label="Shared"/>
|
||||
<Import
|
||||
Project="..\Speckle.Connectors.NavisworksShared\Speckle.Connectors.NavisworksShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="WindowsFormsIntegration"/>
|
||||
<PackageReference Include="Speckle.Navisworks.API" VersionOverride="2022.0.0" ExcludeAssets="runtime"/>
|
||||
<Reference Include="WindowsFormsIntegration" />
|
||||
<PackageReference Include="Speckle.Navisworks.API" VersionOverride="2022.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Navisworks\Speckle.Converters.Navisworks2022\Speckle.Converters.Navisworks2022.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj"/>
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj"/>
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
+8
-5
@@ -12,16 +12,19 @@
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\Speckle.Connectors.NavisworksShared\Speckle.Connectors.NavisworksShared.projitems" Label="Shared"/>
|
||||
<Import
|
||||
Project="..\Speckle.Connectors.NavisworksShared\Speckle.Connectors.NavisworksShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="WindowsFormsIntegration"/>
|
||||
<PackageReference Include="Speckle.Navisworks.API" VersionOverride="2023.0.0" ExcludeAssets="runtime"/>
|
||||
<Reference Include="WindowsFormsIntegration" />
|
||||
<PackageReference Include="Speckle.Navisworks.API" VersionOverride="2023.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Navisworks\Speckle.Converters.Navisworks2023\Speckle.Converters.Navisworks2023.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj"/>
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj"/>
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
+9
-6
@@ -11,17 +11,20 @@
|
||||
<DefineConstants>$(DefineConstants);TRACE;NAVIS2024;NAVIS</DefineConstants>
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\Speckle.Connectors.NavisworksShared\Speckle.Connectors.NavisworksShared.projitems" Label="Shared"/>
|
||||
|
||||
<Import
|
||||
Project="..\Speckle.Connectors.NavisworksShared\Speckle.Connectors.NavisworksShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="WindowsFormsIntegration"/>
|
||||
<PackageReference Include="Speckle.Navisworks.API" VersionOverride="2024.0.0" ExcludeAssets="runtime"/>
|
||||
<Reference Include="WindowsFormsIntegration" />
|
||||
<PackageReference Include="Speckle.Navisworks.API" VersionOverride="2024.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Navisworks\Speckle.Converters.Navisworks2024\Speckle.Converters.Navisworks2024.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj"/>
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj"/>
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
+8
-5
@@ -12,17 +12,20 @@
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\Speckle.Connectors.NavisworksShared\Speckle.Connectors.NavisworksShared.projitems" Label="Shared"/>
|
||||
<Import
|
||||
Project="..\Speckle.Connectors.NavisworksShared\Speckle.Connectors.NavisworksShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="WindowsFormsIntegration"/>
|
||||
<PackageReference Include="Speckle.Navisworks.API" VersionOverride="2025.0.0" ExcludeAssets="runtime"/>
|
||||
<Reference Include="WindowsFormsIntegration" />
|
||||
<PackageReference Include="Speckle.Navisworks.API" VersionOverride="2025.0.0" ExcludeAssets="runtime" />
|
||||
<PackageReference Include="Microsoft.Web.WebView2" VersionOverride="1.0.2045.28" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Navisworks\Speckle.Converters.Navisworks2025\Speckle.Converters.Navisworks2025.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj"/>
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj"/>
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
+8
-5
@@ -12,18 +12,21 @@
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\Speckle.Connectors.NavisworksShared\Speckle.Connectors.NavisworksShared.projitems" Label="Shared"/>
|
||||
<Import
|
||||
Project="..\Speckle.Connectors.NavisworksShared\Speckle.Connectors.NavisworksShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="WindowsFormsIntegration"/>
|
||||
<PackageReference Include="Speckle.Navisworks.API" VersionOverride="2026.0.1" ExcludeAssets="runtime"/>
|
||||
<Reference Include="WindowsFormsIntegration" />
|
||||
<PackageReference Include="Speckle.Navisworks.API" VersionOverride="2026.0.1" ExcludeAssets="runtime" />
|
||||
<PackageReference Include="Microsoft.Web.WebView2" VersionOverride="1.0.2365.46" />
|
||||
<PackageReference Include="System.Reactive" VersionOverride="6.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Converters\Navisworks\Speckle.Converters.Navisworks2026\Speckle.Converters.Navisworks2026.csproj" />
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj"/>
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj"/>
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj" />
|
||||
<ProjectReference Include="..\..\..\DUI3\Speckle.Connectors.DUI.WebView\Speckle.Connectors.DUI.WebView.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
+2
-2
@@ -66,7 +66,7 @@ public class NavisworksSendBinding : ISendBinding
|
||||
[
|
||||
new NavisworksSelectionFilter() { IsDefault = true },
|
||||
new NavisworksSavedSetsFilter(new ConnectorElementSelectionService()),
|
||||
new NavisworksSavedViewsFilter(new ConnectorElementSelectionService())
|
||||
new NavisworksSavedViewsFilter(new ConnectorElementSelectionService()),
|
||||
];
|
||||
|
||||
public List<ICardSetting> GetSendSettings() =>
|
||||
@@ -76,7 +76,7 @@ public class NavisworksSendBinding : ISendBinding
|
||||
new IncludeInternalPropertiesSetting(false),
|
||||
new ConvertHiddenElementsSetting(false),
|
||||
new PreserveModelHierarchySetting(false),
|
||||
new RevitCategoryMappingSetting(false)
|
||||
new RevitCategoryMappingSetting(false),
|
||||
];
|
||||
|
||||
public async Task Send(string modelCardId) =>
|
||||
|
||||
+1
-1
@@ -105,7 +105,7 @@ public class NavisworksColorUnpacker(
|
||||
value = ColorConverter.NavisworksColorToColor(representationColor).ToArgb(),
|
||||
name = colorName,
|
||||
applicationId = colorId.ToString(),
|
||||
objects = [finalId]
|
||||
objects = [finalId],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
+5
-6
@@ -75,12 +75,11 @@ public sealed class NavisworksDocumentEvents
|
||||
{
|
||||
_finalModelCount = ((NAV.Document)sender).Models.Count;
|
||||
|
||||
_topLevelExceptionHandler.CatchUnhandled(
|
||||
() =>
|
||||
_idleManager.SubscribeToIdle(
|
||||
nameof(ProcessModelStateChangeAsync),
|
||||
async () => await ProcessModelStateChangeAsync()
|
||||
)
|
||||
_topLevelExceptionHandler.CatchUnhandled(() =>
|
||||
_idleManager.SubscribeToIdle(
|
||||
nameof(ProcessModelStateChangeAsync),
|
||||
async () => await ProcessModelStateChangeAsync()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -50,8 +50,8 @@ public sealed class NavisworksDocumentModelStore : DocumentModelStore
|
||||
}
|
||||
catch (NAV.Data.DatabaseException ex)
|
||||
{
|
||||
_topLevelExceptionHandler.CatchUnhandled(
|
||||
() => throw new InvalidOperationException("Failed to write Speckle state to database", ex)
|
||||
_topLevelExceptionHandler.CatchUnhandled(() =>
|
||||
throw new InvalidOperationException("Failed to write Speckle state to database", ex)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -78,8 +78,8 @@ public sealed class NavisworksDocumentModelStore : DocumentModelStore
|
||||
catch (NAV.Data.DatabaseException ex)
|
||||
{
|
||||
ClearAndSaveThisState(); // Clear models on failure to avoid stale data
|
||||
_topLevelExceptionHandler.CatchUnhandled(
|
||||
() => throw new InvalidOperationException("Failed to read Speckle state from database", ex)
|
||||
_topLevelExceptionHandler.CatchUnhandled(() =>
|
||||
throw new InvalidOperationException("Failed to read Speckle state from database", ex)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -131,7 +131,7 @@ public class NavisworksMaterialUnpacker(
|
||||
renderMaterialProxies[renderMaterialId.ToString()] = new RenderMaterialProxy()
|
||||
{
|
||||
value = CreateRenderMaterial(materialName, renderTransparency, renderColor, renderMaterialId),
|
||||
objects = [finalId]
|
||||
objects = [finalId],
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -161,7 +161,7 @@ public class NavisworksMaterialUnpacker(
|
||||
roughness = 1,
|
||||
diffuse = color.ToArgb(),
|
||||
emissive = 0,
|
||||
applicationId = applicationId.ToString()
|
||||
applicationId = applicationId.ToString(),
|
||||
};
|
||||
|
||||
return speckleRenderMaterial;
|
||||
|
||||
+5
-5
@@ -116,7 +116,7 @@ public class NavisworksContinuousTraversalBuilder(
|
||||
new()
|
||||
{
|
||||
name = NavisworksApp.ActiveDocument.Title ?? "Unnamed model",
|
||||
["units"] = converterSettings.Current.Derived.SpeckleUnits
|
||||
["units"] = converterSettings.Current.Derived.SpeckleUnits,
|
||||
};
|
||||
|
||||
private Task<(Dictionary<string, Base?> converted, List<SendConversionResult> results)> ConvertModelItemsAsync(
|
||||
@@ -271,7 +271,7 @@ public class NavisworksContinuousTraversalBuilder(
|
||||
properties = siblingBases.First()["properties"] as Dictionary<string, object?> ?? [],
|
||||
units = converterSettings.Current.Derived.SpeckleUnits,
|
||||
applicationId = groupKey,
|
||||
["path"] = path
|
||||
["path"] = path,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -293,7 +293,7 @@ public class NavisworksContinuousTraversalBuilder(
|
||||
properties = convertedBase["properties"] as Dictionary<string, object?> ?? [],
|
||||
units = units.ToString(),
|
||||
applicationId = convertedBase.applicationId,
|
||||
["path"] = path
|
||||
["path"] = path,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -350,7 +350,7 @@ public class NavisworksContinuousTraversalBuilder(
|
||||
name = $"Shared Geometry {groupKeyPath}",
|
||||
objects = geometries.Select(g => g.applicationId ?? "").Where(id => !string.IsNullOrEmpty(id)).ToList(),
|
||||
applicationId = $"{DEFINITION_ID_PREFIX}{groupKeyPath}",
|
||||
maxDepth = 0
|
||||
maxDepth = 0,
|
||||
};
|
||||
|
||||
instanceDefinitionProxies.Add(defProxy);
|
||||
@@ -361,7 +361,7 @@ public class NavisworksContinuousTraversalBuilder(
|
||||
var geometryDefinitionsCollection = new Collection
|
||||
{
|
||||
name = "Geometry Definitions",
|
||||
elements = allDefinitionGeometries
|
||||
elements = allDefinitionGeometries,
|
||||
};
|
||||
|
||||
var objectCollection = new Collection { name = "", elements = finalElements };
|
||||
|
||||
+5
-5
@@ -103,7 +103,7 @@ public class NavisworksRootObjectBuilder(
|
||||
new()
|
||||
{
|
||||
name = NavisworksApp.ActiveDocument.Title ?? "Unnamed model",
|
||||
["units"] = converterSettings.Current.Derived.SpeckleUnits
|
||||
["units"] = converterSettings.Current.Derived.SpeckleUnits,
|
||||
};
|
||||
|
||||
private Task<(Dictionary<string, Base?> converted, List<SendConversionResult> results)> ConvertModelItemsAsync(
|
||||
@@ -285,7 +285,7 @@ public class NavisworksRootObjectBuilder(
|
||||
properties = siblingBases.First()["properties"] as Dictionary<string, object?> ?? [],
|
||||
units = converterSettings.Current.Derived.SpeckleUnits,
|
||||
applicationId = groupKey,
|
||||
["path"] = path
|
||||
["path"] = path,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -307,7 +307,7 @@ public class NavisworksRootObjectBuilder(
|
||||
properties = convertedBase["properties"] as Dictionary<string, object?> ?? [],
|
||||
units = units.ToString(),
|
||||
applicationId = convertedBase.applicationId,
|
||||
["path"] = path
|
||||
["path"] = path,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -373,7 +373,7 @@ public class NavisworksRootObjectBuilder(
|
||||
name = $"Shared Geometry {groupKeyPath}",
|
||||
objects = geometries.Select(g => g.applicationId ?? "").Where(id => !string.IsNullOrEmpty(id)).ToList(),
|
||||
applicationId = $"{DEFINITION_ID_PREFIX}{groupKeyPath}",
|
||||
maxDepth = 0
|
||||
maxDepth = 0,
|
||||
};
|
||||
|
||||
instanceDefinitionProxies.Add(defProxy);
|
||||
@@ -384,7 +384,7 @@ public class NavisworksRootObjectBuilder(
|
||||
var geometryDefinitionsCollection = new Collection
|
||||
{
|
||||
name = "Geometry Definitions",
|
||||
elements = allDefinitionGeometries
|
||||
elements = allDefinitionGeometries,
|
||||
};
|
||||
|
||||
var objectCollection = new Collection { name = "", elements = finalElements };
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<Page x:Class="Speckle.Connectors.Navisworks.BrowserPane"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:cefSharp="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"
|
||||
xmlns:local="clr-namespace:Speckle.Connectors.DUI;assembly=Speckle.Connectors.DUI"
|
||||
|
||||
mc:Ignorable="d"
|
||||
Title="Panel" Height="450" Width="800">
|
||||
<Page
|
||||
x:Class="Speckle.Connectors.Navisworks.BrowserPane"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:cefSharp="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"
|
||||
xmlns:local="clr-namespace:Speckle.Connectors.DUI;assembly=Speckle.Connectors.DUI"
|
||||
mc:Ignorable="d"
|
||||
Title="Panel"
|
||||
Height="450"
|
||||
Width="800"
|
||||
>
|
||||
<Grid>
|
||||
<cefSharp:ChromiumWebBrowser
|
||||
Name="Browser"
|
||||
Grid.Row="0"
|
||||
Address="{x:Static local:Url.NetlifyString}" />
|
||||
<cefSharp:ChromiumWebBrowser Name="Browser" Grid.Row="0" Address="{x:Static local:Url.NetlifyString}" />
|
||||
</Grid>
|
||||
</Page>
|
||||
|
||||
+6
-3
@@ -5,7 +5,8 @@
|
||||
xmlns="clr-namespace:Autodesk.Windows;assembly=AdWindows"
|
||||
xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:gui="clr-namespace:Autodesk.Navisworks.Gui.Roamer.AIRLook;assembly=navisworks.gui.roamer">
|
||||
xmlns:gui="clr-namespace:Autodesk.Navisworks.Gui.Roamer.AIRLook;assembly=navisworks.gui.roamer"
|
||||
>
|
||||
<RibbonTab Id="Speckle" KeyTip="SP">
|
||||
<RibbonPanel x:Uid="Panel_Speckle">
|
||||
<RibbonPanelSource Id="SpeckleV3Source" x:Uid="PanelSource_Speckle_V3" Title="Speckle">
|
||||
@@ -15,14 +16,16 @@
|
||||
Size="Large"
|
||||
KeyTip="3"
|
||||
ShowText="True"
|
||||
Orientation="Vertical" />
|
||||
Orientation="Vertical"
|
||||
/>
|
||||
<gui:NWRibbonButton
|
||||
x:Uid="Button_Speckle_V2"
|
||||
Id="Speckle_Launch_V2"
|
||||
Size="Large"
|
||||
KeyTip="2"
|
||||
ShowText="True"
|
||||
Orientation="Vertical" />
|
||||
Orientation="Vertical"
|
||||
/>
|
||||
</RibbonPanelSource>
|
||||
</RibbonPanel>
|
||||
</RibbonTab>
|
||||
|
||||
+79
-46
@@ -1,49 +1,82 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<ApplicationPackage SchemaVersion="1.0" AutodeskProduct="Navisworks" Name="Speckle for Navisworks"
|
||||
Description="Welcome to Multiplayer BIM." AppVersion="0.1.0" FriendlyVersion="0.1.0">
|
||||
<CompanyDetails Name="Speckle"/>
|
||||
<Components>
|
||||
<RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw23" SeriesMax="Nw23"/>
|
||||
<ComponentEntry AppName="SpeckleNavisworks" AppType="ManagedPlugin" Version="0.1.0"
|
||||
ModuleName="./Contents/2026/Speckle.Connectors.Navisworks2026.dll"
|
||||
AppDescription="Speckle.Connector.Navisworks2026"/>
|
||||
</Components>
|
||||
<Components>
|
||||
<RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw22" SeriesMax="Nw22"/>
|
||||
<ComponentEntry AppName="SpeckleNavisworks" AppType="ManagedPlugin" Version="0.1.0"
|
||||
ModuleName="./Contents/2025/Speckle.Connectors.Navisworks2025.dll"
|
||||
AppDescription="Speckle.Connector.Navisworks2025"/>
|
||||
</Components>
|
||||
<Components>
|
||||
<RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw21" SeriesMax="Nw21"/>
|
||||
<ComponentEntry AppName="SpeckleNavisworks" AppType="ManagedPlugin" Version="0.1.0"
|
||||
ModuleName="./Contents/2024/Speckle.Connectors.Navisworks2024.dll"
|
||||
AppDescription="Speckle.Connector.Navisworks2024"/>
|
||||
</Components>
|
||||
<Components>
|
||||
<RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw20" SeriesMax="Nw20"/>
|
||||
<ComponentEntry AppName="SpeckleNavisworks" AppType="ManagedPlugin" Version="0.1.0"
|
||||
ModuleName="./Contents/2023/Speckle.Connectors.Navisworks2023.dll"
|
||||
AppDescription="Speckle.Connector.Navisworks2023"/>
|
||||
</Components>
|
||||
<Components>
|
||||
<RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw19" SeriesMax="Nw19"/>
|
||||
<ComponentEntry AppName="SpeckleNavisworks" AppType="ManagedPlugin" Version="0.1.0"
|
||||
ModuleName="./Contents/2022/Speckle.Connectors.Navisworks2022.dll"
|
||||
AppDescription="Speckle.Connector.Navisworks2022"/>
|
||||
</Components>
|
||||
<Components>
|
||||
<RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw18" SeriesMax="Nw18"/>
|
||||
<ComponentEntry AppName="SpeckleNavisworks" AppType="ManagedPlugin" Version="0.1.0"
|
||||
ModuleName="./Contents/2021/Speckle.Connectors.Navisworks2021.dll"
|
||||
AppDescription="Speckle.Connector.Navisworks2021"/>
|
||||
</Components>
|
||||
<Components>
|
||||
<RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw17" SeriesMax="Nw17"/>
|
||||
<ComponentEntry AppName="SpeckleNavisworks" AppType="ManagedPlugin" Version="0.1.0"
|
||||
ModuleName="./Contents/2020/Speckle.Connectors.Navisworks2020.dll"
|
||||
AppDescription="Speckle.Connector.Navisworks2020"/>
|
||||
</Components>
|
||||
|
||||
<ApplicationPackage
|
||||
SchemaVersion="1.0"
|
||||
AutodeskProduct="Navisworks"
|
||||
Name="Speckle for Navisworks"
|
||||
Description="Welcome to Multiplayer BIM."
|
||||
AppVersion="0.1.0"
|
||||
FriendlyVersion="0.1.0"
|
||||
>
|
||||
<CompanyDetails Name="Speckle" />
|
||||
<Components>
|
||||
<RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw23" SeriesMax="Nw23" />
|
||||
<ComponentEntry
|
||||
AppName="SpeckleNavisworks"
|
||||
AppType="ManagedPlugin"
|
||||
Version="0.1.0"
|
||||
ModuleName="./Contents/2026/Speckle.Connectors.Navisworks2026.dll"
|
||||
AppDescription="Speckle.Connector.Navisworks2026"
|
||||
/>
|
||||
</Components>
|
||||
<Components>
|
||||
<RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw22" SeriesMax="Nw22" />
|
||||
<ComponentEntry
|
||||
AppName="SpeckleNavisworks"
|
||||
AppType="ManagedPlugin"
|
||||
Version="0.1.0"
|
||||
ModuleName="./Contents/2025/Speckle.Connectors.Navisworks2025.dll"
|
||||
AppDescription="Speckle.Connector.Navisworks2025"
|
||||
/>
|
||||
</Components>
|
||||
<Components>
|
||||
<RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw21" SeriesMax="Nw21" />
|
||||
<ComponentEntry
|
||||
AppName="SpeckleNavisworks"
|
||||
AppType="ManagedPlugin"
|
||||
Version="0.1.0"
|
||||
ModuleName="./Contents/2024/Speckle.Connectors.Navisworks2024.dll"
|
||||
AppDescription="Speckle.Connector.Navisworks2024"
|
||||
/>
|
||||
</Components>
|
||||
<Components>
|
||||
<RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw20" SeriesMax="Nw20" />
|
||||
<ComponentEntry
|
||||
AppName="SpeckleNavisworks"
|
||||
AppType="ManagedPlugin"
|
||||
Version="0.1.0"
|
||||
ModuleName="./Contents/2023/Speckle.Connectors.Navisworks2023.dll"
|
||||
AppDescription="Speckle.Connector.Navisworks2023"
|
||||
/>
|
||||
</Components>
|
||||
<Components>
|
||||
<RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw19" SeriesMax="Nw19" />
|
||||
<ComponentEntry
|
||||
AppName="SpeckleNavisworks"
|
||||
AppType="ManagedPlugin"
|
||||
Version="0.1.0"
|
||||
ModuleName="./Contents/2022/Speckle.Connectors.Navisworks2022.dll"
|
||||
AppDescription="Speckle.Connector.Navisworks2022"
|
||||
/>
|
||||
</Components>
|
||||
<Components>
|
||||
<RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw18" SeriesMax="Nw18" />
|
||||
<ComponentEntry
|
||||
AppName="SpeckleNavisworks"
|
||||
AppType="ManagedPlugin"
|
||||
Version="0.1.0"
|
||||
ModuleName="./Contents/2021/Speckle.Connectors.Navisworks2021.dll"
|
||||
AppDescription="Speckle.Connector.Navisworks2021"
|
||||
/>
|
||||
</Components>
|
||||
<Components>
|
||||
<RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw17" SeriesMax="Nw17" />
|
||||
<ComponentEntry
|
||||
AppName="SpeckleNavisworks"
|
||||
AppType="ManagedPlugin"
|
||||
Version="0.1.0"
|
||||
ModuleName="./Contents/2020/Speckle.Connectors.Navisworks2020.dll"
|
||||
AppDescription="Speckle.Connector.Navisworks2020"
|
||||
/>
|
||||
</Components>
|
||||
</ApplicationPackage>
|
||||
|
||||
+3
-4
@@ -1,5 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net48;net8.0</TargetFrameworks>
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
@@ -15,16 +14,16 @@
|
||||
The revit projects will resolve their correct ones
|
||||
-->
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net48'">
|
||||
<PackageReference Include="Speckle.Revit.API" VersionOverride="2022.0.2.1" ExcludeAssets="runtime"/>
|
||||
<PackageReference Include="Speckle.Revit.API" VersionOverride="2022.0.2.1" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
|
||||
<PackageReference Include="Speckle.Revit.API" VersionOverride="2025.0.0" ExcludeAssets="runtime"/>
|
||||
<PackageReference Include="Speckle.Revit.API" VersionOverride="2025.0.0" ExcludeAssets="runtime" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ILRepack.FullAuto">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Revit.Async" PrivateAssets="all"/>
|
||||
<PackageReference Include="Revit.Async" PrivateAssets="all" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
<Prefer32bit>false</Prefer32bit>
|
||||
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<Import Project="..\Speckle.Connectors.RevitShared\Speckle.Connectors.RevitShared.projitems" Label="Shared" />
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net48</TargetFramework>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<UseWpf>true</UseWpf>
|
||||
<UseWpf>true</UseWpf>
|
||||
<RevitVersion>2023</RevitVersion>
|
||||
<DefineConstants>$(DefineConstants);REVIT2023;REVIT2022_OR_GREATER;REVIT2023_OR_GREATER</DefineConstants>
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
@@ -11,7 +11,7 @@
|
||||
<Import Project="..\Speckle.Connectors.RevitShared\Speckle.Connectors.RevitShared.projitems" Label="Shared" />
|
||||
|
||||
<Import Project="..\Speckle.Connectors.RevitShared.Cef\Speckle.Connectors.RevitShared.Cef.projitems" Label="Shared" />
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<Import Project="..\Speckle.Connectors.RevitShared\Speckle.Connectors.RevitShared.projitems" Label="Shared" />
|
||||
|
||||
<Import Project="..\Speckle.Connectors.RevitShared.Cef\Speckle.Connectors.RevitShared.Cef.projitems" Label="Shared" />
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<UseWpf>true</UseWpf>
|
||||
<RevitVersion>2025</RevitVersion>
|
||||
@@ -23,7 +23,12 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="CefSharp.Wpf.NETCore" NoWarn="NU1903" IncludeAssets="compile" VersionOverride="119.4.30.0" />
|
||||
<PackageReference
|
||||
Include="CefSharp.Wpf.NETCore"
|
||||
NoWarn="NU1903"
|
||||
IncludeAssets="compile"
|
||||
VersionOverride="119.4.30.0"
|
||||
/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,17 +1,22 @@
|
||||
<UserControl x:Class="Speckle.Connectors.Revit2026.Plugin.RevitControlWebView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<UserControl
|
||||
x:Class="Speckle.Connectors.Revit2026.Plugin.RevitControlWebView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
>
|
||||
<!-- WebView2 is created lazily -->
|
||||
<Border Name="BrowserContainer" Background="White">
|
||||
<TextBlock Name="LoadingText"
|
||||
Text="Loading Speckle..."
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
Foreground="Gray" />
|
||||
<TextBlock
|
||||
Name="LoadingText"
|
||||
Text="Loading Speckle..."
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
Foreground="Gray"
|
||||
/>
|
||||
</Border>
|
||||
</UserControl>
|
||||
|
||||
@@ -46,7 +46,7 @@ public sealed partial class RevitControlWebView : UserControl, IBrowserScriptExe
|
||||
CreationProperties = new CoreWebView2CreationProperties { UserDataFolder = "C:\\temp" },
|
||||
HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch,
|
||||
VerticalAlignment = System.Windows.VerticalAlignment.Stretch,
|
||||
Source = Url.Netlify
|
||||
Source = Url.Netlify,
|
||||
};
|
||||
|
||||
_browser.CoreWebView2InitializationCompleted += (sender, args) =>
|
||||
|
||||
@@ -16,7 +16,7 @@ public sealed class RevitControlWebViewDockable : UserControl, Autodesk.Revit.UI
|
||||
data.InitialState = new Autodesk.Revit.UI.DockablePaneState
|
||||
{
|
||||
DockPosition = DockPosition.Tabbed,
|
||||
TabBehind = DockablePanes.BuiltInDockablePanes.ProjectBrowser
|
||||
TabBehind = DockablePanes.BuiltInDockablePanes.ProjectBrowser,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<UseWpf>true</UseWpf>
|
||||
<RevitVersion>2026</RevitVersion>
|
||||
<DefineConstants>$(DefineConstants);REVIT2026;REVIT2022_OR_GREATER;REVIT2023_OR_GREATER;REVIT2024_OR_GREATER;REVIT2025_OR_GREATER;REVIT2026_OR_GREATER</DefineConstants><CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<DefineConstants>$(DefineConstants);REVIT2026;REVIT2022_OR_GREATER;REVIT2023_OR_GREATER;REVIT2024_OR_GREATER;REVIT2025_OR_GREATER;REVIT2026_OR_GREATER</DefineConstants>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
|
||||
<Configurations>Debug;Release;Local</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
<Page x:Class="Speckle.Connectors.Revit.CefSharpPanel"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:cefSharp="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"
|
||||
xmlns:local="clr-namespace:Speckle.Connectors.DUI;assembly=Speckle.Connectors.DUI"
|
||||
|
||||
mc:Ignorable="d"
|
||||
Title="Panel" Height="450" Width="800">
|
||||
<Page
|
||||
x:Class="Speckle.Connectors.Revit.CefSharpPanel"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:cefSharp="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"
|
||||
xmlns:local="clr-namespace:Speckle.Connectors.DUI;assembly=Speckle.Connectors.DUI"
|
||||
mc:Ignorable="d"
|
||||
Title="Panel"
|
||||
Height="450"
|
||||
Width="800"
|
||||
>
|
||||
<Grid>
|
||||
<cefSharp:ChromiumWebBrowser
|
||||
Name="Browser"
|
||||
Grid.Row="0"
|
||||
Address="{x:Static local:Url.NetlifyString}" />
|
||||
<cefSharp:ChromiumWebBrowser Name="Browser" Grid.Row="0" Address="{x:Static local:Url.NetlifyString}" />
|
||||
</Grid>
|
||||
</Page>
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ public partial class CefSharpPanel : Page, Autodesk.Revit.UI.IDockablePaneProvid
|
||||
data.InitialState = new Autodesk.Revit.UI.DockablePaneState
|
||||
{
|
||||
DockPosition = DockPosition.Tabbed,
|
||||
TabBehind = DockablePanes.BuiltInDockablePanes.ProjectBrowser
|
||||
TabBehind = DockablePanes.BuiltInDockablePanes.ProjectBrowser,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,8 +163,8 @@ internal sealed class RevitParametersBinding : IParametersBinding
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_topLevelExceptionHandler.CatchUnhandled(
|
||||
() => throw new SpeckleException("Failed to apply parameter updates", ex)
|
||||
_topLevelExceptionHandler.CatchUnhandled(() =>
|
||||
throw new SpeckleException("Failed to apply parameter updates", ex)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -151,7 +151,7 @@ internal sealed class RevitSendBinding : RevitBaseBinding, ISendBinding
|
||||
[
|
||||
new RevitSelectionFilter { IsDefault = true },
|
||||
new RevitViewsFilter(_revitContext),
|
||||
new RevitCategoriesFilter(_revitContext)
|
||||
new RevitCategoriesFilter(_revitContext),
|
||||
];
|
||||
|
||||
public List<ICardSetting> GetSendSettings() =>
|
||||
@@ -161,7 +161,7 @@ internal sealed class RevitSendBinding : RevitBaseBinding, ISendBinding
|
||||
new SendParameterNullOrEmptyStringsSetting(),
|
||||
new LinkedModelsSetting(),
|
||||
new SendRebarsAsVolumetricSetting(),
|
||||
new SendAreasAsMeshSetting()
|
||||
new SendAreasAsMeshSetting(),
|
||||
];
|
||||
|
||||
public void CancelSend(string modelCardId) => _cancellationManager.CancelOperation(modelCardId);
|
||||
@@ -260,8 +260,8 @@ internal sealed class RevitSendBinding : RevitBaseBinding, ISendBinding
|
||||
viewFilter.SetContext(_revitContext);
|
||||
}
|
||||
|
||||
var selectedObjects = await _threadContext.RunOnMainAsync(
|
||||
() => Task.FromResult(modelCard.SendFilter.NotNull().RefreshObjectIds())
|
||||
var selectedObjects = await _threadContext.RunOnMainAsync(() =>
|
||||
Task.FromResult(modelCard.SendFilter.NotNull().RefreshObjectIds())
|
||||
);
|
||||
|
||||
var allElements = selectedObjects.Select(uid => document.GetElement(uid)).Where(el => el is not null).ToList();
|
||||
@@ -424,7 +424,7 @@ internal sealed class RevitSendBinding : RevitBaseBinding, ISendBinding
|
||||
SpecTypeId.Area,
|
||||
SpecTypeId.Distance,
|
||||
SpecTypeId.Length,
|
||||
SpecTypeId.Volume
|
||||
SpecTypeId.Volume,
|
||||
};
|
||||
var units = "";
|
||||
foreach (var typeId in unitSpecTypeIds)
|
||||
|
||||
@@ -37,10 +37,9 @@ internal sealed class SelectionBinding : RevitBaseBinding, ISelectionBinding, ID
|
||||
_selectionTimer.Elapsed += (_, _) => topLevelExceptionHandler.CatchUnhandled(OnSelectionChanged);
|
||||
_selectionTimer.Start();
|
||||
#else
|
||||
revitTask.Run(
|
||||
() =>
|
||||
_revitContext.UIApplication.NotNull().SelectionChanged += (_, _) =>
|
||||
idleManager.SubscribeToIdle(nameof(OnSelectionChanged), OnSelectionChanged)
|
||||
revitTask.Run(() =>
|
||||
_revitContext.UIApplication.NotNull().SelectionChanged += (_, _) =>
|
||||
idleManager.SubscribeToIdle(nameof(OnSelectionChanged), OnSelectionChanged)
|
||||
);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ public class ElementUnpacker
|
||||
BuiltInCategory.OST_StairsSketchLandingCenterLines,
|
||||
BuiltInCategory.OST_StairsSketchRiserLines,
|
||||
BuiltInCategory.OST_RebarSketchLines,
|
||||
BuiltInCategory.OST_StairsSketchRunLines
|
||||
BuiltInCategory.OST_StairsSketchRunLines,
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -30,7 +30,7 @@ public class FamilyMaterialManager
|
||||
'>',
|
||||
'?',
|
||||
'`',
|
||||
'~'
|
||||
'~',
|
||||
];
|
||||
|
||||
public Dictionary<string, FamilyParameter> FamilyParameters { get; } = [];
|
||||
|
||||
@@ -161,7 +161,7 @@ public class FamilyTransformUtils
|
||||
{
|
||||
("YZ", mirrorState.X, Autodesk.Revit.DB.Plane.CreateByOriginAndBasis(plane.Origin, plane.YVec, plane.Normal)),
|
||||
("XZ", mirrorState.Y, Autodesk.Revit.DB.Plane.CreateByOriginAndBasis(plane.Origin, plane.XVec, plane.Normal)),
|
||||
("XY", mirrorState.Z, Autodesk.Revit.DB.Plane.CreateByOriginAndBasis(plane.Origin, plane.XVec, plane.YVec))
|
||||
("XY", mirrorState.Z, Autodesk.Revit.DB.Plane.CreateByOriginAndBasis(plane.Origin, plane.XVec, plane.YVec)),
|
||||
};
|
||||
|
||||
foreach (var (name, _, mirrorPlane) in mirrorOperations.Where(op => op.shouldMirror))
|
||||
|
||||
@@ -54,7 +54,7 @@ public class LevelUnpacker
|
||||
{
|
||||
name = level.Name,
|
||||
displayValue = [],
|
||||
properties = _propertiesExtractor.GetProperties(level)
|
||||
properties = _propertiesExtractor.GetProperties(level),
|
||||
};
|
||||
var unitSettings = _converterSettings.Current.Document.GetUnits();
|
||||
var lengthUnitType = unitSettings.GetFormatOptions(SpecTypeId.Length).GetUnitTypeId();
|
||||
@@ -65,7 +65,7 @@ public class LevelUnpacker
|
||||
{
|
||||
applicationId = level.UniqueId,
|
||||
objects = [element.UniqueId],
|
||||
value = levelDataObject
|
||||
value = levelDataObject,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ public class ParameterUpdater
|
||||
"Instance Parameters" => element,
|
||||
"Type Parameters" => GetTypeElement(element),
|
||||
"System Type Parameters" => GetSystemTypeElement(element),
|
||||
_ => null
|
||||
_ => null,
|
||||
};
|
||||
|
||||
private DB.Element? GetTypeElement(DB.Element element)
|
||||
@@ -222,7 +222,7 @@ public class ParameterUpdater
|
||||
DB.StorageType.Integer => SetIntegerValue(parameter, newValue),
|
||||
DB.StorageType.Double => SetDoubleValue(parameter, newValue),
|
||||
DB.StorageType.ElementId => SetElementIdValue(parameter, newValue),
|
||||
_ => false
|
||||
_ => false,
|
||||
};
|
||||
|
||||
return success ? UpdateResult.Success() : UpdateResult.Fail($"Failed to set parameter value to: {newValue}");
|
||||
|
||||
@@ -155,7 +155,7 @@ public sealed class RevitFamilyBaker : IDisposable
|
||||
{
|
||||
InstanceDefinitionProxy d => d.applicationId ?? d.id.NotNull(),
|
||||
InstanceProxy i => i.applicationId ?? i.id.NotNull(),
|
||||
_ => "unknown"
|
||||
_ => "unknown",
|
||||
};
|
||||
_logger.LogError(ex, "Failed to process instance component {ComponentId}", componentId);
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@ namespace Speckle.Connectors.Revit.HostApp;
|
||||
/// <summary>
|
||||
/// Unpacks Revit Views for sending
|
||||
/// </summary>
|
||||
|
||||
public class ViewUnpacker
|
||||
{
|
||||
private readonly ILogger<ViewUnpacker> _logger;
|
||||
|
||||
-1
@@ -6,7 +6,6 @@ namespace Speckle.Connectors.Revit.Operations.Receive;
|
||||
/// This class will suppress warnings on the Revit UI
|
||||
/// Currently we use it after Revit receive when we create the group hierarchy
|
||||
/// </summary>
|
||||
|
||||
public class HideWarningsFailuresPreprocessor : IFailuresPreprocessor
|
||||
{
|
||||
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor)
|
||||
|
||||
+3
-3
@@ -57,8 +57,8 @@ public sealed class RevitHostObjectBuilder(
|
||||
IProgress<CardProgress> onOperationProgressed,
|
||||
CancellationToken cancellationToken
|
||||
) =>
|
||||
threadContext.RunOnMainAsync(
|
||||
() => Task.FromResult(BuildSync(rootObject, projectName, modelName, onOperationProgressed, cancellationToken))
|
||||
threadContext.RunOnMainAsync(() =>
|
||||
Task.FromResult(BuildSync(rootObject, projectName, modelName, onOperationProgressed, cancellationToken))
|
||||
);
|
||||
|
||||
private HostObjectBuilderResult BuildSync(
|
||||
@@ -130,7 +130,7 @@ public sealed class RevitHostObjectBuilder(
|
||||
ReferencePointTransform = CalculateNewTransform(
|
||||
currentSettings.ReferencePointTransform,
|
||||
referencePointTransformFromRootObject
|
||||
)
|
||||
),
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
+7
-12
@@ -45,15 +45,8 @@ public class RevitContinuousTraversalBuilder(
|
||||
CancellationToken cancellationToken
|
||||
)
|
||||
{
|
||||
return await threadContext.RunOnMainAsync(
|
||||
async () =>
|
||||
await BuildMainThread(
|
||||
documentElementContexts,
|
||||
projectId,
|
||||
sendPipeline,
|
||||
onOperationProgressed,
|
||||
cancellationToken
|
||||
)
|
||||
return await threadContext.RunOnMainAsync(async () =>
|
||||
await BuildMainThread(documentElementContexts, projectId, sendPipeline, onOperationProgressed, cancellationToken)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -75,8 +68,10 @@ public class RevitContinuousTraversalBuilder(
|
||||
}
|
||||
|
||||
// init the root
|
||||
Collection rootObject =
|
||||
new() { name = converterSettings.Current.Document.PathName.Split('\\').Last().Split('.').First() };
|
||||
Collection rootObject = new()
|
||||
{
|
||||
name = converterSettings.Current.Document.PathName.Split('\\').Last().Split('.').First(),
|
||||
};
|
||||
rootObject["units"] = converterSettings.Current.SpeckleUnits;
|
||||
|
||||
var filteredDocumentsToConvert = new List<DocumentToConvert>();
|
||||
@@ -288,7 +283,7 @@ public class RevitContinuousTraversalBuilder(
|
||||
new Collection()
|
||||
{
|
||||
elements = revitToSpeckleCacheSingleton.GetBaseObjectsForObjects(idsAndSubElementIds),
|
||||
name = "definitionGeometry"
|
||||
name = "definitionGeometry",
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
+7
-5
@@ -42,8 +42,8 @@ public class RevitRootObjectBuilder(
|
||||
IProgress<CardProgress> onOperationProgressed,
|
||||
CancellationToken ct
|
||||
) =>
|
||||
threadContext.RunOnMainAsync(
|
||||
() => Task.FromResult(BuildSync(documentElementContexts, projectId, onOperationProgressed, ct))
|
||||
threadContext.RunOnMainAsync(() =>
|
||||
Task.FromResult(BuildSync(documentElementContexts, projectId, onOperationProgressed, ct))
|
||||
);
|
||||
|
||||
[SuppressMessage("Maintainability", "CA1506:Avoid excessive class coupling")]
|
||||
@@ -62,8 +62,10 @@ public class RevitRootObjectBuilder(
|
||||
}
|
||||
|
||||
// init the root
|
||||
Collection rootObject =
|
||||
new() { name = converterSettings.Current.Document.PathName.Split('\\').Last().Split('.').First() };
|
||||
Collection rootObject = new()
|
||||
{
|
||||
name = converterSettings.Current.Document.PathName.Split('\\').Last().Split('.').First(),
|
||||
};
|
||||
rootObject["units"] = converterSettings.Current.SpeckleUnits;
|
||||
|
||||
var filteredDocumentsToConvert = new List<DocumentToConvert>();
|
||||
@@ -269,7 +271,7 @@ public class RevitRootObjectBuilder(
|
||||
new Collection()
|
||||
{
|
||||
elements = revitToSpeckleCacheSingleton.GetBaseObjectsForObjects(idsAndSubElementIds),
|
||||
name = "definitionGeometry"
|
||||
name = "definitionGeometry",
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
+16
-5
@@ -1,5 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Select the framework(s) you wish to target.
|
||||
Rhino 6: net45
|
||||
@@ -29,8 +28,18 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="GrasshopperAsyncComponent" />
|
||||
<PackageReference Include="RhinoCommon" IncludeAssets="compile; build" PrivateAssets="all" VersionOverride="7.13.21348.13001" />
|
||||
<PackageReference Include="Grasshopper" IncludeAssets="compile; build" PrivateAssets="all" VersionOverride="7.13.21348.13001" />
|
||||
<PackageReference
|
||||
Include="RhinoCommon"
|
||||
IncludeAssets="compile; build"
|
||||
PrivateAssets="all"
|
||||
VersionOverride="7.13.21348.13001"
|
||||
/>
|
||||
<PackageReference
|
||||
Include="Grasshopper"
|
||||
IncludeAssets="compile; build"
|
||||
PrivateAssets="all"
|
||||
VersionOverride="7.13.21348.13001"
|
||||
/>
|
||||
<PackageReference Include="System.Resources.Extensions" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -39,6 +48,8 @@
|
||||
<ProjectReference Include="..\..\..\Sdk\Speckle.Connectors.Common\Speckle.Connectors.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\Speckle.Connectors.GrasshopperShared\Speckle.Connectors.GrasshopperShared.projitems" Label="Shared" />
|
||||
|
||||
<Import
|
||||
Project="..\Speckle.Connectors.GrasshopperShared\Speckle.Connectors.GrasshopperShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
</Project>
|
||||
|
||||
+17
-6
@@ -1,5 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Select the framework(s) you wish to target.
|
||||
Rhino 6: net45
|
||||
@@ -29,8 +28,18 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="GrasshopperAsyncComponent" />
|
||||
<PackageReference Include="RhinoCommon" IncludeAssets="compile; build" PrivateAssets="all" VersionOverride="8.9.24194.18121"/>
|
||||
<PackageReference Include="Grasshopper" IncludeAssets="compile; build" PrivateAssets="all" VersionOverride="8.9.24194.18121"/>
|
||||
<PackageReference
|
||||
Include="RhinoCommon"
|
||||
IncludeAssets="compile; build"
|
||||
PrivateAssets="all"
|
||||
VersionOverride="8.9.24194.18121"
|
||||
/>
|
||||
<PackageReference
|
||||
Include="Grasshopper"
|
||||
IncludeAssets="compile; build"
|
||||
PrivateAssets="all"
|
||||
VersionOverride="8.9.24194.18121"
|
||||
/>
|
||||
<PackageReference Include="System.Resources.Extensions" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -49,7 +58,9 @@
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\Speckle.Connectors.GrasshopperShared\Speckle.Connectors.GrasshopperShared.projitems" Label="Shared" />
|
||||
|
||||
|
||||
<Import
|
||||
Project="..\Speckle.Connectors.GrasshopperShared\Speckle.Connectors.GrasshopperShared.projitems"
|
||||
Label="Shared"
|
||||
/>
|
||||
</Project>
|
||||
|
||||
+8
-8
@@ -275,7 +275,7 @@ public abstract class ValueSet<T> : GH_PersistentParam<T>, IGH_InitCodeAware, IG
|
||||
Nulls = 1 << 0,
|
||||
Invalids = 1 << 1,
|
||||
Duplicates = 1 << 2,
|
||||
Empty = 1 << 31
|
||||
Empty = 1 << 31,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@@ -790,7 +790,7 @@ public abstract class ValueSet<T> : GH_PersistentParam<T>, IGH_InitCodeAware, IG
|
||||
{
|
||||
None,
|
||||
Scrolling,
|
||||
Panning
|
||||
Panning,
|
||||
}
|
||||
|
||||
ScrollMode _activeScrollMode = ScrollMode.None;
|
||||
@@ -934,7 +934,7 @@ public abstract class ValueSet<T> : GH_PersistentParam<T>, IGH_InitCodeAware, IG
|
||||
var primaryFormat = new StringFormat(StringFormatFlags.NoWrap)
|
||||
{
|
||||
Trimming = StringTrimming.EllipsisCharacter,
|
||||
LineAlignment = StringAlignment.Center
|
||||
LineAlignment = StringAlignment.Center,
|
||||
}
|
||||
)
|
||||
{
|
||||
@@ -943,7 +943,7 @@ public abstract class ValueSet<T> : GH_PersistentParam<T>, IGH_InitCodeAware, IG
|
||||
{
|
||||
Trimming = StringTrimming.EllipsisPath,
|
||||
LineAlignment = StringAlignment.Center,
|
||||
Alignment = StringAlignment.Far
|
||||
Alignment = StringAlignment.Far,
|
||||
}
|
||||
)
|
||||
{
|
||||
@@ -1170,7 +1170,7 @@ public abstract class ValueSet<T> : GH_PersistentParam<T>, IGH_InitCodeAware, IG
|
||||
X = nameBounds.X,
|
||||
Y = nameBounds.Y + 16,
|
||||
Width = nameBounds.Width,
|
||||
Height = nameBounds.Height
|
||||
Height = nameBounds.Height,
|
||||
};
|
||||
|
||||
graphics.DrawString(item.Value.TypeName, s_typeNameFont, typeName.Brush, textBounds, typeName.Format);
|
||||
@@ -1189,7 +1189,7 @@ public abstract class ValueSet<T> : GH_PersistentParam<T>, IGH_InitCodeAware, IG
|
||||
new PointF(x - 6.5F, y - 0.5F),
|
||||
new PointF(x, y + 6.0F),
|
||||
new PointF(x + 9.5F, y - 3.5F),
|
||||
new PointF(x + 6.5F, y - 6.5F)
|
||||
new PointF(x + 6.5F, y - 6.5F),
|
||||
};
|
||||
|
||||
using (var edge = new Pen(color, 1.0F))
|
||||
@@ -1212,7 +1212,7 @@ public abstract class ValueSet<T> : GH_PersistentParam<T>, IGH_InitCodeAware, IG
|
||||
var pen = new Pen(Color.FromArgb(Math.Min(GH_Canvas.ZoomFadeMedium, 100), color), SCROLLER_WIDTH)
|
||||
{
|
||||
StartCap = System.Drawing.Drawing2D.LineCap.Round,
|
||||
EndCap = System.Drawing.Drawing2D.LineCap.Round
|
||||
EndCap = System.Drawing.Drawing2D.LineCap.Round,
|
||||
}
|
||||
)
|
||||
{
|
||||
@@ -1793,7 +1793,7 @@ public abstract class ValueSet<T> : GH_PersistentParam<T>, IGH_InitCodeAware, IG
|
||||
+ "<a target=\"_blank\" href=\"https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/operators/like-operator#pattern-options\">LikeOperator</a></dd>"
|
||||
+ @"<dt><b>;</b></dt><dd>Regular expresion, see "
|
||||
+ "<a target=\"_blank\" href=\"https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference\">here</a> as reference</dd>"
|
||||
+ @"</dl>"
|
||||
+ @"</dl>",
|
||||
};
|
||||
|
||||
return nTopic.HtmlFormat();
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ public abstract class VariableParameterComponentBase : GH_Component, IGH_Variabl
|
||||
Optional = true,
|
||||
Access = access,
|
||||
CanInheritNames = true,
|
||||
AlwaysInheritNames = AlwaysInheritNames
|
||||
AlwaysInheritNames = AlwaysInheritNames,
|
||||
};
|
||||
|
||||
// Subscribe to the parameter's name changes for auto-resizing
|
||||
|
||||
+2
-2
@@ -192,7 +192,7 @@ public class CollectionsByName : GH_Component
|
||||
{
|
||||
GH_String ghString => ghString.Value,
|
||||
IGH_Goo goo => goo.ToString(),
|
||||
_ => nameObj.ToString()
|
||||
_ => nameObj.ToString(),
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@@ -237,7 +237,7 @@ public class CollectionsByName : GH_Component
|
||||
Color = null,
|
||||
Material = null,
|
||||
Topology = null, // only set topology on leaf collections
|
||||
ApplicationId = Guid.NewGuid().ToString()
|
||||
ApplicationId = Guid.NewGuid().ToString(),
|
||||
};
|
||||
|
||||
currentCollection.Elements.Add(newChild);
|
||||
|
||||
+1
-1
@@ -102,7 +102,7 @@ public class CreateCollection : VariableParameterComponentBase
|
||||
Color = null,
|
||||
Material = null,
|
||||
Topology = GrasshopperHelpers.GetParamTopology(inputParam),
|
||||
ApplicationId = inputParam.InstanceGuid.ToString()
|
||||
ApplicationId = inputParam.InstanceGuid.ToString(),
|
||||
};
|
||||
|
||||
var duplicateNames = new HashSet<string>();
|
||||
|
||||
+7
-8
@@ -67,7 +67,7 @@ public class ExpandCollection : GH_Component, IGH_VariableParameterComponent
|
||||
NickName = "_objs",
|
||||
Description =
|
||||
"Some collections may contain a mix of objects and other collections. These are the objects directly contained in this collection.",
|
||||
Access = GH_ParamAccess.list
|
||||
Access = GH_ParamAccess.list,
|
||||
};
|
||||
|
||||
// Don't use topology for _objects output (always list)
|
||||
@@ -90,11 +90,10 @@ public class ExpandCollection : GH_Component, IGH_VariableParameterComponent
|
||||
{
|
||||
Name = childWrapper.Name,
|
||||
NickName = nickName,
|
||||
Access = hasInnerCollections
|
||||
? GH_ParamAccess.item
|
||||
: topology is null
|
||||
? GH_ParamAccess.list
|
||||
: GH_ParamAccess.tree
|
||||
Access =
|
||||
hasInnerCollections ? GH_ParamAccess.item
|
||||
: topology is null ? GH_ParamAccess.list
|
||||
: GH_ParamAccess.tree,
|
||||
};
|
||||
|
||||
object outputValue;
|
||||
@@ -227,7 +226,7 @@ public class ExpandCollection : GH_Component, IGH_VariableParameterComponent
|
||||
NickName = targetParam.NickName,
|
||||
MutableNickName = false,
|
||||
Access = targetParam.Access,
|
||||
Description = targetParam.Description
|
||||
Description = targetParam.Description,
|
||||
};
|
||||
Params.RegisterOutputParam(newParam, i);
|
||||
needsMaintenance = true;
|
||||
@@ -254,7 +253,7 @@ public class ExpandCollection : GH_Component, IGH_VariableParameterComponent
|
||||
{
|
||||
Name = GH_ComponentParamServer.InventUniqueNickname("ABCD", Params.Input),
|
||||
MutableNickName = true,
|
||||
Optional = true
|
||||
Optional = true,
|
||||
};
|
||||
myParam.NickName = myParam.Name;
|
||||
return myParam;
|
||||
|
||||
@@ -21,5 +21,5 @@ public enum ComponentState
|
||||
Receiving,
|
||||
Ready,
|
||||
Sending,
|
||||
UpToDate
|
||||
UpToDate,
|
||||
}
|
||||
|
||||
+41
-45
@@ -112,24 +112,23 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon
|
||||
data switch
|
||||
{
|
||||
// get children elements from wrapper to override elements prop while parsing
|
||||
SpeckleCollectionWrapperGoo collectionGoo when collectionGoo.Value != null
|
||||
=> ParseSpeckleWrapper(
|
||||
collectionGoo.Value,
|
||||
collectionGoo.Value.Elements.Select(o => ((SpeckleWrapper)o!).CreateGoo()).ToList()
|
||||
),
|
||||
SpeckleCollectionWrapperGoo collectionGoo when collectionGoo.Value != null => ParseSpeckleWrapper(
|
||||
collectionGoo.Value,
|
||||
collectionGoo.Value.Elements.Select(o => ((SpeckleWrapper)o!).CreateGoo()).ToList()
|
||||
),
|
||||
|
||||
// get geometries from wrapper to override displayValue prop while parsing
|
||||
SpeckleDataObjectWrapperGoo dataObjectGoo when dataObjectGoo.Value != null
|
||||
=> ParseSpeckleWrapper(
|
||||
dataObjectGoo.Value,
|
||||
null,
|
||||
dataObjectGoo.Value.Geometries.Select(o => o.CreateGoo()).ToList()
|
||||
),
|
||||
SpeckleDataObjectWrapperGoo dataObjectGoo when dataObjectGoo.Value != null => ParseSpeckleWrapper(
|
||||
dataObjectGoo.Value,
|
||||
null,
|
||||
dataObjectGoo.Value.Geometries.Select(o => o.CreateGoo()).ToList()
|
||||
),
|
||||
|
||||
SpeckleGeometryWrapperGoo objectGoo when objectGoo.Value != null => ParseSpeckleWrapper(objectGoo.Value),
|
||||
|
||||
SpeckleBlockInstanceWrapperGoo blockInstanceGoo when blockInstanceGoo.Value != null
|
||||
=> ParseSpeckleWrapper(blockInstanceGoo.Value),
|
||||
SpeckleBlockInstanceWrapperGoo blockInstanceGoo when blockInstanceGoo.Value != null => ParseSpeckleWrapper(
|
||||
blockInstanceGoo.Value
|
||||
),
|
||||
|
||||
SpeckleBlockDefinitionWrapperGoo blockDef when blockDef.Value != null => ParseSpeckleWrapper(blockDef.Value),
|
||||
|
||||
@@ -137,7 +136,7 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon
|
||||
|
||||
SpecklePropertyGroupGoo propGoo when propGoo.Value != null => ParsePropertyGroup(propGoo),
|
||||
|
||||
_ => HandleUnsupportedType(data)
|
||||
_ => HandleUnsupportedType(data),
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@@ -155,7 +154,7 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon
|
||||
{
|
||||
SpecklePropertyGoo prop => prop.Value,
|
||||
SpecklePropertyGroupGoo propGroup => propGroup,
|
||||
_ => value
|
||||
_ => value,
|
||||
};
|
||||
|
||||
// determine access type based on the value
|
||||
@@ -266,7 +265,7 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon
|
||||
Dictionary<string, object?> dict => CreateDictionaryOutputParam(prop.Key, dict),
|
||||
SpeckleWrapper wrapper => CreateOutputParamByKeyValue(prop.Key, wrapper.CreateGoo(), GH_ParamAccess.item),
|
||||
Base baseValue => CreateOutputParamByKeyValue(prop.Key, ConvertOrCreateWrapper(baseValue), GH_ParamAccess.list),
|
||||
_ => CreateOutputParamByKeyValue(prop.Key, prop.Value, GH_ParamAccess.item)
|
||||
_ => CreateOutputParamByKeyValue(prop.Key, prop.Value, GH_ParamAccess.item),
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@@ -285,7 +284,7 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon
|
||||
{
|
||||
"elements" when @base is Collection && elements != null => elements,
|
||||
"displayValue" when @base is Speckle.Objects.Data.DataObject && displayValue != null => displayValue,
|
||||
_ => list
|
||||
_ => list,
|
||||
};
|
||||
|
||||
List<object> nativeObjects = new();
|
||||
@@ -342,15 +341,14 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon
|
||||
/// </summary>
|
||||
private SpeckleGeometryWrapperGoo CreateGeometryWrapper((object geometry, Base @base) converted)
|
||||
{
|
||||
SpeckleGeometryWrapper wrapper =
|
||||
new()
|
||||
{
|
||||
Base = converted.@base,
|
||||
GeometryBase = converted.geometry as GeometryBase,
|
||||
Name = converted.@base["name"] as string ?? "",
|
||||
Color = null,
|
||||
Material = null
|
||||
};
|
||||
SpeckleGeometryWrapper wrapper = new()
|
||||
{
|
||||
Base = converted.@base,
|
||||
GeometryBase = converted.geometry as GeometryBase,
|
||||
Name = converted.@base["name"] as string ?? "",
|
||||
Color = null,
|
||||
Material = null,
|
||||
};
|
||||
return new SpeckleGeometryWrapperGoo(wrapper);
|
||||
}
|
||||
|
||||
@@ -359,28 +357,26 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon
|
||||
/// </summary>
|
||||
private SpeckleGeometryWrapperGoo CreateFallbackWrapper(Base @base)
|
||||
{
|
||||
SpeckleGeometryWrapper wrapper =
|
||||
new()
|
||||
{
|
||||
Base = @base,
|
||||
GeometryBase = null,
|
||||
Name = @base[Constants.NAME_PROP] as string ?? "",
|
||||
Color = null,
|
||||
Material = null
|
||||
};
|
||||
SpeckleGeometryWrapper wrapper = new()
|
||||
{
|
||||
Base = @base,
|
||||
GeometryBase = null,
|
||||
Name = @base[Constants.NAME_PROP] as string ?? "",
|
||||
Color = null,
|
||||
Material = null,
|
||||
};
|
||||
return new SpeckleGeometryWrapperGoo(wrapper);
|
||||
}
|
||||
|
||||
private OutputParamWrapper CreateOutputParamByKeyValue(string key, object? value, GH_ParamAccess access)
|
||||
{
|
||||
SpeckleOutputParam param =
|
||||
new()
|
||||
{
|
||||
Name = key,
|
||||
NickName = key,
|
||||
Description = "",
|
||||
Access = access
|
||||
};
|
||||
SpeckleOutputParam param = new()
|
||||
{
|
||||
Name = key,
|
||||
NickName = key,
|
||||
Description = "",
|
||||
Access = access,
|
||||
};
|
||||
|
||||
return new OutputParamWrapper(param, value);
|
||||
}
|
||||
@@ -397,7 +393,7 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon
|
||||
{
|
||||
Name = GH_ComponentParamServer.InventUniqueNickname("ABCD", Params.Input),
|
||||
MutableNickName = true,
|
||||
Optional = true
|
||||
Optional = true,
|
||||
};
|
||||
myParam.NickName = myParam.Name;
|
||||
return myParam;
|
||||
@@ -421,7 +417,7 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon
|
||||
Name = newParam.Param.Name,
|
||||
NickName = newParam.Param.NickName,
|
||||
MutableNickName = false,
|
||||
Access = newParam.Param.Access
|
||||
Access = newParam.Param.Access,
|
||||
};
|
||||
Params.RegisterOutputParam(param);
|
||||
}
|
||||
|
||||
+4
-4
@@ -66,7 +66,7 @@ public class ExpandSpeckleProperties : GH_Component, IGH_VariableParameterCompon
|
||||
{
|
||||
SpecklePropertyGoo prop => prop.Value,
|
||||
SpecklePropertyGroupGoo pg => pg,
|
||||
_ => value
|
||||
_ => value,
|
||||
};
|
||||
|
||||
if (!outputParamsDict.TryGetValue(key, out var existingWrapper))
|
||||
@@ -75,7 +75,7 @@ public class ExpandSpeckleProperties : GH_Component, IGH_VariableParameterCompon
|
||||
{
|
||||
Name = key,
|
||||
NickName = key,
|
||||
Access = outputValue is IList ? GH_ParamAccess.list : GH_ParamAccess.item
|
||||
Access = outputValue is IList ? GH_ParamAccess.list : GH_ParamAccess.item,
|
||||
};
|
||||
outputParamsDict[key] = new OutputParamWrapper(param, outputValue);
|
||||
}
|
||||
@@ -115,7 +115,7 @@ public class ExpandSpeckleProperties : GH_Component, IGH_VariableParameterCompon
|
||||
{
|
||||
SpecklePropertyGoo prop => prop.Value,
|
||||
SpecklePropertyGroupGoo propGroup => propGroup,
|
||||
_ => value
|
||||
_ => value,
|
||||
};
|
||||
|
||||
if (outParam.Access == GH_ParamAccess.item)
|
||||
@@ -183,7 +183,7 @@ public class ExpandSpeckleProperties : GH_Component, IGH_VariableParameterCompon
|
||||
Name = targetParam.Name,
|
||||
NickName = targetParam.NickName,
|
||||
MutableNickName = false,
|
||||
Access = targetParam.Access
|
||||
Access = targetParam.Access,
|
||||
};
|
||||
Params.RegisterOutputParam(newParam, i);
|
||||
needsMaintenance = true;
|
||||
|
||||
+6
-7
@@ -223,11 +223,10 @@ public class FilterSpeckleObjects : GH_Component, IGH_VariableParameterComponent
|
||||
return true;
|
||||
}
|
||||
|
||||
SpecklePropertyGroupGoo? properties = wrapper is SpeckleDataObjectWrapper dataObjPropWrapper
|
||||
? dataObjPropWrapper.Properties
|
||||
: wrapper is SpeckleGeometryWrapper geoPropWrapper
|
||||
? geoPropWrapper.Properties
|
||||
: null;
|
||||
SpecklePropertyGroupGoo? properties =
|
||||
wrapper is SpeckleDataObjectWrapper dataObjPropWrapper ? dataObjPropWrapper.Properties
|
||||
: wrapper is SpeckleGeometryWrapper geoPropWrapper ? geoPropWrapper.Properties
|
||||
: null;
|
||||
|
||||
if (properties is null)
|
||||
{
|
||||
@@ -345,7 +344,7 @@ public class FilterSpeckleObjects : GH_Component, IGH_VariableParameterComponent
|
||||
NickName = Grasshopper.CentralSettings.CanvasFullNames ? "Application Id" : "aID", // see remarks
|
||||
Description = "Find objects with a matching applicationId",
|
||||
Access = GH_ParamAccess.item,
|
||||
Optional = true
|
||||
Optional = true,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -357,7 +356,7 @@ public class FilterSpeckleObjects : GH_Component, IGH_VariableParameterComponent
|
||||
NickName = Grasshopper.CentralSettings.CanvasFullNames ? "Speckle Id" : "sID", // see remarks
|
||||
Description = "Find objects with a matching Speckle id",
|
||||
Access = GH_ParamAccess.item,
|
||||
Optional = true
|
||||
Optional = true,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -68,7 +68,7 @@ public class QuerySpeckleObjects : GH_Component, IGH_VariableParameterComponent
|
||||
ObjectType.Brep,
|
||||
ObjectType.SubD,
|
||||
ObjectType.Mesh,
|
||||
ObjectType.Hatch
|
||||
ObjectType.Hatch,
|
||||
];
|
||||
|
||||
private string GetFilterNickName(ObjectType type) =>
|
||||
@@ -83,7 +83,7 @@ public class QuerySpeckleObjects : GH_Component, IGH_VariableParameterComponent
|
||||
ObjectType.SubD => "SubDs",
|
||||
ObjectType.Mesh => "Meshes",
|
||||
ObjectType.Hatch => "Hatches",
|
||||
_ => ""
|
||||
_ => "",
|
||||
};
|
||||
|
||||
private List<int>? _outputFilterIndices;
|
||||
@@ -266,7 +266,7 @@ public class QuerySpeckleObjects : GH_Component, IGH_VariableParameterComponent
|
||||
Name = filter.ToString(),
|
||||
NickName = GetFilterNickName(filter),
|
||||
MutableNickName = false,
|
||||
Optional = true
|
||||
Optional = true,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user