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.

Quick links:

3D Graphics: 2D Graphics: Other:

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.



3D graphics

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.

Car engine rendered with solid model and wireframe in Ab3d.DXEngine

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.

Real-time HLSL shader editor in Ab3d.DXEngine



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):

3D graphics in WPF application - Ab3d.PowerToys samples

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:

3D graphics in WinForms application - Ab3d.PowerToys samples

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.

Ab3d.PowerToys.AssimpViewer showing Duck model loaded from dae file

3) Ab3d.PowerToys KinectSample

"Ab3d.PowerToys KinectSample" solution show how to show animated skeleton in 3D with the data recorded with Kinect. More about the sample can be read in a related 3D visualization of Kinect skeleton blog post. This sample requires Kinect SDK.

3D visualization of Kinect skeleton

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:

Robot arm 3D model read with Reader3ds and manupulated with Ab3d.PowerToys

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:

3D models read with Ab3d.Reader3ds library



2D graphics

Ab2d.ReaderSvg with ViewerSvg - svg reader and svg to XAML converter

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:

Svg files read with ViewerSvg

The library comes with the following sample solutions:

1) ReaderSvgSamples

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.

Simple user interface designed in vector drawing application and shown in WPF application with Ab2d.ReaderSvg

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:

The sample shows a dynamic Map of Europe in Silverlight application. The map was converted from svg into XAML with ViewerSvg.

2) ReaderSvg.WinFormsSample

ReaderSvg.WinFormsSample solution shows how easy is to use Ab2d.ReaderSvg inside WinForms application.

drawing from svg file shown in WinForms application

3) SvgToPngConverter

SvgToPngConverter solution is a simple console application that can be used to convert svg files to png or jpg files.

4) ResourceDictionaryWriter

ResourceDictionaryWriter solution is a WPF application that can be used to create a ResourceDictionary that contains XAML from many svg files.

Svg ResourceDictionaryWriter screenshot



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:

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, ZoomPanelMiniMap and ZoomPanelNavigator in WPF application

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:

ZoomPanel sample with simple painint application

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 versions.

    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.

    Comparison between evaluation and commercial versions
    Evaluation version Commercial version

    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.

    Preview as using licensed version

    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.


FAQ:

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 machine.


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:

  1. Converter application without library license
  2. 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.



Support:

To get support please use on of the following:

Advanced support:

  • 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.