You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
the .NET platform. This library enables software developers to easily read, write, validate and interrogate data in
21
21
the buildingSmart [IFC formats](https://en.wikipedia.org/wiki/Industry_Foundation_Classes), using any .NET language.
22
22
23
-
As of version 6.0 XbimEssentials includes support for `.netstandard2.0`, `.netstandard2.1`, `.net6.0` and `.net8.0`. Supporting `netstandard2.0` provides support .NET Framework 4.7.2 upwards.
24
-
Earlier .NET Framewaork versions may work, but we can't provide any support for them.
25
-
26
-
23
+
As of version 6.0 XbimEssentials includes support for `.netstandard2.0`, `.netstandard2.1`, `.net6.0` and `net8.0`.
24
+
Supporting `netstandard2.0` provides support .NET Framework 4.7.2 upwards.
25
+
Earlier .NET Framework versions may work, but we can't provide any support for them.
27
26
28
27
## Background / Motivation ##
29
28
@@ -35,7 +34,9 @@ This library supports *STEP*, *IfcXml* and *IfcZip* formats, and enables you to
The wider XBIM toolkit contains additional repositories with libraries to read and write related Open BIM formats including
38
-
[COBie](https://github.com/xBimTeam/XbimExchange) and BIM Collaboration Format ([BCF](https://github.com/xBimTeam/XbimBCF))
37
+
[COBie](https://github.com/xBimTeam/XbimCobieExpress) and BIM Collaboration Format ([BCF](https://github.com/xBimTeam/XbimBCF))
38
+
39
+
xbim Toolkit also supports IFC model verification with IDS using our [IDS Library](https://github.com/xBimTeam/Xbim.IDS.Validator).
39
40
40
41
In order to visualise 3D Geometries you will need to include the [Xbim.Geometry](https://github.com/xBimTeam/XbimGeometry)
41
42
package which provides full support for geometric, topological operations and visualisation.
@@ -50,14 +51,20 @@ of STEP/Express parsing, 3D graphics - enabling you to work at a higher level th
50
51
Please see our [ChangeLog](CHANGELOG.md) for details on what's new and what you need to upgrade.
51
52
In particular, please **note the following section copied here:**
52
53
53
-
> **BREAKING CHANGE**: V6 implements a new mechanism for discovering internal resources and uses standard (.net Dependency Injection patterns)[https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection] for managing services internally.
54
-
> `Xbim.Common` now introduces an internal DI service that you can optionally integrate with your own DI implementation, for providing Logging services, and configuring xbim service behaviour. E.g. Invoking:
> registers the Toolkit internal dependencies, uses an In-memory model and inserts your configured ILoggerFactory into the service in place of our default one.
54
+
> **BREAKING CHANGE**: xbim Toolkit V6 implements a new mechanism for registering internal resources and makes use of standard [.net Dependency Injection patterns](https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection) for managing services internally.
55
+
> `Xbim.Common` now introduces an internal DI service that you can optionally integrate with your own DI implementation,
56
+
> for providing Logging services, and configuring xbim service behaviour such as the model provider to use. E.g. Invoking:
> registers the Toolkit internal dependencies, configures an In-memory model-provider and adds an existing ILoggerFactory into the service in place of our default one.
57
61
> `IfcStore.ModelProviderFactory` has been deprecated as this is provided for by the above mechanism
58
-
> The persistent EsentModel is now available automatically through IfcStore (on Windows) so there is no need for the `UseHeuristicModelProvider()` 'ceremony' to ensure Esent is used.
59
-
> Note: The default Logging implementation has been removed from Toolkit to reduce the amount of dependencies. To enable is a simple matter of adding logging to the Xbim Services.
60
-
> See (Example)[https://github.com/xBimTeam/XbimEssentials/blob/b3fce6f40a31fb87a75b24888a4e20740a378e31/Tests/DependencyInjectionTests.cs#L96]
62
+
> The persistent **EsentModel** is now available automatically through IfcStore (on Windows) so there is no need for the `UseHeuristicModelProvider()` 'ceremony'
63
+
> to ensure Esent is used although you can specify it explicitly with `XbimServices.Current.ConfigureServices(s => s.AddXbimToolkit(opt => opt.UseHeuristicModel())`
64
+
>
65
+
> Note: The default Logging implementation has been removed from Toolkit to reduce the amount of external dependencies.
66
+
> To enable is a simple matter of adding your preferred logging implementation to the Xbim Services.
67
+
> See [Example](https://github.com/xBimTeam/XbimEssentials/blob/b3fce6f40a31fb87a75b24888a4e20740a378e31/Tests/DependencyInjectionTests.cs#L96)
61
68
62
69
63
70
## Code Examples
@@ -230,7 +237,7 @@ and an ability open sementic model data from a JSON structure.
230
237
231
238
You will need Visual Studio 2019 or newer to compile the Solution. Visual Studio 2022 is recommended.
232
239
The [free VS 2022 Community Edition](https://visualstudio.microsoft.com/downloads/) should work fine.
233
-
Other IDEs such as JetBrains Rider and VS Code should also be fine.
240
+
Other IDEs such as JetBrains Rider and VS Code should work.
234
241
235
242
### Using the library
236
243
@@ -248,7 +255,6 @@ dependent packages directly. (Which is necessary for .NET Core currently, as Ess
248
255
249
256
## Toolkit Overview
250
257
251
-

252
258
253
259
### How to use it?
254
260
@@ -278,15 +284,11 @@ the licence agreements.
278
284
279
285
The core XBIM library makes use of the following 3rd party software packages, under their associated licences:
280
286
281
-
* 'OpenCASCADE' Geometry Engine : http://www.opencascade.org/ - OPEN CASCADE Public License
282
-
* 'Gardens Point Parser Generator' http://gppg.codeplex.com/ - New BSD Licence
283
-
* Elements of '3D Tools' WPF library http://3dtools.codeplex.com/ - MS Permissive Licence
* NewtonSoft JSON : http://json.codeplex.com/ - MIT Licence
287
+
* 'Gardens Point Parser Generator' https://github.com/KommuSoft/Gardens-Point-Parser-Generator - New BSD Licence
288
+
* 'OpenCASCADE' Geometry Engine : http://www.opencascade.org/ - GNU Lesser General Public License (LGPL) version 2.1, with additional [exception](https://dev.opencascade.org/doc/overview/html/occt_public_license.html#occt_lgpl_exception)
287
289
288
-
All 3rd party licences are permissive-style licences. We actively avoid Copyleft/GPL style licences to retain
289
-
compatibility with our CDDL licence - meaning you can use the XBIM Toolkit in a closed-source commercial software package.
290
+
All 3rd party licences are permissive-style licences. We actively avoid Strong Copyleft/GPL style licences to retain
291
+
compatibility with our CDDL licence - meaning you can use the XBIM Toolkit in a closed-source commercial software package.
290
292
291
293
## Support & Help
292
294
@@ -299,16 +301,7 @@ For bugs, and improvements, please use the GitHub Issues of the relevant reposit
299
301
If you have a question, or need some help, you may find the
300
302
[Stackoverflow xbim](https://stackoverflow.com/questions/tagged/xbim) tag a good place to start.
301
303
302
-
## Acknowledgements
303
-
While we do not qualify anymore for open source licenses of JetBrains, we would like to acknowledge the
304
-
good work and thank [JetBrains](https://www.jetbrains.com/) for supporting the XbimToolkit project with
305
-
free open source [Resharper](https://www.jetbrains.com/resharper/) licenses in the past.
Thanks also to Microsoft Azure DevOps for the use of [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines/)
310
-
to automate our builds.
311
304
312
305
## Getting Involved
313
306
314
-
If you'd like to get involved and contribute to this project, please read the [CONTRIBUTING](https://github.com/xBimTeam/XbimEssentials/blob/master/CONTRIBUTING.md) page or contact the Project Coordinators @CBenghi and @martin1cerny.
307
+
If you'd like to get involved and contribute to this project, please read the [CONTRIBUTING](https://github.com/xBimTeam/XbimEssentials/blob/master/CONTRIBUTING.md) page or contact the Project Coordinators @CBenghi and @martin1cerny.
0 commit comments