Quick start guide for AB4D products evaluation
This guide will help you start using evaluation version of AB4D products.
Many products come with multiple sample projects. To quickly check the product features it is best to check all the product samples. This web page guides you through the available samples from each product.
Our products are created mainly for WPF (Windows Presentation Framework - .Net based framework to build applications for Windows Desktop applications).
But we also support using our products in Windows Forms (WinForms) applications.
There are two samples that show how easy this is - one sample come with Ab3d.PowerToys (shows how to show 3D graphics in WinForms) and the other with Ab2d.ReaderSvg (show 2D vector graphics and uses ZoomPanel to allow user to zoom in and out).
If you would like to use Windows Store, Windows Phone or Silverlight applications and show
2D vector graphics there, then in the export dialog in ViewerSvg and Paste2Xaml applications
select the required platform in the "Export as" ComboBox. Ab2d.ReaderSvg library also comes with two Silverlight samples.
If you are now to WPF 3D graphics, please read the 3-D Graphics Overview from Microsoft documentation.
Ab3d.DXEngine - DirectX 11 rendering engine for .Net
Super fast rendering engine that can render incredible number of 3D objects and is built from ground up with the purpose to be used in standard business Desktop .Net applications.
The library comes with:
- Ab3d.DXEngine assemblies: Ab3d.DXEngine.dll and Ab3d.DXEngine.Wpf.dll (Installed under "AB4D Products (Trial)\Ab3d.DXEngine\bin\" folder. Also installed into GAC)
- Main SharpDX assemblies that are used by the Ab3d.DXEngine (currently supported version is 2.6.3). Instead of assemblies that come with Ab3d.DXEngine it is also possible to use SharpDX assemblies from NuGet. (Installed under "AB4D Products (Trial)\Ab3d.DXEngine\bin\" folder.)
- Help file with quick guides and complete library reference help (Installed under "AB4D Products (Trial)\Ab3d.DXEngine")
- Two sample projects - for more details see below. (Samples are installed under "Users\Public\Documents\AB4D Samples (Trial)\Ab3d.DXEngine" folder)
The following samples are demonstrating the Ab3d.DXEngine library:
1) Ab3d.DXEngine MAIN Samples
"Ab3d.DXEngine MAIN Samples" solution is the main samples solution and contains 2 projects.
The "Ab3d.DXEngine.Wpf.Samples" project is the main sample for the library.
It contains many samples that show the power of Ab3d.DXEngine.
Some samples are direct port of samples from Ab3d.PowerToys samples project and show how easy is to convert standard WPF 3D samples into DXEngine samples.
The solution also contains the "Ab3d.DirectX.Client.Settings" project that can be used to help work add graphic settings customization and preserving of selected graphics settings.
2) Ab3d.DXEngine.ShaderFactory Sample
"Ab3d.DXEngine.ShaderFactory" solution contains the source for a simple real-time HLSL editor that compile the HLSL code after each change and shows the preview of 3D objects rendered with the compiled shader.
Ab3d.PowerToys - the ultimate .Net 3D toolkit
If you want to show 3D models in .Net application (WPF, WinForms or WPF browser application), then
Ab3d.PowerToys library has the right tools for you.
The library comes with:
- .Net 3.5 version of Ab3d.PowerToys library (By default installed into Program files folder under "AB4D Products (Trial)\Ab3d.PowerToys\bin" folder. Also installed into GAC)
- .Net 4.0 version of Ab3d.PowerToys library (Installed under "AB4D Products (Trial)\Ab3d.PowerToys\bin\.NET 4" folder. Also installed into GAC)
- Help file with "Quick start guide", "Tips and tricks" and complete library reference help (Installed under "AB4D Products (Trial)\Ab3d.PowerToys")
- 2 Cheat-sheet pdf documents: "3D Objects cheat sheet" and "Ab3d Cameras cheat sheet" (installed under AB4D Products (Trial)\Ab3d.PowerToys\Resources" folder)
- 6 Class diagrams in pdf format (installed under AB4D Products (Trial)\Ab3d.PowerToys\Resources" folder)
- Generic.xaml file that is used by the controls in the library - can be used as a reference to change control templates (installed under AB4D Products (Trial)\Ab3d.PowerToys\Resources" folder)
- Many samples in 3 sample solutions - for more details see below. (Samples are installed under "Users\Public\Documents\AB4D Samples (Trial)\Ab3d.PowerToys" folder)
The following samples are demonstrating the Ab3d.PowerToys library:
1) Ab3d.PowerToys MAIN Samples
"Ab3d.PowerToys MAIN Samples" solution is the main samples solution and contains 3 projects.
The "Ab3d.PowerToys.Samples" project is the main sample for the library.
It contains more than 50 samples that show almost all aspects of the library. When checking the samples, also read the sample description in the bottom of the window (below horizontal orange line) and check the comments in the code.
The following screenshot shows one of the many samples from that project (note the number of samples on the left and how small the scroll bar is):
To see how to use the library in WinForms application check the "Ab3d.PowerToys.WinFormsSample" project. If you would like to see more samples in WinForms application, please check the comment in Form2.cs file on how to show any of the WPF samples in WinForms application.
When checking the sample, please note how little code is required to achieve all the 3D interaction.
Also note that no WPF knowledge (XAML, Binding, etc.) is required to use the Ab3d.PowerToys library. The following image shows the sample's window:
The "Ab3d.PowerToys.WpfBrowserSample" project shows how the 3D content can be shown in a browser with WPF Browser applications.
2) Ab3d.PowerToys Assimp Samples
This solution contains two sample projects that show how to use assimp importer that can import 3D models from almost any file format:
.3d, .3ds, .ac, .ac3d, .acc, .ase, .ask, .b3d, .blend, .bvh, .cob, .csm, .dae, .dxf, .enff, .fbx, .hmp, .ifc, .ifczip, .irr, .irrmesh, .lwo, .lws, .lxo, .md2, .md3, .md5anim, .md5camera, .md5mesh, .mdc, .mdl, .mesh, .mesh.xml, .mot, .ms3d, .ndo, .nff, .obj, .off, .pk3, .ply, .prj, .q3o, .q3s, .raw, .scn, .smd, .stl, .ter, .uc, .vta, .x, .xgl, .xml, .zgl
"Ab3d.PowerToys.AssimpSample" project demonstrates how to show 3D models in XAML with AssimpModelVisual3D or from code with AssimpWpfImporter.
"Ab3d.PowerToys.AssimpViewer" project is a simple 3D model viewer application that uses assimp importer and can show 3D models from almost any 3D file format. The sample also shows how to select part of the objects and show selection details with showing triangles and normals.
3) Ab3d.PowerToys KinectSample
4) Ab3d.PowerToys Reader3dsSamples
"Ab3d.PowerToys Reader3dsSamples" solution is showing how to read 3D models from 3ds files with Ab3d.Reader3ds library and how to use Ab3d.PowerToys library to simplify the object presentation.
The following screenshot is showing a sample where the robot arm 3D model is read with Reader3ds and then mouse events are added to parts of the robot arm to manipulate the robot with the mouse:
First, I advise you to check the samples. Then you will probably like to create something on your own.
One way to do it is to choose one of the samples that is the most similar to your problem, copy it to your project and adjust the code for your needs.
For example you can start with the XAML from the Objects3D.AllVisualsSample sample and delete the 3D visuals. This will give you the recommended XAML to start with.
You are also invited to check the Ab3d.PowerToys Quick start document. It can be read as part of the help file that comes with Ab3d.PowerToys library (in the same folder as Ab3d.PowerToys library).
The other option is to read the online version of the document from Ab3d.PowerToys Quick start blog post.
Some additional information can also be found with checking the blog post related to Ab3d.PowerToys: http://blog.ab4d.com/category/Ab3dPowerToys.aspx.
Ab3d.Reader3ds with Viewer3ds - the most accurate 3ds file reader to import 3D models
Ab3d.Reader3ds comes with:
- .Net 3.5 version of Ab3d.Reader3ds library (By default installed into Program files folder under "AB4D Products (Trial)\Ab3d.Reader3ds\bin" folder. Also installed into GAC)
- .Net 4.0 version of Ab3d.Reader3ds library (Installed under "AB4D Products (Trial)\Ab3d.Reader3ds\bin\.NET 4" folder. Also installed into GAC)
- Viewer3ds application - 3ds to XAML converter application (Installed under "AB4D Products (Trial)\Ab3d.Reader3ds")
- Help file with complete library reference help (Installed under "AB4D Products (Trial)\Ab3d.Reader3ds")
- Samples that show how to read 3ds file from code or use controls to load 3D models into XAML.
NOTE: The samples are not using Ab3d.PowerToys library - check the Ab3d.PowerToys.Reader3dsSamples solution under Ab3d.PowerToys to see the power of using both libraries.
(Samples are installed under "Users\Public\Documents\AB4D Samples (Trial)\Ab3d.Reader3ds" folder)
With Ab3d.Reader3ds library you can import 3D models with their materials and animations into your application.
The library has been proven many times with reading thousands of files and based on that I can say that it is even better than the 3ds importer in 3D Studio Max (3ds was first used in that application).
Some 3ds files that were partially broken (because they were created with some third-party tool) were not opened in 3D Studio Max, but Ab3d.Reader3ds can open them.
Also if you find any 3ds file that is not correctly opened, please send it to me and if the file is not completely broken, I will do my best to improve Ab3d.Reader3ds so it will be able to read the file.
The following screenshots are showing some 3D models opened in Viewer3ds application:
If you want to show 2D vector graphics in .Net application (WPF, WinForms, WPF browser application, Silverlight or Windows Store application), then
it is best to use some vector drawing application like Adobe Illustrator®, CorelDRAW®, Inkscape, Microsoft Visio or similar,
create the drawing there and save it into svg file. Then use Ab2d.ReaderSvg to open the drawing in your application or use ViewerSvg to convert the svg into XAML.
When showing vector drawings it is highly recommended to show them with ZoomPanel so users will be able to zoom in and out and check every detail of the drawing.
Ab2d.ReaderSvg comes with:
- .Net 3.5 version of Ab2d.ReaderSvg library (By default installed into Program files folder under "AB4D Products (Trial)\Ab2d.ReaderSvg\bin" folder. Also installed into GAC)
- .Net 4.0 version of Ab2d.ReaderSvg library (Installed under "AB4D Products (Trial)\Ab2d.ReaderSvg\bin\.NET 4" folder. Also installed into GAC)
- ViewerSvg application - svg to XAML converter application (Installed under "AB4D Products (Trial)\Ab2d.ReaderSvg"
- Help file with complete library reference help (Installed under "AB4D Products (Trial)\Ab2d.ReaderSvg")
- Many samples in 4 sample solutions - for more details see below. (Samples are installed under "Users\Public\Documents\AB4D Samples (Trial)\Ab2d.ReaderSvg" folder and its subfolders)
The following image shows some of the svg files read with ViewerSvg:
The library comes with the following sample solutions:
ReaderSvgSamples solution has 3 projects - one WPF application and two Silverlight projects.
The WPF sample demonstrates the main features of the library. The application shows how to create user interfaces from svg files,
how to read embedded data from svg files created in Visio, how to get XAML from the read svg file and use TrueTransform and Group optimizations.
The two Silverlight samples show how to use XAML created from svg file with ViewerSvg. The following screenshot shows one of the samples that show dynamic map of Europe:
ReaderSvg.WinFormsSample solution shows how easy is to use Ab2d.ReaderSvg inside WinForms application.
SvgToPngConverter solution is a simple console application that can be used to convert svg files to png or jpg files.
ResourceDictionaryWriter solution is a WPF application that can be used to create a ResourceDictionary that contains XAML from many svg files.
Ab2d.ReaderWmf with Paste2Xaml - metafile (wmf, emf) reader and clipboard metafile to XAML converter
If you have some vector drawing stored in mefafiles (wmf or emf), that you can easily show them in .Net application with Ab2d.ReaderWmf library or convert them into XAML.
You can use almost any 2D drawing application, create the drawing there, then simply copy the drawing into the clipboard and paste it into Paste2Xaml that
converts the drawing into XAML. What is more, you can even use Microsoft Word, create a clipart here and copy it into Paste2Xaml.
The trick is that most of the 2D drawing applications convert the drawing into metafile when they store it into clipboard - this way the Ab2d.ReaderWmf library can grab the drawing and convert it into XAML.
When showing vector drawings it is highly recommended to show them with ZoomPanel so users will be able to zoom in and out and check every detail of the drawing.
Ab2d.ReaderSvg comes with:
- .Net 3.5 version of Ab2d.ReaderWmf library (By default installed into Program files folder under "AB4D Products (Trial)\Ab2d.ReaderWmf\bin" folder. Also installed into GAC)
- .Net 4.0 version of Ab2d.ReaderWmf library (Installed under "AB4D Products (Trial)\Ab2d.ReaderWmf\bin\.NET 4" folder. Also installed into GAC)
- Paste2Xaml application - metafile and clipboard to XAML converter application (Installed under "AB4D Products (Trial)\Ab2d.ReaderWmf"
- Help file with complete library reference help (Installed under "AB4D Products (Trial)\Ab2d.ReaderWmf")
- Sample ResourceDictionaryWriter solution and a few sample metafile files. (Samples are installed under "Users\Public\Documents\AB4D Samples (Trial)\Ab2d.ReaderWmf" folder)
The Ab2d.ReaderWmf comes only with one sample - ResourceDictionaryWriter. ResourceDictionaryWriter is a WPF application that can be used to create a ResourceDictionary that contains XAML from many metafiles.
Because Ab2d.ReaderWmf has very similar usage as Ab2d.ReaderSvg, please check the samples that come with Ab2d.ReaderSvg - for example instead of SvgViewbox control in Ab2d.ReaderSvg, in Ab2d.ReaderWmf you can use WmfViewbox control.
The following screenshot is showing Paste2Xaml application with a slide from Microsoft PowerPoint:
ZoomPanel - the ultimate zooming and panning control for WPF
At first, zooming and panning seems like a simple task in WPF because any element can be scaled with ScaleTransform.
But when you want to integrate scrollbars, animation, mouse control, zoom to target, mini map and other features, this task quickly becomes very complicated.
Do not spend many hours developing zooming features on your own. Instead, use ZoomPanel with its ultimate zooming features and spend your precious time on other tasks.
The following image shows animated zooming of tiger vector drawing. The image also shows ZoomPanelMiniMap, ZoomController and ZoomPanelNavigator controls.
ZoomPanel library comes with:
- .Net 3.5 version of Ab2d.Controls.ZoomPanel library (By default installed into Program files folder under "AB4D Products (Trial)\Ab2d.Controls.ZoomPanel\bin" folder. Also installed into GAC)
- .Net 4.0 version of Ab2d.Controls.ZoomPanel library (Installed under "AB4D Products (Trial)\Ab2d.Controls.ZoomPanel\bin\.NET 4" folder. Also installed into GAC)
- Help file with complete library reference help (Installed under "AB4D Products (Trial)\Ab2d.Controls.ZoomPanel")
- Themes files - Generic.xaml and CommonNavigationResourceDictionary.xaml that can be used to customize the themes of the controls (Installed under "AB4D Products (Trial)\Ab2d.Controls.ZoomPanel\Themes")
- Many samples in 2 solutions. (Samples are installed under "Users\Public\Documents\AB4D Samples (Trial)\Ab2d.Controls.ZoomPanel" folder)
Most of the ZoomPanel samples are in the ZoomPanelSamples solution. The samples there demonstrate all the possibilities of the library.
The following image shows a simple painting sample that uses ZoomPanel:
The second sample solution is "ZoomPanel Multitouch" solution. It uses a MultiTouchZoomPanel control (defined in one of the projects in the solution) and shows how to
use multitouch for zooming.
Limitations of evaluation version
- Evaluation info dialog is shown when each product is used for the first time.
In commercial version there will be no dialog shown.
The importer libraries and converters add some anomalies to the
imported objects (demo texts, some brushes will be replaced by gray brush, on 3D
models some triangles will be missing). Those anomalies are present only in evaluation
The following image shows the results from the evaluation version in the left
column and from the commercial version in the right column. The first row is showing
opened svg file. The second row is showing the opened 3ds file.
To see how the imported object would look with the commercial version, please use
a converter application (Viewer3ds, ViewerSvg or Paste2Xaml) and check the "Preview
as using licensed version" CheckBox (see the screenshot below). This mode is turned
on by default. In this mode export to XAML is disabled.
If you are not sure how the XAML would look like when having a commercial version,
please send us the original file as attachment with contact us page. If you will be using our converter libraries
and would like to have screenshots of the application when it would be using a commercial
version of our libraries, please make a zip from your application and send it with
the contact us page. All the content you will send to us
will be treated as private and will not be shared with any third-parties.
- Evaluation version works only on computers where the evaluation version
is installed. This means that you need to install evaluation version on each computer where you would like to run your application with evaluation version.
Commercial version can be built with embedded license key and can also work on computers where the product is not installed (client computers).
- Evaluation version works only for 60 days. If you would like to
extend the evaluation period, please write a request with contact us page.
Why am I getting "Not licensed" dialog on client computer?
The evaluation version can only run on computer where it is installed.
This means that you need to install evaluation version on each computer where you would like to run your application with evaluation version.
The commercial version does not have this limitation - it can be distributed to
client computers that do not need to have the product installed.
If you are creating a WPF Browser Applications or partially trusted application,
see "Using evaluation version.chm" help file for more information (by default installed to Program files folder under "AB4D Products (Trial)" folder).
Where can I find the samples?
Samples are usually installed to the "C:\Users\Public\Documents\AB4D Samples (Trial)" folder. The reason that they are not in the Program Files folder is that UAC (User Account Control) prevents changing the content there without administrator rights.
Why are some assemblies stored in CodeSigned directory?
The assemblies in CodeSigned directory are digitally signed with AB4D company certificate.
The digital signature ensures that AB4D company is the author of the assemblies
and that the assemblies were not changed after being signed. Besides digital signature
the assemblies in CodeSigned directory are identical to those in bin directory.
A drawback of using signed assemblies is that their startup time is longer because
when .net is loading the signed assembly the runtime can make a few internet calls
to check the certification path that checks if the signature is valid.
Please note that all our installers are also digitally signed so you can be sure
that when the products are installed, they are not corrupted or otherwise changed.
What steps will I have to do after purchasing a commercial version?
After purchasing a commercial license, you will be able to download a commercial
version of the product. The commercial version contains different licensing code
and comes in a different assembly. Therefore it is recommended that the evaluation
version is uninstalled before installing the commercial version. If any changes
have been made in the samples projects that come with the evaluation version, please
make backup of the changes before uninstalling.
After installing the commercial version you will only have to change the reference
to use commercial version and add license.licx file to the project. Adding license.licx
file to the project will embed the license key into your project. This process is
described in details in a help file that comes with the commercial version.
What type of license should I purchase (Single Developer, Team or Site License)?
Each developer that will be compiling projects that reference our products need
to have the product installed. Every installation of our product needs its own license.
However it is allowed that a developer installs the product on a desktop and laptop
if both computers are used only by the same organization and only by the same developer.
Build server also does not need its own license if it is not used as a development
What is the difference between "Converter application" and "Library" license?
All the converter libraries (Ab3d.Reader3ds, Ab2d.ReaderSvg and Ab2d.ReaderWmf)
exist in two different product types:
- Converter application without library license
- Library license with converter application
With licenses without library license the converter application (Viewer3ds, ViewerSvg,
Paste2Xaml) can be used to convert files into xaml. This license does not allow
usage of the libraries (Ab3d.Reader3ds, Ab2d.ReaderSvg and Ab2d.ReaderWmf) in your
own applications. It is also not allowed to use the converter application for batch conversion
(starting converter application with startup parameters to automatically convert files).
To use the libraries in your own applications the library license
is needed. This also allows using batch conversion.
Are there any special commercial license licensing limitations?
Please note that the converter libraries (Ab3d.Reader3ds, Ab2d.ReaderSvg and Ab2d.ReaderWmf)
contain a special license limitation that prevents the use of converter libraries
in applications that would allow users outside of your organization to convert files
(3ds, svg, wmf, emf) into xaml and get the users access to the xaml text. Such applications
are treated as competition of Viewer3ds, ViewerSvg or Paste2Xaml and are not allowed.
To see details of this limitation and also check other license terms and conditions,
please see EULAs that can be seen for each product on the Purchase page.
To get support please use on of the following:
- Feature requests - if you are missing a feature in Ab3d.PowerToys and the feature could be also useful for other users, contact us and maybe we will implement it for you freely in a few days.
- On-site support with TeamViewer and Skype. Solving problems on your computer and your project. Contact us for more details.
- Coding on demand - jump-start with WPF 3D development and have the solution within a few days. Contact us for more details.