Ab3d.PowerToys
12.0.9484
dotnet add package Ab3d.PowerToys --version 12.0.9484
NuGet\Install-Package Ab3d.PowerToys -Version 12.0.9484
<PackageReference Include="Ab3d.PowerToys" Version="12.0.9484" />
<PackageVersion Include="Ab3d.PowerToys" Version="12.0.9484" />
<PackageReference Include="Ab3d.PowerToys" />
paket add Ab3d.PowerToys --version 12.0.9484
#r "nuget: Ab3d.PowerToys, 12.0.9484"
#:package Ab3d.PowerToys@12.0.9484
#addin nuget:?package=Ab3d.PowerToys&version=12.0.9484
#tool nuget:?package=Ab3d.PowerToys&version=12.0.9484
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
Online reference help
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 | Versions 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. |
-
.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.