NetOcc 8.0.1.1-next.4

This is a prerelease version of NetOcc.
dotnet add package NetOcc --version 8.0.1.1-next.4
                    
NuGet\Install-Package NetOcc -Version 8.0.1.1-next.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NetOcc" Version="8.0.1.1-next.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NetOcc" Version="8.0.1.1-next.4" />
                    
Directory.Packages.props
<PackageReference Include="NetOcc" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NetOcc --version 8.0.1.1-next.4
                    
#r "nuget: NetOcc, 8.0.1.1-next.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package NetOcc@8.0.1.1-next.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NetOcc&version=8.0.1.1-next.4&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=NetOcc&version=8.0.1.1-next.4&prerelease
                    
Install as a Cake Tool

NetOcc

Open CASCADE Technology (OCCT) 8.0.1 for .NET: C# bindings generated from OCCT's headers. OCCT's names don't change, each OCCT package is a namespace (gp_Pnt is OCC.Core.gp.gp_Pnt), and IntelliSense shows OCCT's documentation.

  • Frameworks: .NET Framework 3.5 and 4.5+, .NET 6, 8 and 10, netstandard2.0, in one AnyCPU assembly.
  • Platforms: win-x64, win-x86, linux-x64 and osx-arm64. The natives come with the package (NetOcc.runtime.<rid>).
  • Covered: all 362 packages of OCCT's FoundationClasses, ModelingData, ModelingAlgorithms, ApplicationFramework and DataExchange modules and of Visualization's TKService, TKV3d, TKOpenGl and TKMeshVS: geometry, topology, booleans, fillets, offsets, sweeps, shape healing, meshing, OCAF and XCAF documents, STEP, IGES, STL, glTF, OBJ, PLY and VRML files, and 3D views.

Requirements

Platform Needs
Windows the Visual C++ 2015-2022 runtime
Linux glibc 2.35 or newer
macOS 14 or newer, on Apple silicon

Example

A block with a hole, rounded, measured, and written as STEP and STL:

using OCC.Core.BRepAlgoAPI;
using OCC.Core.BRepFilletAPI;
using OCC.Core.BRepGProp;
using OCC.Core.BRepMesh;
using OCC.Core.BRepPrimAPI;
using OCC.Core.GProp;
using OCC.Core.gp;
using OCC.Core.STEPControl;
using OCC.Core.StlAPI;
using OCC.Core.TopAbs;
using OCC.Core.TopExp;
using OCC.Core.TopoDS;
using OCC.Core.TopTools;

// a 60 x 40 x 20 block with a hole through it
var block = new BRepPrimAPI_MakeBox(60, 40, 20).Shape();
var axis = new gp_Ax2(new gp_Pnt(30, 20, -1), new gp_Dir(0, 0, 1));
var hole = new BRepPrimAPI_MakeCylinder(axis, 8, 22).Shape();
var part = new BRepAlgoAPI_Cut(block, hole).Shape();

// round every edge by 1.5, each once
var edges = new TopTools_IndexedMapOfShape();
TopExp.MapShapes(part, TopAbs_ShapeEnum.TopAbs_EDGE, edges);
var fillet = new BRepFilletAPI_MakeFillet(part);
foreach (var edge in edges)
{
  fillet.Add(1.5, TopoDS.Edge(edge));
}

var rounded = fillet.Shape();

// its volume, then the part as STEP and, triangulated, as STL
var properties = new GProp_GProps();
BRepGProp.VolumeProperties(rounded, properties);
Console.WriteLine($"volume: {properties.Mass():F1} mm³");

var step = new STEPControl_Writer();
step.Transfer(rounded, STEPControl_StepModelType.STEPControl_AsIs);
step.Write("part.step");

new BRepMesh_IncrementalMesh(rounded, 0.1);
new StlAPI_Writer().Write(rounded, "part.stl");

Documentation

  • Guide: geometry, topology, modeling, meshing, files, documents and 3D views; every example compiles against the package in CI, and all but the on-screen views run there.
  • From C++ to C#: how OCCT's signatures look in C#, so OCCT's own documentation and samples apply.
  • Class index: every type, linked to OCCT's reference manual.
  • Source and demos, changes.

License

NetOcc is MIT licensed. The IntelliSense documentation holds the doc comments of OCCT's headers, and the runtime packages hold OCCT's libraries: both are LGPL-2.1 with the Open CASCADE exception. NOTICE and OCCT-LICENSE.txt in the package have the details.

NetOcc is not affiliated with, endorsed by, or sponsored by Open Cascade SAS. "Open CASCADE" and "Open CASCADE Technology" are trademarks of Open Cascade SAS.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net35 is compatible.  net40 was computed.  net403 was computed.  net45 is compatible.  net451 was computed.  net452 is compatible.  net46 was computed.  net461 was computed.  net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on NetOcc:

Package Downloads
NetOcc.Vtk

OCCT shapes in VTK scenes: C# bindings for Open CASCADE Technology's TKIVtk (IVtk, IVtkOCC, IVtkVTK, IVtkTools) on NetOcc and NetVtk. IVtkTools_ShapeDataSource feeds a shape into VTK pipelines, IVtkTools_ShapePicker picks its sub-shapes. For .NET Framework 3.5+, .NET 6+ and netstandard2.0, on Windows (x64, x86), Linux (x64) and macOS (arm64).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
8.0.1.1-next.4 80 10/14/2026
8.0.1.1-next.3 93 10/6/2026
8.0.1.1-next.2 76 9/28/2026
8.0.1.1-next.1 66 9/27/2026

### Added

- NetOcc.Vtk and NetOcc.Vtk.runtime.<rid>: OCCT's TKIVtk (IVtk, IVtkOCC, IVtkVTK, IVtkTools) on NetVtk, for OCCT shapes in VTK scenes next to simulation results. IVtkTools_ShapeDataSource is a NetVtk vtkPolyDataAlgorithm, IVtkTools_ShapePicker picks shapes and their faces, edges and vertices. It depends on NetOcc of the same version and on exactly one NetVtk release, whose VTK build TKIVtk is compiled against; NetOcc's own packages hold neither TKIVtk nor VTK.