Skip to content
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

IFC 4x3 integration (including .NET6 port) #196

Open
wants to merge 18 commits into
base: develop
Choose a base branch
from

Conversation

andyward
Copy link
Member

@andyward andyward commented Jan 2, 2023

An initial pass integrating both the new GE and IFC4x3 support into xbim Xplorer

This necessitated upgrading to .net6 which was overdue

Supports loading IFC4x3 schema but latest Geometry needed

Styler fixed up and multi-schema code reviewed
(including 4x3).
Geometry to test.
Plugins disabled due to Nuget package deprecation
@andyward
Copy link
Member Author

andyward commented Jan 2, 2023

@SteveLockley , @martin1cerny if you're interested in the current state of the GE6

@andyward
Copy link
Member Author

andyward commented Jan 2, 2023

This is WIP, so don't complete the PR just yet. A few things need finishing/testing

  • Re-establish the Plugin mechanism - I commented it out as the whole Nuget.Core implementation has been deprecated & changed
  • There's no support for net framework - it's Net6 upwards - GE6 only support netcore currently
  • The new 4x3 geometries are not complete yet
  • I removed the code signing as GE6 is unsigned. Seems to be the general direction with net core but should review
  • I had to manually resolve a M.E.Logging.Abstractions version clash
  • Project/package meta data needs a review as I had to remove the AssemblyInfos
  • Builds need testing
  • Testing - lots of change here: new Helix core version, replacement AvalonDock, new GE, new Essentials, + netcore

…port in GE

Tweaked About & assemblies tabs to make clearer what's loaded
Helps with diagnostics where there may not be any additional context
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{89F98E53-DE4E-4427-8244-D5934AD08849}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{89F98E53-DE4E-4427-8244-D5934AD08849}.Debug|Any CPU.Build.0 = Debug|Any CPU
{89F98E53-DE4E-4427-8244-D5934AD08849}.Debug|x86.ActiveCfg = Debug|x86
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

x86 allows building/testing on Arm64 (until we get a GE & Xbim.Geometry.Occt with Arm64 support)

@@ -22,15 +16,3 @@
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("55A780CE-22A2-434A-BA2D-A368CBEFD959")]

// Version information for an assembly consists of the following four values:
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we now use in the csproj

@andyward andyward changed the title IFC 4x3 integration IFC 4x3 integration (including .NET6 port) Jan 12, 2023
andyward and others added 7 commits January 15, 2023 15:42
Now looks for 6.0.0.0 compatible plugins as 4/5.x will not be compatible with v6

Breaking change: Plugins cannot be WinExe - these can't be assembly loaded in netcore: https://stackoverflow.com/a/58291394

TODO: consider multi-targetting
TODO: Review plugin commands
Updated to v6.0.0 xbim dependencies (and AssemblyVersions)
Includes SRL fix for Cylindrical surface in advanced breps
@maxplex
Copy link

maxplex commented Jun 6, 2023

I'm really keen to check this out, is there an ETA for release?

@CBenghi
Copy link
Member

CBenghi commented Jun 6, 2023 via email

@CBenghi
Copy link
Member

CBenghi commented Apr 24, 2024

Hi @andyward,
I've tried to compile this branch, but it fails to restore the projects because of missing packages.

1>C:\Data\Dev\XbimLtd\XbimWindowsUI\Xbim.Presentation\Xbim.Presentation_isxv1we2_wpftmp.csproj : error NU1102: Unable to find package Xbim.ModelGeometry.Scene with version (>= 6.1.739-netcore)
1>C:\Data\Dev\XbimLtd\XbimWindowsUI\Xbim.Presentation\Xbim.Presentation_isxv1we2_wpftmp.csproj : error NU1102:   - Found 34 version(s) in xbim_master [ Nearest version: 5.1.541 ]
1>C:\Data\Dev\XbimLtd\XbimWindowsUI\Xbim.Presentation\Xbim.Presentation_isxv1we2_wpftmp.csproj : error NU1102:   - Found 11 version(s) in nuget.org [ Nearest version: 5.1.437 ]
1>C:\Data\Dev\XbimLtd\XbimWindowsUI\Xbim.Presentation\Xbim.Presentation_isxv1we2_wpftmp.csproj : error NU1102:   - Found 10 version(s) in xbim_develop [ Nearest version: 5.1.742-develop ]

Is there an easy fix for this other than compiling geometry locally?

I think that local management would require some hacking of the nuget package version, because geom packages are at v. 6.0.0 from a normal compilation.

@andyward
Copy link
Member Author

Claudio I'll invite you to our private nuget feed in Axure Devops. Separately will chat with the team about how we push to a public nuget (we wanted to hold off while it' still not a complete 4x3 implementation)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants