-
Notifications
You must be signed in to change notification settings - Fork 27
Navisworks! #438
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Navisworks! #438
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* dev: moves pointcloud converter to top level (#349)
* dev: Fixed autocad async (#370) chore: comments fix: allows pre-transformation of all ITransformable objects adds a setting to send rebars as line or solid (#367) Update SDK and dependencies (#366) Jrm/parameter extraction (#365) dogukan/cnx-753-normals-are-flipped (#364) Dogukan/cnx 691 extract appropriate class properties by type (#352) Revit async fix for sending (#362) feat: adds top level converter for railings dogukan/cnx-748-send-grids-from-tekla (#353) fix: adds built in category for setting ds cat on receive reliably feat: CXPLA-120 Added tekla zip packaging prior to installers (#357) add appId (#358) adds logic for rendering rebars as lines and arcs (#356) Fixed test failing on german culture (#355) CNX-501 Temp folder arcgis (#351) receive operation fix (#350)
The commit modifies the access modifier of the Container property in the Connector class from public to private. This change improves encapsulation and ensures that the property can only be accessed within the class itself.
…lidation The commit fixes the initialization of the Models list in the NavisworksDocumentStore class. Instead of assigning an empty array, it now uses the Clear() method to clear the existing models. Additionally, the commit improves the document validation logic by checking if critical properties are accessible before considering the document valid. It also handles cases where the document is disposed. These changes ensure proper initialization of model lists and accurate document validation in NavisworksDocumentStore.
- Refactor NavisworksDocumentEvents to manage both document and model state change notifications - Update comments to reflect the new functionality - Rename SubscribeToEvents method to SubscribeToDocumentModelEvents for clarity - Add HandleDocumentModelCountChanging and HandleDocumentModelCountChanged methods to track model count changes - Update OnDocumentModelCountChanged method name to NotifyValidModelStateChange for clarity - Update UnsubscribeFromEvents method name to UnsubscribeFromDocumentModelEvents for clarity - Remove unused constants from NavisworksDocumentStore class
- Update references to `Autodesk.Navisworks.Api` namespace to `NAV` namespace - Fix typo in file name: `GlobalUsings.cs` renamed to `GlobalUsing.cs` - Update references to `ModelItem` type from `Autodesk.Navisworks.Api` namespace to `NAV.ModelItem` - Update references to `Document` type from `Autodesk.Navisworks.Api` namespace to `NAV.Document` - Update references to database related types from `Autodesk.Navisworks.Api.Data` namespace to `NAV.Data` - Add new file: NavisworksRootObjectBuilder.cs - Remove unused using statements
- Added "Objects.Converter.Navisworks2024" to the packages.lock.json file with dependencies on "Speckle.Converters.Common" and "Speckle.Navisworks.API" - Updated the Speckle.Connectors.Navisworks2024.csproj file to include a reference to "Speckle.Converters.Navisworks2024.csproj" and "Speckle.Converters.Common.csproj" - Added "speckle.converters.common" to the packages.lock.json file with dependencies on "Microsoft.Extensions.Logging.Abstractions" and "Speckle.Objects" - Renamed files: - NavisworksConversionSettings.cs -> NavisworksConversionSettingsFactory.cs - GlobalUsings.cs -> GlobalUsing.cs - NavisworksConversionSettings.cs -> Settings/NavisworksConversionSettings.cs - NavisworksConversionSettings.cs -> Services/NavisworksToSpeckleUnitConverter.cs - NavisworksConversionSettings.cs -> ToSpeckle/NavisworksRootToSpeckleConverter.cs
- Updated the project reference for "Navisworks" in Local.sln to use a new GUID - Updated the project reference for "2024" in Local.sln to use a new GUID - Updated the project reference for "Shared" in Local.sln to use a new GUID - Updated the project reference for "Speckle.Connectors.NavisworksShared" in Local.sln to use a new GUID - Updated the project reference for "Speckle.Converters.NavisworksShared" in Local.sln to use a new GUID - Updated the project name and GUID for "Navisworks" in Speckle.Connectors.sln - Updated the project name and GUID for "Shared" in Speckle.Connectors.sln
…ad connectors for versions 2022, 2023, 2024, and 2025. This commit updates the Microsoft.Web.WebView2 package in the Autocad connectors for versions 2022, 2023, 2024, and 2025 from version 1.0.1938.49 to version 1.0.2088.41. This change ensures compatibility with the latest version of the package and includes necessary bug fixes or improvements related to web view functionality in the connectors.
- Updated the project reference for "Navisworks" in Local.sln to use a new GUID - Updated the project reference for "2024" in Local.sln to use a new GUID - Updated the project reference for "Shared" in Local.sln to use a new GUID - Updated the project reference for "Speckle.Connectors.NavisworksShared" in Local.sln to use a new GUID - Updated the project reference for "Speckle.Converters.NavisworksShared" in Local.sln to use a new GUID - Updated the project name and GUID for "Navisworks" in Speckle.Connectors.sln - Updated the project name and GUID for "Shared" in Speckle.Connectors.sln
…nd Civil3d connectors This commit updates the version of Microsoft.Web.WebView2 to [1.0.1938.49, ) in the Autocad and Civil3d connectors packages.lock.json files. The previous version was 1.0.2088.41, and the contentHash has also been updated accordingly. Note: This commit message is exactly 50 characters long, as per the requirement for a short description less than 50 characters.
- Remove the `GeometryNodeMerger` class from service registration in `NavisworksConnectorServiceRegistration.cs` - Change the access modifier of `UnpackRenderMaterial` method in `NavisworksMaterialUnpacker.cs` to internal - Change the access modifier of `ConvertRenderColorAndTransparencyToSpeckle` method in `NavisworksMaterialUnpacker.cs` to private static - Change the access modifier of `GroupSiblingGeometryNodes` method in `GeometryNodeMerger.cs` to public static - Add null checks for parameters in methods: - GetClassProperties in ClassPropertiesExtractor.cs - GetPropertySets and AssignProperties in BasePropertyHandler.cs - AssignClassProperties and ExtractClassProperties in ClassPropertiesExtractor.cs - GetPropertySets in PropertySetsExtractor.cs - AssignPropertySets, AssignModelProperties, and ExtractModelProperties in ModelPropertiesExtractor.cs - NavisworksRootObjectBuilder constructor
- Added `DisplayValueExtractor` class for extracting display values from Navisworks model items - Added `GeometryToSpeckleConverter` class for converting Navisworks geometry to Speckle SDK models - Updated dependencies in `NavisworksConverterServiceRegistration.cs` to include the new classes
This commit renames the file GeomtryNodeMerger.cs to GeometryNodeMerger.cs.
- Updated NavisworksSelectionBinding to include IElementSelectionService as a dependency in the constructor. - Updated NavisworksSendBinding to include IElementSelectionService as a dependency in the constructor. - Removed ElementSelectionExtension.cs file. - Added ElementSelectionService.cs file which includes methods for getting model item path, resolving model item from path, checking visibility of model items, and getting geometry nodes.
* Clean up projects and locks for all Navisworks * Fix nuget error * Fixed Local SLN and removed some runtime IDs * add back RuntimeIdentifier
Sounds important 😎 |
didimitrie
approved these changes
Dec 17, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description & motivation
This PR adds Navisworks support to the next-generation Speckle connectors. The implementation enables users to export Navisworks models and their properties into Speckle, providing high-fidelity data exchange capabilities. These changes are the first step towards fully integrating Navisworks into the Speckle ecosystem, setting the stage for future enhancements like bidirectional workflows and advanced automation.
Fixes: CNX-428, CNX-894, CNX-900, CNX-901, CNX-902, CNX-903, CNX-904
Changes:
Send
functionality for exporting Navisworks models and their properties.RunOnMainThreadAsync
for thread-safeCOM Interop
execution.GeometryExtractor
andPrimitiveProcessor
for handling Navisworks geometries.GC.KeepAlive
events and Added someSafe*
primitives as structs to prevent early disposalsTo-do before merge:
Screenshots:
Validation of changes:
RunOnMainThreadAsync
.Checklist: