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.
You may obtain a licence for the Tinman 3D SDK by using the online shop, which is provided by MyCommerce.
The Order buttons in the table below will take you directly to the corresponding product page.
Alternatively, a licence may also be obtained through a direct Bitcoin (BTC) transaction.
You can use the Licence baKErY tool to initiate a purchase.
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 resp. you as the licence owner:
tinman_3d.licence-request.user.id-C9F9A1B9.json.txt
).#537515913
).Please contact sales@tinman3d.com if you have any more questions regarding licensing.
The following table shows the licence types that are available for the Tinman 3D SDK.
Please use the buttons in the Order column to receive a quote or to make a purchase.
Licence | Type | Releases | Keys | Binding a) | Pricing b) | Order | |
---|---|---|---|---|---|---|---|
![]() |
Evaluation | trial |
- all - |
0 c) | - none - | - free - | |
Evaluate the Tinman 3D SDK by running the Demo Application executable and browsing its source code.
|
|||||||
![]() |
User | annual / single quarter |
- all - |
1 d) | User | EUR e) | BTC h) |
![]() ![]() |
Terms |
Allows a single user to use the Tinman 3D SDK during the licence period.
|
||||||
![]() |
Site | annual |
- all - |
1 d) | Domain | - on request - |
|
Terms |
Allows all users that belong to the licensed company site to use the Tinman 3D SDK during the subscription period.
|
||||||
![]() |
Academic | annual |
- all - |
1 d) | Domain | - on request - | |
Terms |
Allows all users that belong to the licensed academic entity to use the Tinman 3D SDK during the subscription period.
Commercial use is not included in this licence. |
||||||
![]() |
Product | perpetual | current + 1 year | 1 d) | Product |
EUR e) | BTC h)
|
![]() |
Terms |
Allows perpetual use of the Tinman 3D SDK in a specific software product.
|
||||||
![]() |
Company | perpetual | current + 1 year | 1 d) | Company | - on request - | |
Terms |
Allows perpetual use of the Tinman 3D SDK in all products of the licence owner.
|
||||||
![]() |
Full | perpetual | current + 1 year | 1 | - none - |
- on request -
|
|
Terms |
Allows perpetual use of the Tinman 3D SDK by the licence owner.
|
||||||
![]() |
Source Code | content | current + 1 year | 1 | - none - |
EUR e) | BTC h) |
|
Terms |
Grants access f) to the source code of the following components of the Tinman 3D SDK:
CodeX.System | Tinman.Core | Tinman.Terrain | Tinman.Engine | tinmanpc
|
||||||
![]() |
Renewal |
renewal-perpetual g) | + 1 year | + 1 | - none - |
70 % of original price |
![]()
|
|
Prolongs the SDK update period of an existing perpetual licence by one year:
New licence keys will be issued for the prolonged update period. |
||||||
renewal-content g) | + 1 year | + 1 | - none - | 70 % of original price |
![]()
|
||
Prolongs the SDK update period of an existing content licence by one year:
New unlock keys will be issued for the prolonged update period. |
a) Licence keys are bound to the specified metadata using asymmetric encryption.
b) Prices are available at the online shop (EUR, USD, etc.). For Bitcoin pricing (BTC), please contact sales@tinman3d.com.
c) No separate licence key is necessary, you can start your evaluation right after downloading the Tinman 3D SDK.
d) Extra licence keys are issued for free, provided that the bound metadata correlates with the licenced product resp. licence owner.
e) Billing period is 1 year = 12 months.
f) You will receive an unlock key after completing your order. Please make sure you also download the corresponding SDK packages, if necessary.
g) Renewals are triggered automatically by your MyCommerce subscription, which you can cancel at any time.
h) Direct Bitcoin payments are possible (wallet to wallet). Please contact sales@tinman3d.com for details on the order process.
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.
This can be done by code (usually for perpetual licences):
global::Tinman.Core.TinmanLicenceDomain.Instance.LicenceKey("..."); // C# ::Tinman::Core::TinmanLicenceDomain::Instance->LicenceKey("..."); // C++
As an alternative, a single licence key can be provided by setting an environment variable (usually for subscription licences):
TINMAN_3D_LICENCEKEY = ...
A licence key is a base-85 number with 100 digits, and looks like this:
CIk!6Dh6Ui;lSE+Z{{jx7$Y~8,#TSt~o%CK#(e,F#O9.d;fGc+bU35%HVl;[.+s#@h.bo1~{riL.4|UreHfeuac}5ZV~DBocxU}@
These are the base-85 digits:
!#$%()*+,-.0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[^_abcdefghijklmnopqrstuvwxyz{|}~ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 0 10 20 30 40 50 60 70 80 85
The characters of a licence key are "programming-language-safe", so the plain key value can be put into XML files or string literals without escaping.
A licence key can be bound to some metadata, using asymmetric encryption.
A bound 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 the relevant information for each licence key metadata binding.
Computer Login | Product Details | System Time | ||||
---|---|---|---|---|---|---|
![]() User Name |
![]() Domain Name |
![]() Product Name |
![]() Company Name |
![]() Copyright Notice |
![]() Expiration Date |
|
User | yes | yes | no | no | no | yes |
Domain | no | yes | no | no | no | yes |
Product | no | no | yes | yes | yes | no |
Company | no | no | no | yes | yes | no |
Full | no | no | no | no | no | no |
You can use the Licence baKErY to determine the metadata of your application quickly.
Also you can generate a licence request from within your application using the API of the Tinman 3D SDK:
Tinman.Core.TinmanLicenceDomain.Instance.Request
The computer login contains the name and domain of the user that is currently logged.
![]() |
Computer login - Windows |
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. Another 'bad' example would be:
C:\Users\Anyone\whoami SomeBigCompany\Anyone
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 (right click -> Properties).
When developing with Visual Studio C#, you can specify the metadata for your project in the project properties:
![]() |
|
Executable properties - Windows | Project properties - Visual Studio C# |
Alternatively, you can set the metadata values of your product directly in the AssembyInfo.cs
file:
![]() |
AssemblyInfo.cs |
For Visual Studio C++, the metadata values can be configured as a VERSIONINFO object that is stored in the executables resources.
![]() |
Resource View - VERSIONINFO - Visual Studio C++ |
Alternatively you can configure these values directly in your resource file (*.rc
):
![]() |
SomeResources.rc - Visual Studio C++ |
Licence keys are generated from the information found in licence requests. A licence request is a JSON text file (UTF-8 encoding) that contains all required information.
Licence requests can be generated using the Licence baKErY tool or from within your application using the API of the Tinman 3D SDK:
global::Tinman.Core.TinmanLicenceDomain.Instance.Request(...) // C# ::Tinman::Core::TinmanLicenceDomain::Instance->Request(...) // C++
You do not have to deal with licence request files when ordering a licence for the Tinman 3D SDK.
Only when submitting extra licence key requests you may need to provide one or more licence request files.
This is an example for a User licence request:
{ // ------------------------------------------------------- // 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" }
This is an example for a Product licence request:
{ // ------------------------------------------------------- // 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 are used to access locked content of the Tinman 3D SDK, for example:
Use the Geodata Processor to apply an unlock key to a locked content archive.