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.

 

The additional environment settings necessary for compiling OCCT libraries and samples by Microsoft Visual Studio can be set using script env_build.bat located in the same folder. This script accepts two arguments: the version of Visual Studio (vc8, vc9, or vc10) to be used, and the architecture (win32 or win64). 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

You can define the environment variables with env.ksh or env.csh script 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 (default), memory manager performs optimizations as described below; if set to 2, Intel ® TBB optimized memory manager is used; if 0, 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, all calls to 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 optimized memory manager (MMGT_OPT=1) and has more than one thread potentially calling OCCT functions. Default is 0;

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;

Example:
Windows platform

The env.bat script is located in the OpenCACADE<version_number>/ros folder.

set CASROOT=V:\OpenCASCADE<version_number>\ros

set PATH=%CASROOT%\win32\vc8\bin;%CASROOT%\..\3rdparty\win32\tcltk\bin; ;%CASROOT%\..\3rdparty\win32\tbb\bin;%CASROOT%\..\3rdparty\win32\gl2ps\bin;

%CASROOT%\..\3rdparty\win32\ftgl\bin;%CASROOT%\..\3rdparty\win32\ftgl\freeimage;%PATH%

 

set CSF_LANGUAGE=us
set MMGT_CLEAR=1
set CSF_EXCEPTION_PROMPT=1
set CSF_MDTVFontDirectory=%CASROOT%\src\FontMFT
set CSF_MDTVTexturesDirectory=%CASROOT%\src\Textures
set CSF_UnitsDefinition=%CASROOT%\src\UnitsAPI\Units.dat
set CSF_UnitsLexicon=%CASROOT%\src\UnitsAPI\Lexi_Expr.dat
set CSF_SHMessage=%CASROOT%\src\SHMessage
set CSF_XSMessage=%CASROOT%\src\XSMessage
set CSF_StandardDefaults=%CASROOT%\src\StdResource
set CSF_PluginDefaults=%CASROOT%\src\StdResource

set CSF_XCAFDefaults=%CASROOT%\src\StdResource
set CSF_GraphicShr=%CASROOT%\win32\vc8\bin\TKOpenGl.dll
set CSF_IGESDefaults=%CASROOT%\src\XSTEPResource
set CSF_STEPDefaults=%CASROOT%\src\XSTEPResource
set CSF_MIGRATION_TYPES=%CASROOT%\src\StdResource\MigrationSheet.txt

 

Example:
Unix platform

The env.csh and env.ksh scripts are located in the OpenCACADE<version_number>/ folder.

setenv CASROOT /dn03/OS/OCC/OpenCASCADE-<version_number>/ros

set OS_NAME=`uname`

if ( $?PATH ) then

setenv PATH $CASROOT/../3rdparty/$OS_NAME/tcltk/bin:$CASROOT/../3rdparty/$OS_NAME/tbb/bin:

$CASROOT/../3rdparty/$OS_NAME/gl2ps/bin:$CASROOT/../3rdparty/$OS_NAME /ftgl/bin:

CASROOT/../3rdparty/$OS_NAME /freeimage/bin:$CASROOT/$OS_NAME/bin:$PATH

else

setenv PATH $CASROOT/../3rdparty/$OS_NAME/tcltk/bin:$CASROOT/../3rdparty/$OS_NAME/tbb/bin:

$CASROOT/../3rdparty/$OS_NAME/gl2ps/bin:$CASROOT/../3rdparty/$OS_NAME /ftgl/bin:

CASROOT/../3rdparty/$OS_NAME /freeimage/bin:$CASROOT/$OS_NAME/bin

endif

if ( $?LD_LIBRARY_PATH ) then

setenv LD_LIBRARY_PATH $CASROOT/../3rdparty/$OS_NAME/tcltk/lib:

$CASROOT/../3rdparty/$OS_NAME/tbb/lib:$CASROOT/../3rdparty/$OS_NAME/gl2ps/lib:

 $CASROOT/../3rdparty/$OS_NAME /ftgl/lib: CASROOT/../3rdparty/$OS_NAME /freeimage/lib:$CASROOT/$OS_NAME/lib:$ LD_LIBRARY_PATH

else

setenv LD_LIBRARY_PATH $CASROOT/../3rdparty/$OS_NAME/tcltk/lib:

$CASROOT/../3rdparty/$OS_NAME/tbb/lib:$CASROOT/../3rdparty/$OS_NAME/gl2ps/lib:

 $CASROOT/../3rdparty/$OS_NAME /ftgl/lib: CASROOT/../3rdparty/$OS_NAME /freeimage/lib:$CASROOT/$OS_NAME/lib

endif
setenv CSF_MDTVFontDirectory $CASROOT/src/FontMFT
setenv CSF_LANGUAGE us
setenv MMGT_CLEAR 1
setenv CSF_SHMessage $CASROOT/src/SHMessage
setenv CSF_XSMessage $CASROOT/src/XSMessage
setenv CSF_MDTVTexturesDirectory $CASROOT/src/Textures
setenv CSF_StandardDefaults $CASROOT/src/StdResource
setenv CSF_PluginDefaults $CASROOT/src/XCAFResources
setenv CSF_XCAFDefaults $CASROOT/src/XCAFResources
setenv CSF_GraphicShr $CASROOT/$OS_NAME/lib/libTKOpenGl.so
setenv CSF_UnitsLexicon $CASROOT/src/UnitsAPI/Lexi_Expr.dat
setenv CSF_UnitsDefinition $CASROOT/src/UnitsAPI/Units.dat
setenv CSF_EXCEPTION_PROMPT 1
setenv CSF_IGESDefaults $CASROOT/src/XSTEPResource
setenv CSF_STEPDefaults $CASROOT/src/XSTEPResource
setenv CSF_MIGRATION_TYPES $CASROOT/src/StdResource/MigrationSheet.txt

setenv TCLHOME $CASROOT/../3rdparty/$OS_NAME/tcltk
setenv TCLLIBPATH $TCLHOME/lib