Licence Bakery
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. |
Licence Metadata
You can assemble licence metadata in different ways:
-
Input the metadata information manually:
Clearing a field with x will bind to empty metadata. Use * to disable a specific binding. 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 © 2024 Some Company". -
Read metadata from an application / a process running on the machine:
Read from running process -
Read metadata from the current computer login:
Read from computer loginIt is not guaranteed that the Machine Hardware Code that is filled in by this action will be identical to the code that will be computed by the target application. Please call LicenceDomain.Request on LicenceDomain.Tinman from within the target application to obtain a proper licence request. -
Read metadata from an executable file (DLL / EXE) or a licence request file:
Read from file… (EXE, DLL, JSON)
Licence Request
After assembling licence metadata, you can generate licence request files.
The requests will be based on the metadata you have provided.
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.
// 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);
}
// 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);
}