Ab3d.PowerToys 12.0.9484

dotnet add package Ab3d.PowerToys --version 12.0.9484
                    
NuGet\Install-Package Ab3d.PowerToys -Version 12.0.9484
                    
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="Ab3d.PowerToys" Version="12.0.9484" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Ab3d.PowerToys" Version="12.0.9484" />
                    
Directory.Packages.props
<PackageReference Include="Ab3d.PowerToys" />
                    
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 Ab3d.PowerToys --version 12.0.9484
                    
#r "nuget: Ab3d.PowerToys, 12.0.9484"
                    
#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 Ab3d.PowerToys@12.0.9484
                    
#: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=Ab3d.PowerToys&version=12.0.9484
                    
Install as a Cake Addin
#tool nuget:?package=Ab3d.PowerToys&version=12.0.9484
                    
Install as a Cake Tool

Ab3d.PowerToys

Ab3d.PowerToys is the ultimate WPF and WinForms 3D toolkit library that greatly simplifies developing desktop applications with scientific, technical, CAD or other 3D graphics.

Ab3d.PowerToys is using WPF 3D rendering engine (DirectX 9). Check Ab3d.DXEngine for super fast DirectX 11 rendering engine that can render the existing WPF 3D scene much faster and with better visual quality.

Main features

  • The easiest to use 3D API with many great code samples in C#
  • Cameras (TargetPositionCamera, FreeCamera, FirstPersonCamera, ThirdPersonCamera, etc.)
  • Camera Controllers (MouseCameraController, CameraControlPanel, CameraNavigationCircles)
  • 3D Models and Visuals (Sphere, Box, Cylinder, etc.)
  • Generate extruded or lathe 3D objects
  • Use Boolean operations on 3D objects or slice them with a 3D plane
  • 3D Lines (the fastest implementation for connected, disconnected and lines with arrows)
  • 3D Text
  • Event Manager 3D (simplified event handling on 3D objects)
  • Many helper classes to ease work with WPF 3D
  • Support for touch and multi-touch to rotate, move and zoom the camera
  • Import 3D models from obj files (integrated in Ab3d.PowerToys) or almost all other 3D files with Assimp importer
  • Play keyframe and skeletal animations from many 3D files with Assimp importer
  • Export 3D models to many file types files (using Assimp exporter)
  • Fully optimized to achieve best possible performance
  • When faster rendering is required, it is very easy to switch to DirectX 11 rendering with Ab3d.DXEngine
  • Premium support for all questions regarding WPF 3D and our libraries

Samples

Ab3d.PowerToys.Wpf.Samples on GitHub Ab3d.PowerToys.WinForms.Samples on GitHub

Homepage

Ab3d.PowerToys Homepage

Online reference help

Ab3d.PowerToys Reference help

Change log

Ab3d.PowerToys change log

Usage

This version of Ab3d.PowerToys can be used as an evaluation and as a commercial version.

Evaluation usage: On the first usage of the library, a dialog to start a 60-days evaluation is shown. The evaluation version offers full functionality of the library but displays an evaluation info dialog once a day and occasionally shows a "Ab3d.PowerToys evaluation" watermark text. When the evaluation is expired, you can ask for evaluation extension or restart the evaluation period when a new version of the library is available.

You can see the prices of the library and purchase it on Ab3d.PowerToys price list

Commercial usage: In case you have purchased a license, you can get the license parameters from your User Account web page (User log in). Then set the parametes with adding the following code before the library is used:

Ab3d.Licensing.PowerToys.LicenseHelper.SetLicense(licenseOwner: "[CompanyName]", licenseType: "[LicenseType]", license: "[LicenseText]");

Note that the version that is distributed as NuGet package uses a different licensing mechanism then the commercial version that is distributed with a windows installer. Also the LicenseText that is used as a parameter to the SetLicense method is different then the license key used in the installer.

Supported platforms

  • .NET Framework 4.0+
  • .NET Core 3.1
  • .NET 5.0
  • .NET 6.0
  • .NET 7.0
  • .NET 8.0

See also

Ab3d.DXEngine.Wpf.Samples on GitHub that show how to render 3D scene that is defined by WPF 3D and Ab3d.PowerToys by using a super-fast Ab3d.DXEngine. The Ab3d.DXEngine also renders the scene in better quality and provides many advanced rendering effects.

Product Compatible and additional computed target framework versions.
.NET net6.0-windows7.0 is compatible.  net7.0-windows was computed.  net8.0-windows was computed.  net8.0-windows7.0 is compatible.  net9.0-windows was computed.  net9.0-windows7.0 is compatible.  net10.0-windows was computed.  net10.0-windows7.0 is compatible. 
.NET Framework net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.8

    • No dependencies.
  • net10.0-windows7.0

    • No dependencies.
  • net6.0-windows7.0

    • No dependencies.
  • net8.0-windows7.0

    • No dependencies.
  • net9.0-windows7.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Ab3d.PowerToys:

Package Downloads
Ab3d.PowerToys.Input

Ab3d.PowerToys.Input library provides 3D camera controllers for Game Controller and 3D mouse from 3dconnexion.

WolvenKit.Magic

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
12.0.9484 346 12/19/2025
11.2.9104 5,042 12/4/2024
11.1.8864 3,965 4/11/2024
11.0.8746 5,035 12/14/2023
11.0.8614 1,960 8/2/2023
11.0.8585 700 7/5/2023
10.2.8348 3,854 11/9/2022
10.1.8147 2,092 4/28/2022
10.0.8000 9,850 11/26/2021
9.6.7848 4,184 6/28/2021
9.5.7763 1,581 4/3/2021
9.5.7760 761 4/2/2021
9.4.7657 2,098 12/17/2020
9.4.7656 866 12/17/2020
9.3.7619 1,163 11/11/2020
9.2.7447 2,098 5/29/2020
9.1.7279 1,631 12/11/2019
9.0.7234 1,573 10/22/2019

Ab3d.PowerToys v12.0.9483 change log:
- Added camera rotation, movement and zoom smoothing to MouseCameraController. It can be enabled by setting the new CameraSmoothing property on the MouseCameraController. There are also new SetAdvancedSmoothSettings method to manually control the smoothing.
- Added CameraZoomStarted and CameraZoomEnded events to MouseCameraController. They are useful when camera smoothing is enabled and zooming with the mouse wheel is not a one-time event.
- Do not stop camera rotation when zooming in and out with the mouse wheel.
- Added TargetPositionCamera.SetCameraRotation method that sets camera's Heading and Attitude and rotates the camera around RotationCenterPosition. Note that setting Heading and Attitude properties directly does not rotate the camera around RotationCenterPosition.
- Added Slicer class that can be used to slice a 3D model with a 3D plane. Slicing was already possible by using methods on the Plane class. But the new Slicer class also supports generating sliced polygon lines and can also generate a closed slice mesh (so we cannot see inside the sliced model). See the updated SliceSample for more info.
- Marked Slice method in Plane class obsolete - use the same methods in the Slicer class. This also moves private collections that are used for Slicer out of the Plane class, so the Plane class now has only the data that defines the plane.
- Improved BezierCurve and BSpline classes by adding methods that use an adaptive algorithm that generates the curve position based on angle change so more positions are generated at sharper curve bends and fewer positions at straighter curve segments.   
- Prevented freezing the 3D model when calling ModelOptimizer.Optimize with Model3D as a parameter and when FreezeAll, FreezeMeshGeometries and FreezeMaterials are all false.
- Prevented "Index out of bounds" exception in EdgeLinesFactory if the triangle indices count is not divisible by 3.
- Fixed calculating edge lines for meshes with 4 positions when the positions are not defined in a clockwise or counter-clockwise direction (this is also used by PlaneVisual3D).
- Updated WireframeFactory.CreateWireframe method that takes ModelVisual3D as a parameter to use the Transform that is assigned to the specified ModelVisual3D.
- Added MeshUtils.Project3DPointsTo2DPlane method that can project 3D positions that are defined by positionIndexes and positions to a 2D plane.
- Added GetTriangleEdgesOnPlane, AddTriangleEdgesOnPlane and GenerateMeshOnPlane to MeshUtils. The methods can be used to get positions or a mesh of triangles that lie on a specified plane.
- Added an overload to WireframeFactory.AddWireframeLinePositions that takes ModelVisual3D as a parameter instead of Model3D.
- Added an overload to ModelUtils.ChangeBackMaterial that takes ModelVisual3D as a parameter instead of Model3D.
- Improved EdgeLinesFactory for some cases when the triangle edge is only partially covered by another triangle.
- Fixed PolygonAnalyzer.IsPointInsidePolygon method for some corner cases.
- Improved Triangulator to correctly triangulate some more complex polygons, for example those with multiple holes on different shapes, like % char.
- Improved optimizing positions in PolygonAnalyzer - now when more than one consecutive positions lie on the same line, then all of those positions are removed.
- Improved ModelMover, ModelRotator and ModelScalar samples to show how to use left mouse button for camera rotation and to update ModelMover, ModelRotator and ModelScalar. The previous version of the sample required right mouse button for camera rotation.