Operating System | 64-bit: Mandriva 2010, CentOS 5. 5, CentOS 6.3, Fedora 17, Fedora 18, Ubuntu-1304, Debian 6.0 * |
Minimum memory | 512 Mb, 1 Gb recommended |
Free disk space (complete installation) | For full installation Open CASCADE Technology requires 600 Mb of disk space. |
Minimum swap space | 500 Mb |
Video card | **GeForce** The following versions of GeForce drivers are recommended:
- 64-bit Version: 100.14.19 or later http://www.nvidia.com/object/linux_display_amd64_100.14.19.html
- 32-bit Version: 100.14.19 or later http://www.nvidia.com/object/linux_display_ia32_100.14.19.html |
Graphic library | OpenGL 1.1+ (OpenGL 2.1+ is recommended) OpenCL 1.1+ (optional for ray tracing) |
C++ | GNU gcc 4.0. - 4.7.3. |
TCL (for testing tools) | Tcltk 8.5 or 8.6 http://www.tcl.tk/software/tcltk/8.6.html |
Qt (for demonstration tools) | Qt 4.6.2 http://qt.nokia.com/downloads |
Freetype (OCCT Text rendering) | freetype-2.4.11 http://sourceforge.net/projects/freetype/files/ |
FreeImage (Support of common graphic formats) | FreeImage 3.15.4 http://sourceforge.net/projects/freeimage/files/Source%20Distribution/ |
gl2ps (Export contents of OCCT viewer to vector graphic file) | gl2ps-1.3.8 http://geuz.org/gl2ps/ |
TBB (optional tool for parallelized version of BRepMesh component) | TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ |
OpenCL (optional for providing ray tracing visualization core | http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/ |
\* Debian 60 64 bit is a permanently tested platform.
@subsection OCCT_OVW_SECTION_5_2 Windows Intel
Operating System | 32/64-bit: 8/ 7 SP1 / VISTA SP2 /XP SP3 |
Minimum memory | 512 Mb, 1 Gb recommended |
Free disk space (complete installation) | For full installation Open CASCADE Technology requires 650 Mb of disk space but during the process of installation you will need 1,2 Gb of free disk space. |
Minimum swap space | 500 Mb |
Video card | **GeForce** Version 266.58 WHQL or later is recommended: http://www.nvidia.com/Download/index.aspx
|
Graphic library | OpenGL 1.1+ (OpenGL 2.1+ is recommended) OpenCL 1.1+ (optional for ray tracing) |
C++ |
- Microsoft Visual Studio 2005 SP1 with all security updates
- Microsoft Visual Studio 2008 SP1*
- Microsoft Visual Studio 2010 SP1
- Microsoft Visual Studio 2012 Update 3
- Microsoft Visual Studio 2013
- Intel C++ Composer XE 2013 SP1
|
TCL (for testing tools) | ActiveTcl 8.5 or 8.6 http://www.activestate.com/activetcl/downloads |
Qt (for demonstration tools) | Qt 4.6.2 http://qt.digia.com/downloads |
Freetype (OCCT Text rendering) | freetype-2.4.11 http://sourceforge.net/projects/freetype/files/ |
FreeImage (Support of common graphic formats ) | FreeImage 3.15.4 http://sourceforge.net/projects/freeimage/files/Source%20Distribution/ |
gl2ps (Export contents of OCCT viewer to vector graphic file) | gl2ps-1.3.8 http://geuz.org/gl2ps/ |
TBB (optional tool for parallelized version of BRepMesh component) | TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ |
OpenCL (optional for providing ray tracing visualization core | http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/ |
* The official release of OCCT for Windows contains libraries built with VC++ 2008.
@subsection OCCT_OVW_SECTION_5_3 MAC OS X
Operating System | 64-bit: Mac OS X 10.9 Mavericks / 10.8 Mountain Lion / 10.7 Lion / 10.6.8 Snow Leopard |
Minimum memory | 512 Mb, 1 Gb recommended |
Free disk space (complete installation) | For full installation Open CASCADE Technology requires 600 Mb of disk space. |
Minimum swap space | 500 Mb |
Video card | **GeForce** Version 266.58 WHQL or later is recommended: http://www.nvidia.com/Download/index.aspx
|
Graphic library | OpenGL 1.1+ (OpenGL 2.1+ is recommended) OpenCL 1.1+ (optional for ray tracing) |
C++ | XCode 3.2 or newer (4.x is recommended) |
Qt (for demonstration tools) | Qt 4.6.2 http://qt.digia.com/downloads |
Freetype (OCCT Text rendering) | freetype-2.4.11 http://sourceforge.net/projects/freetype/files/ |
FreeImage (Support of common graphic formats ) | FreeImage 3.15.4 http://sourceforge.net/projects/freeimage/files/Source%20Distribution/ |
gl2ps (Export contents of OCCT viewer to vector graphic file) | gl2ps-1.3.8 http://geuz.org/gl2ps/ |
TBB (optional tool for parallelized version of BRepMesh component) | TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ |
OpenCL (optional for providing ray tracing visualization core | OpenCL 1.2.8 native |
@section OCCT_OVW_SECTION_4 Installation
In most cases you need to rebuild OCCT on your platform (OS, compiler) before
using it in your project, to ensure binary compatibility.
See @ref dev_guides__building for instructions on
building OCCT from sources on supported platforms.
@subsection OCCT_OVW_SECTION_4_1 Using Windows installer
On Windows Open CASCADE Technology can be installed with binaries precompiled by
Visual C++ 2008 with installation procedure.
**Recommendation:**
If you have a previous version of OCCT installed on your station,
and you do not plan to use it along with the new version, you might want to uninstall
the previous version (using Control Panel, Add/Remove Programs) before
the installation of this new version, to avoid possible problems
(conflict of system variables, paths, etc).
**Attention:** For full installation OCCT requires approximately 650 Mb of disk space,
but during the installation process you will need 1,2 Gb of free disk space.
OCCT installation with reference documentation requires 1,4 Gb on disk.
* Download the OCCT installer from OPEN CASCADE web site using the link. you have been provided
* Launch the installer and follow the instructions.
The includes and binaries of third-party libraries necessary for building and launching
OCCT are included into binary distribution (built with Visual C++ 2008).
When the installation is complete, you will find the directories for 3rd party products
(some might be absent in case of custom installation) and the main **OCCT** directory:
@image html /overview/images/overview_3rdparty.png
@image latex /overview/images/overview_3rdparty.png
The contents of the OCCT-6.7.0 directory (called further "OCCT root", or $CASROOT) are as follows:
@image html /overview/images/overview_installation.png "The directory tree"
@image latex /overview/images/overview_installation.png "The directory tree"
* **adm** This folder contains administration files, which allow rebuilding OCCT;
* **adm/cmake** This folder contains files of CMake building procedure;
* **adm/msvc** This folder contains Visual Studio projects for Visual C++ 2005, 2008 and 2010, which allow rebuilding OCCT under Windows platform in 32 and 64-bit mode;
* **data** This folder contains CAD files in different formats, which can be used to test the OCCT functionality;
* **doc** This folder contains OCCT documentation in HTML and PDF format;
* **dox** This folder contains sources of OCCT documentation in plain text (MarkDown) format;
* **drv** This folder contains source files generated by WOK (private header files and instantiations of generic classes);
* **inc** This folder contains all OCCT header files;
* **samples** This folder contains sample applications.
* **src** This folder contains OCCT source files. They are organized in folders, one per development unit;
* **tests** This folder contains scripts for OCCT testing.
* **win32/vc9** This folder contains executable and library files built in optimize mode for Windows platform by Visual C++ 2008;
@section OCCT_OVW_SECTION_4_2 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
$CASROOT folder. This script accepts two arguments to be used:
the version of Visual Studio (vc8 - vc12) 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
If OCCT was built by Code::Blocks, you can define the environment variables with env_cbp.sh or custom_cbp.sh script.
If OCCT was built by Automake, you can define the environment variables with env_amk.sh or custom_amk.sh script.
The scripts are located in the OCCT root folder.
### 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** (optional) if set to 1, the memory manager performs optimizations as described below; if set to 2,
Intel (R) 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** (optional) 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** (optional) defines the maximal size of blocks allocated in large pools of memory. Default is 200;
* **MMGT_NBPAGES** (optional) defines the size of memory chunks allocated for small blocks in pages
(operating-system dependent). Default is 10000;
* **MMGT_THRESHOLD** (optional) defines the maximal size of blocks that are recycled internally
instead of being returned to the heap. Default is 40000;
* **MMGT_MMAP** (optional) 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();
* **CSF_LANGUAGE** is required to define the default language of messages;
* **CSF_DEBUG** (optional, Windows only): if defined then a diagnostic message is displayed in case of an exception;
* **CSF_DEBUG_BOP** (optional): if defined then it should specify directovy where diagnostic data on problems occured in Boolean operations will be saved;
* **CSF_MDTVTexturesDirectory** defines the directory for available textures when using texture mapping;
* **CSF_UnitsDefinition** and **CSF_UnitsLexicon** should define paths to resource files Lexi_Expr.dat and Units.dat, respectively, required for support of measurement 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_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.
* **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**.
@section OCCT_OVW_SECTION_7 Getting Started
@subsection OCCT_OVW_SECTION_7_1 Draw Test Harness
Draw is a command interpreter based on TCL and a graphical system used for testing and demonstrating OCCT modeling libraries.
Draw can be used interactively to create, display and modify objects such as curves, surfaces and topological shapes.
@image html /overview/images/overview_draw.png
@image latex /overview/images/overview_draw.png
Scripts can be written to customize Draw and perform tests.
New types of objects and new commands can be added using C++ programming language.
Draw contains:
* A command interpreter based on TCL command language.
* A 2D an 3D graphic viewer with support of operations such as zoom, pan, rotation and full-screen views.
* An optional set of geometric commands to create and modify curves and surfaces and to use OCCT geometry algorithms.
* A set of topological commands to create and modify BRep shapes and to use OCCT topology algorithms.
* A set of graphic commands for view and display operations including Mesh Visualization Service.
* A set of Application framework commands for handling of files and attributes.
* A set of Data Exchange commands for translation of files from various formats (IGES,STEP) into OCCT shapes.
* A set of Shape Healing commands: check of overlapping edges, approximation of a shape to BSpline, etc.
You can add new custom test harness commands to Draw in order to test
or demonstrate a new functionality, which you are developing.
Currently DRAW Test Harness is a single executable called DRAWEXE.
Commands grouped in toolkits can be loaded at run-time thereby implementing dynamically loaded plug-ins.
Thus you can work only with the commands that suit your needs adding
the commands dynamically without leaving the Test Harness session.
Declaration of available plug-ins is done through special resource file(s).
The pload command loads the plug-in in accordance with
the specified resource file and activates the commands implemented in the plug-in.
The whole process of using the plug-in mechanism as well as the instructions for extending Test Harness is described in the
@ref user_guides__test_harness.
Draw Test Harness provides an environment for OCCT automated testing system.
Please, consult its @ref dev_guides__tests "Automated Testing System" for details.
Remarks:
* The DRAWEXE executable is delivered with the installation procedure on Windows platform only.
* To start it, launch DRAWEXE executable from Open CASCADE Technology/Draw Test Harness item of the Start\\Programs menu.
@subsection OCCT_OVW_SECTION_7_2 Experimenting with Draw Test Harness
Running Draw
------------
**On Linux:**
1. If OCCT was built by Code::Blocks * use $CASROOT/draw_cbp.sh file to launch DRAWEXE executable;
2. If OCCT was built by Automake * use $CASROOT/draw_amk.sh file to launch DRAWEXE executable;
Draw[1]> prompt appears in the command window
Type pload ALL
**On Windows:**
Launch Draw executable from Open CASCADE Technology\\Test Harness\\Draw Test Harness
item of the Start\\Programs menu or Use $CASROOT\\draw.bat file to launch DRAWEXE executable.
Draw[1]> prompt appears in the command window
Type pload ALL
**Creating your first geometric objects**
1. In the command window, type axo to create an axonometric view
2. Type box b -10 -10 -10 20 20 20 to create a cube b of size 20,
parallel to the X Y Z axis and centered on the origin.
The cube will be displayed in the axonometric view in wireframe mode
3. Type fit to fill the viewer with the cube
4. Type pcylinder c 2 30 to create a cylinder c of radius 2 and height 30.
The cylinder will be displayed in addition to the cube
**Manipulating the view**
1. Type clear to erase the view
2. Type donly c to display the cylinder only
3. Type donly b to display the cube only
4. Type hlr hlr b to display the cube in the hidden line removal mode
**Running demonstration files**
1. Type cd ../.. to return to the root directory
2. Type cd src/DrawResources to reach the DrawResources directory
3. Type source "Available Demo File" to run the demonstration provided with Open CASCADE
4. The following demonstration files are available:
* DataExchangeDemo.tcl
* ModelingDemo.tcl
* OCAFDemo.tcl
* VisualizationDemo.tcl
**Getting Help**
1. Type help to see all available commands
2. Type help command-name to find out the arguments for a given command
@subsection OCCT_OVW_SECTION_7_3 Programming Samples
@subsubsection OCCT_OVW_SECTION_7_3_1 MFC
Visual C++ programming samples containing 10 Visual C++ projects
illustrating how to use a particular module or functionality.
The list of MFC samples:
* Geometry
* Modeling
* Viewer2d
* Viewer3d
* ImportExport
* Ocaf
* Triangulation
* HLR
* Animation
* Convert
@image html /overview/images/overview_mvc.png
@image latex /overview/images/overview_mvc.png
**Remarks:**
* MFC samples are available only on Windows platform;
* To start a sample use Open CASCADE Technology\\Samples\\Mfc\\ item of the Start\\Programs menu;
* Read carefully readme.txt to learn about launching and compilation options.
@subsubsection OCCT_OVW_SECTION_7_3_2 Qt
OCCT contains three samples based on Qt application framework
Import Export
-------------
Import Export programming sample contains 3D Viewer and Import / Export functionality.
@image html /overview/images/overview_qt.png
@image latex /overview/images/overview_qt.png
Tutorial
---------
The Qt programming tutorial teaches how to use Open CASCADE Technology services to model a 3D object.
The purpose of the tutorial is not to explain all OCCT classes but
to help start thinking in terms of the Open CASCADE Technology.
This tutorial assumes that the user has experience in using and setting up C++.
From the viewpoint of programming, Open CASCADE Technology is designed
to enhance user's C++ tools with high performance modeling classes, methods and functions.
The combination of these resources allows creating substantial applications.
**See also:** @ref tutorial "OCCT Tutorial"
Voxel
------
This is a demonstration application showing OCCT voxel models.
It also includes a set of non-regression tests and other commands
for testing this functionality (accessible only through TEST pre-processor definition).
**See also:** Voxels User's guide (under construction)
**Remarks:**
* Qt samples are available on all supported platforms;
* To start a sample on Windows use Open CASCADE Technology\\Samples\\Qt\\ item of the Start\\Programs menu.
@subsubsection OCCT_OVW_SECTION_7_3_3 C#
C# sample demonstrates integration of OCCT 3D Viewer and Import / Export functionality
into .NET applications (using Windows Forms and WPF front ends).
@image html /overview/images/overview_c__ie.png
@image latex /overview/images/overview_c__ie.png
Import:
* BRep
* Iges
* Step
Export:
* Brep
* Iges
* Step
* Stl
* Vrml