CAD Exchanger SDK
Integration into User's Application

License Activation

Before using CAD Exchanger SDK API you must activate a license that controls respective API as follows:

#include <cadex/LicenseManager_Activate.h>
static const char aKey[] = ...;
if (!CADExLicense_Activate (aKey)) {
std::cerr << "Failed to activate the license. Exiting." << std::endl;
exit (1);

Where aKey is provided to you upon evaluation or commercial license purchase. If you have an evaluation license then SDK will only function within a fixed period of time (e.g. 30 or 45 days) which is set upon evaluation commencement.

If you use multiple keys (e.g. for different SDK components) then you need to call CADExLicense_Activate() for each key.

License activation can be done once for the entire application life-time (e.g. in main() or any other initialization function). Further attempts to activate an already activated license will have no effect.

If the license has not been activated, then SDK will throw an exception LicenseManager_LicenseError which you can use to distinguish from any other exceptions:

#include <cadex/LicenseManager_LicenseError.hxx>
try {
ACIS_Reader aReader;
} catch (LicenseManager_LicenseError) {
cerr << "Could not acquire valid CAD Exchanger license" << endl;
} catch (...) {
cerr << "Unprocessed exception caught" << endl;


You may only redistribute the following files when shipping your application linked with CAD Exchanger SDK:

  • Dynamic libraries (e.g. *.dll on Windows) built in release mode (i.e. without a 'd' suffix in their names such as CadExCored.dll);

You may not redistribute header files (*.hxx) and import libraries (*.lib) with your application.

For more details please refer to Appendix, as well as to redist.txt and EULA files.