Licence Bakery

How to download and run

Go to the Public Downloads and get this executable:

  • tinman3d_bakery.exe

The executable is self-contained and can be run without prior installation.

The bakery assembles the required metadata for ordering a Tinman 3D SDK licence.

For details on the various licence types, please refer to Licencing and Pricing.

Using the bakery is the recommended way to initiate an order process, because you do not have to worry about getting the licence metadata right.
Figure 1. Licence Bakery

Licence Metadata

You can assemble licence metadata in different ways:

  1. Input the metadata information manually:
    User name
    Domain name
    Product name
    Company name
    Copyright notice

  2. Read metadata from the current computer login:
    Read from computer login

  3. Read metadata from from a an application / a process running on the machine:
    Read from running process

  4. Read metadata from an executable file (DLL / EXE) or a licence request file:
    Read from file…​ (EXE, DLL, JSON)
    Drag EXE, DLL, JSON here

Licence Request

After assembling licence metadata, you can generate licence request files.

The requests will be based on the metadata you have provided.

licence request
Figure 2. Licence Bakery - Licence Requests

Licence Key Setup

To generate a source code fragment that generates a licence key string value at runtime, input the licence key into the LicKey field and press and of the Source Code…​ buttons. The generated source code fragment will then be copied to the system clipboard.

Example source code fragment C#
// Tinman 3D licence key:
// 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}@
  sbyte[] licenceKeyData;

  licenceKeyData = new sbyte[146];
  licenceKeyData[0] = 120;
  licenceKeyData[1] = (sbyte) (licenceKeyData[0] ^ -94);
  licenceKeyData[2] = (sbyte) (licenceKeyData[1] + 43);
  licenceKeyData[143] = (sbyte) (licenceKeyData[142] ^ 76);
  licenceKeyData[144] = (sbyte) (licenceKeyData[143] ^ -9);
  licenceKeyData[145] = (sbyte) (licenceKeyData[144] + 96);

  licenceKey = global::Tinman.Core.StringUtil.BinaryDecode(licenceKeyData);
Example source code fragment C++
// Tinman 3D licence key:
// 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}@
  CodeX::Array<int8> licenceKeyData(146);

  licenceKeyData[0] = 120;
  licenceKeyData[1] = static_cast<CodeX::int8> (licenceKeyData[0] ^ -94);
  licenceKeyData[2] = static_cast<CodeX::int8> (licenceKeyData[1] + 43);
  licenceKeyData[143] = static_cast<CodeX::int8> (licenceKeyData[142] ^ 76);
  licenceKeyData[144] = static_cast<CodeX::int8> (licenceKeyData[143] ^ -9);
  licenceKeyData[145] = static_cast<CodeX::int8> (licenceKeyData[144] + 96);

  licenceKey = ::Tinman::Core::StringUtil::BinaryDecode(licenceKeyData);