Ab3d.PowerToys
11.2.9104
dotnet add package Ab3d.PowerToys --version 11.2.9104
NuGet\Install-Package Ab3d.PowerToys -Version 11.2.9104
<PackageReference Include="Ab3d.PowerToys" Version="11.2.9104" />
paket add Ab3d.PowerToys --version 11.2.9104
#r "nuget: Ab3d.PowerToys, 11.2.9104"
// Install Ab3d.PowerToys as a Cake Addin #addin nuget:?package=Ab3d.PowerToys&version=11.2.9104 // Install Ab3d.PowerToys as a Cake Tool #tool nuget:?package=Ab3d.PowerToys&version=11.2.9104
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-windows7.0 is compatible. |
.NET Framework | net40 is compatible. net403 was computed. net45 is compatible. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
-
.NETFramework 4.0
- No dependencies.
-
.NETFramework 4.5
- No dependencies.
-
.NETFramework 4.8
- 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 |
---|---|---|
11.2.9104 | 224 | 12/4/2024 |
11.1.8864 | 2,435 | 4/11/2024 |
11.0.8746 | 3,973 | 12/14/2023 |
11.0.8614 | 1,759 | 8/2/2023 |
11.0.8585 | 512 | 7/5/2023 |
10.2.8348 | 3,450 | 11/9/2022 |
10.1.8147 | 1,870 | 4/28/2022 |
10.0.8000 | 8,732 | 11/26/2021 |
9.6.7848 | 3,652 | 6/28/2021 |
9.5.7763 | 1,388 | 4/3/2021 |
9.5.7760 | 551 | 4/2/2021 |
9.4.7657 | 1,872 | 12/17/2020 |
9.4.7656 | 666 | 12/17/2020 |
9.3.7619 | 951 | 11/11/2020 |
9.2.7447 | 1,844 | 5/29/2020 |
9.1.7279 | 1,403 | 12/11/2019 |
9.0.7234 | 1,213 | 10/22/2019 |
Ab3d.PowerToys v11.2.9104 change log:
- Added .Net 9 build of Ab3d.DXEngine.
- Improved generating edge lines - in some cases GetEdgeLines method generated too many edge lines (for example after Boolean operations) or too few edges (for example after slicing the mesh with a plane).
- Added DuplicatePositionsPrecisionBitsCount property to EdgeLinesFactory. This defines how the positions that occupy the same 3D space are combined.
- Fixed LineSelectorData that can produce invalid results when some of the lines are entirely behind the camera.
- Improved performance of LineSelectorData when the whole line is behind the camera - in this case, the screen space positions are not calculated. Also, a new property IsBoundingBoxBehindTheCamera was added.
- Prevented handling MouseUp event (setting MouseButtonEventArgs.Handled to true) in MouseCameraController when the MouseDown event did not start any camera rotation, movement or quick zoom. This allows using MouseCameraController.MouseMoveThreshold also for MouseUp.
- Added ShortArrowAnchor and ReverseShortArrowAnchor to LineCaps enum - they can be used to render a short arrow or reversed arrow at the start or end of the line.
- Added GetArc3DPoints and AddArc3DPoints methods to Ab3d.Utilities.MathUtils. They can be used to generate the 3D positions that define a 3D arc (segment of an ellipse that is defined by start and end angle).
- Updated AxesBoxVisual3D so that when the user manually sets the visibility of Z axes by setting the IsZAxis1Visible or IsZAxis2Visible, then the visibility of those axes will not be changed even if the AxisShowingStrategy is not None and AxesBoxVisual3D changes the axes visibility based on the camera angle.
- Added SetCustomValueColors method to BaseAxisWithLabelsVisual3D. It can be used to set custom colors to axis value labels (SetCustomValueLabels method was already available before).
- Added CustomizeValueLabelAction property to AxisWith3DLabelsVisual3D and AxisWithOverlayLabelsVisual3D. This allows complete customization of the TextBlockVisual3D or TextBlock control before it is added to the axis.
- Added overload to MouseCameraControllerInfo.AddCustomInfoLine method that does not take insertRowIndex parameter and adds the custom info text after existing info texts.
- Improved MouseCameraControllerInfo.AddCustomInfoLine method so that when mouseAndKeyboardIcons is set to Disabled, then only Mouse icon without any pressed buttons is shown.
- Improved dumping data about MeshGeometry3D that is obtained by calling an extension method MeshGeometry3D.Dump().
- Fixed FitIntoView in some cases when parent ModelVisual3D objects have transformation applied.