System Environment Variables

 

To run any Open CASCADE Technology application you need to set the environment variables.

On  Windows

 

You can define the environment variables with env.bat script located in the OpenCACADE<version_number>/ros folder. This script accepts two arguments to be used: the version of Visual Studio (vc8, vc9, or vc10) and the architecture (win32 or win64).

 

The additional environment settings necessary for compiling OCCT libraries and samples by Microsoft Visual Studio can be set using script custom.bat located in the same folder. You might need to edit this script to correct the paths to third-party libraries if they are installed on your system in a non-default location.

Script msvc.bat can be used with the same arguments for immediate launch of Visual Studio for (re)compiling OCCT.

 

On Unix

The scripts are located in the OpenCACADE<version_number>/ros folder of the source package.

 

Description of system variables:

 

CASROOT is used to define the root directory of Open CASCADE Technology;
PATH
is required to define the path to OCCT binaries and 3rdparty folder;
LD_LIBRARY_PATH
is required to define the path to OCCT libraries (on UNIX platforms only);

 

MMGT_OPT if set to 1, the memory manager performs optimizations as described below; if set to 2, Intel ® TBB optimized memory manager is used; if 0 (default), every memory block is allocated in C memory heap directly (via malloc() and free() functions). In the latter case, all other options except MMGT_CLEAR  and MMGT_REENTRANT are ignored;

MMGT_CLEAR if set to 1 (default), every allocated memory block is cleared by zeros; if set to 0, memory block is returned as it is;

MMGT_CELLSIZE defines the maximal size of blocks allocated in large pools of memory. Default is 200;

MMGT_NBPAGES defines the size of memory chunks allocated for small blocks in pages (operating-system dependent). Default is 10000;

MMGT_THRESHOLD defines the maximal size of blocks that are recycled internally instead of being returned to the heap. Default is 40000;

MMGT_MMAP when set to 1 (default), large memory blocks are allocated using memory mapping functions of the operating system; if set to 0, they will be allocated in the C heap by malloc();

MMGT_REENTRANT when set to 1 (default), all calls to the optimized memory manager will be secured against possible simultaneous access from different execution threads. This variable should be set in any multithreaded application that uses an optimized memory manager (MMGT_OPT=1) and has more than one thread potentially calling OCCT functions. If set to 0, OCCT memory management and exception handling routines will skip the code protecting from possible concurrency in multi-threaded environment. This can yield some performance gain in some applications, but can lead to unpredictable results if used in a multithreaded application;

Special note: for applications that use OCCT memory manager from more than one thread, on multiprocessor hardware, it is recommended to use options MMGT_OPT=2 and MMGT_REENTRANT=1.

 

CSF_LANGUAGE is required to define the default language of messages;
CSF_EXCEPTION_PROMPT
– if defined and set to 1 then a diagnostic message is displayed in case of an exception;
CSF_MDTVFontDirectory
accesses the fonts that can be used in OCCT;
CSF_MDTVTexturesDirectory
defines the directory for available textures when using texture mapping;
CSF_UnitsDefinition
and CSF_UnitsLexicon are required by programs considering units;
CSF_SHMessage
is required in order to define the path to the messages file for ShapeHealing;
CSF_XSMessage
is required in order to define the path to the messages file for STEP and IGES translators;
CSF_StandardDefaults
and CSF_PluginDefaults are required in order to maintain CASCADE Persistence mechanism to make possible any open/save operations with OCAF documents;

CSF_StandardLiteDefaults is required in order to maintain OCCT Persistence mechanism to make possible any open/save operations with Lite OCAF documents;
CSF_XCAFDefaults
 any open/save operations for XDE documents;
CSF_GraphicShr
is required to define the path to the TKOpenGl library;
CSF_IGESDefaults
and CSF_STEPDefaults are required for IGES and STEP translators correspondingly in order to define the path to the resource files;

CSF_XmlOcafResource - is required in order to set the path to XSD resources, which defines XML grammar.

As part of XML persistence support, these definitions can be used by end users in XML validators or editors, together with persistent XmlOcaf documents;

CSF_MIGRATION_TYPES is required in order to read documents that contain old data types, such as TDataStd_Shape;

TCLLIBPATH, TCL_LIBRARY, TK_LIBRARY and TIX_LIBRARY are required to allow work with DRAW and WOK.