Licencing and Pricing
This page provides information about licensing from a practical point of view.
If you are interested in the legal aspects, please refer to the Terms and Conditions.
Tinman 3D licences are one-time purchases and do not include any future obligations, such as subscriptions or recurring payments. Expired licences may be prolonged at any time by purchasing an update. |
Overview
The Tinman 3D SDK can be downloaded and evaluated instantly, free of charge, without registration and without time limit.
Customers receive a licence certificate document that contains all purchased licence keys in one place. This self-contained document may be archived in electronic or printed form, preferably both. |
The following licensing scenarios exist for non-evaluation use:
- Development (User, Site, Academic)
-
A licence key is provided at runtime, temporarily activating all Tinman 3D SDK versions, only for the current user, only on the current machine, for any application/product, only during the licence period.
- Distribution (Product, Company, Full)
-
A licence key is distributed along with a customer product, perpetually activating only those Tinman 3D SDK versions within the update period, for any user, on any machine, only for that product, only in non-debug mode.
- Content (Source)
-
An unlock key is used with
tinmanpc unlock
to decrypt theTinman3D.SDK.Source-*.zip.lic
packages, only for those Tinman 3D SDK versions within the update period.
For non-evaluation use, the following SDK components require a valid licence:
- Stand-alone tools
-
The tinmanpc and tinman3d-workshop run in feature-locked evaluation mode by default and may be unlocked with a Development licence key.
- Software libraries
-
The Core, Terrain and Engine libraries must be activated with a Development or Distribution licence key during application startup.
- Source code
-
The source code of the Core, Terrain, Engine and Processor libraries must be decrypted with a Content unlock key, separately for each programming language (e.g. C#, C++).
Licence key checking is 100% offline, there is no online activation step involved. |
Order Process
This section explains how to order a licence for the Tinman 3D SDK.
After purchasing a licence key that is bound to metadata, you can request extra licence keys for different metadata free of charge, given that the requested metadata correlates with the licensed product and you as the licence owner.
Please contact sales@tinman3d.com if you have any more questions regarding licensing.
Licence Certificate
A self-contained licence certificate document is provided for your licence purchases, licence updates and extra licence keys. Please archive this document in electronic form or as a hard copy.
To discover the download link of your licence certificate document, please follow this link:
https://licence.tinman3d.com/order/$ORDER$ (1)
1 | Replace $ORDER$ with the Order Number resp. Invoice Number, as it appears in the purchase notification email and the invoice document. |
Please write to sales@tinman3d.com if you encounter problems or difficulties while accessing your licence certificate document.
Licence Types
The following table shows the licence types that are available for the Tinman 3D SDK.
Licence | Type | Releases | Keys | Binding[1] |
---|---|---|---|---|
free download |
all |
0 [2] |
none |
|
Allows anyone to evaluate the Tinman 3D SDK. ⇒ Run the Demo Application executable. |
||||
time period |
all |
1 [3] |
||
Allows a single user to use the Tinman 3D SDK during the licence period. ⇒ All SDK releases |
||||
time period |
all |
1 [3] |
||
Allows all users that belong to the licensed company site to use the Tinman 3D SDK during the licence period. ⇒ All SDK releases |
||||
time period |
all |
1 [3] |
||
Allows all users that belong to the licensed academic entity to use the Tinman 3D SDK during the licence period. ⇒ All SDK releases Commercial use is not included in this licence. |
||||
perpetual |
current |
1 [3] |
||
Allows perpetual use of the Tinman 3D SDK in a specific software product. ⇒ Current SDK release, plus one year of free updates |
||||
perpetual |
current |
1 [3] |
||
Allows perpetual use of the Tinman 3D SDK in all products of the licence owner. ⇒ Current SDK release, plus one year of free updates |
||||
perpetual |
current |
1 |
none |
|
Allows perpetual use of the Tinman 3D SDK by the licence owner. ⇒ Current SDK release, plus one year of free updates |
||||
content |
current |
1 |
none |
|
Grants access[4] to the source code of the following components of the Tinman 3D SDK:
⇒ Source code is licensed separately for each programming language (C#, C++). The values for |
||||
Update |
perpetual |
+ X days |
+ 1 |
none |
Prolongs the SDK update period of an existing perpetual licence. ⇒ Product New licence keys will be issued for the prolonged update period. |
||||
content |
+ X days |
+ 1 |
none |
|
Prolongs the SDK update period of an existing content licence. ⇒ Source New unlock keys will be issued for the prolonged update period. |
Licence Keys
Before the Tinman 3D SDK can be used by an application, it must be activated. Activation is done by providing one or more licence keys during application startup.
To provide a licence key from code, call the LicenceKey method on the Tinman domain. This is usually done for perpetual licences.
To avoid that a licence key ends up as a string literal in an application binary, the Licence Bakery tool can be used to generate a source code fragment which generates the licence key value using obfuscated arithmetics. |
As an alternative, a single licence key can be provided by setting an environment variable, which is usually done for Development licences.
TINMAN_3D_LICENCEKEY = ...
Metadata Binding
A licence key is usually bound to specific metadata, using asymmetric encryption.
A licence key will only work if the metadata values found in the current execution context correlate with those that have been used to create the key. |
The following table shows which information is bound to licence keys, depending on the licence key type.
Licence Type | Computer Login | Product Details | System Time | |||
---|---|---|---|---|---|---|
Expiration Date |
||||||
yes |
yes |
no |
no |
no |
yes |
|
no |
yes |
no |
no |
no |
yes |
|
no |
no |
yes |
yes |
yes |
no |
|
no |
no |
no |
yes |
yes |
no |
|
no |
no |
no |
no |
no |
no |
You can use the Licence Bakery tool to obtain metadata information quickly.
To determine the current metadata from code, you can generate a licence request file, as described in Licence Requests.
When checking licence metadata, legit variations are considered automatically. For example, a licence key bound to the copyright "Copyright © 2010 Some Company" will still work for incremented year numbers, for example: "Copyright © 2022 Some Company". |
Computer Login
The computer login contains the name and domain of the user that is currently logged on.

Please note that extra licence requests for a computer login like above might be rejected, because it is not apparent which individual the login belongs to.
C:\Users\Anyone\whoami SomeBigCompany\Anyone
Product Details
This is the metadata of the product executable that is linking against the Tinman 3D libraries.
On Windows, this information is accessible as part of the executable properties (
).
When developing with Visual Studio C#, you can specify the metadata for your project in the project properties:

Alternatively, you can set the metadata values of your product directly in the AssembyInfo.cs
file:

For Visual Studio C++, the metadata values can be configured as a VERSIONINFO object that is stored in the executables resources.

Alternatively you can configure these values directly in your resource file (*.rc):

Licence Requests
Licence keys are generated from the information found in licence requests. A licence request is a JSON text file in UTF-8 encoding that contains all required information.
When submitting extra licence key requests you may need to provide one or more licence request files.
You do not have to deal with licence request files when ordering a new licence for the Tinman 3D SDK. |
Licence requests can be generated using the Licence Bakery tool or from code by calling the LicenceDomain.Request method on the Tinman domain.
{ // ------------------------------------------------------- // Tinman 3D - http://www.tinman3d.com - info@tinman3d.com // ------------------------------------------------------- "FileInfo": { "Format": "Licence Request v1.0", "Name": "tinman_3d.licence-request.user.id-0505223D.json.txt", "Created": "2016-02-17 08:15:41 UTC", "Encoding": "utf-8/bom" }, "LicenceDomain": "tinman_3d", "LicenceInfo": { "Timestamp": 54, "User": "Pikantos", "Domain": "Pikantos-PC", "Product": "*", "Company": "*", "Copyright": "*" }, "SystemInfo": { "PlatformName": "Windows", "LanguageName": "C#" }, "Checksum": "44EBCA2D-3CFE-C63C-40CE-E32B28D37FC9" }
{ // ------------------------------------------------------- // Tinman 3D - http://www.tinman3d.com - info@tinman3d.com // ------------------------------------------------------- "FileInfo": { "Format": "Licence Request v1.0", "Name": "tinman_3d.licence-request.product.id-1F151262.json.txt", "Created": "2016-02-17 08:15:41 UTC", "Encoding": "utf-8/bom" }, "LicenceDomain": "tinman_3d", "LicenceInfo": { "Timestamp": 54, "User": "*", "Domain": "*", "Product": "Tinman 3D - http://www.tinman3d.com", "Company": "Tinman 3D - http://www.tinman3d.com", "Copyright": "Copyright (C) 2015 Matthias Englert. All rights reserved." }, "SystemInfo": { "PlatformName": "Windows", "LanguageName": "C#" }, "Checksum": "A991F2DC-0174-7729-D91E-A75EA5409690" }
Unlock Keys
Unlock keys are used to access locked content of the Tinman 3D SDK, for example:
-
Source code (C++ / C#)
-
Digitally licenced content, such as high-quality commercial raster datasets and texture pyramids.
Use the Geodata Processor / unlock command to apply an unlock key to a locked content archive.