Release Notes

Overview

The Open CASCADE 5.0 is a new power-packed version of Open CASCADE,which combines exciting new features with the established functionality.

Table of Contents

New Features

New Boolean Operations

The BRepAlgoAPI package now provides a full range of services to perform New Boolean Operations on arguments (shapes that are defined in the BRep data structures). The implemented new algorithm is intended to replace the Old Boolean Operations algorithm in the BRepAlgoAPI package. The BRepAlgo package now provides a full range of services to perform Old Boolean Operations.

The New algorithm is rid of a large number of weak spots and limitations characteristics of the Old algorithm.

What is New Boolean Operations :

    • Detection of interference between arguments in the correct order;
    • Generalization of shape accuracy usage;
    • Computing data structure for the given arguments;
    • Robustness of 3D-state computation for the given arguments;
    • Generalization of treatment of degenerated edges (formerly limited feature);
    • Generalization of treatment of faces, edges and vertices for the same domain (formerly limited feature);
    • Treatment of arguments with shared entities (formerly limited feature);
    • Treatment of arguments with internal sub-shapes (formerly limited feature);
    • Tools designed to treat the intersection of two edges;
    • Tools designed to treat the intersection of an edge and a face;
    • Tools designed to check shapes.
Visualization
    • Support of user-defined materials has been added. Any physical material can be defined by a set of its properties (ambient, diffuse, specular, emissive, etc.) and marked as "UserDefined". Note that this rule does not apply to GENERIC material (i.e., plastic) except if a user wants to change its name;
    • A new colored trihedron has been added which allows you to see the orientation of trihedron in 3D space when its original position is actually outside the visible area of the 3D View. It is available from the V3d_View class by inputting V3d_ZBUFFER as the last parameter of the TrihedronDisplay (...) method. This new method controls colored trihedron properties.

Application Framework
    • The XML LDOM parser (LDOM_XmlReader and LDOM_XmlWriter) allows to write and read XML files. It constitutes an integral part of XML OCAF persistence, which is the optional component provided on top of Open CASCADE.
NCollection
    • The NCollection unit meets the requirements of the Open CASCADE community and of all end-users who do not use WOK development environment in their projects. Though it is quite natural to develop a code based on Open CASCADE in any environment accepted in industry, still there is one limitation: the so-called Open CASCADE generic classes require compilation of definitions in the CDL language and therefore can be instantiated in WOK only.
      The NCollection directory provides for a full replacement of all TCollection generic classes so that any Open CASCADE collection can be instantiated via C++ macro definitions. It can be used in WOK as a nocdlpack development unit, or in any other configuration, since it uses only standard capabilities of the C preprocessor.
Test Harness
  • Miscellaneous
    • Tcl Draw Test Harness applications on WNT now work in the console mode as on UNIX (support of Tk, input/output in the calling terminal)

New Commands:

  • ViewerTest package:
    • vdump – allows to dump contents of a shaded window (vinit) to GIF file
  • Viewer2dTest
    • v2daxis – creates a 2D axis;
    • v2dcircle – creates a 2D circle;
    • 2dclear – clears the 2D viewer;
    • v2ddir – prints the list of interactive objects;
    • v2ddisplay – displays predefined interactive objects;
    • v2ddisplayall – displays all interactive objects;
    • v2ddonly – displays predefined interactive objects;
    • v2derase – erases predefined interactive objects from the 2D Viewer;
    • v2deraseall – erases all interactive objects from the 2D Viewer;
    • v2dfit – fits all shapes into 2D Viewer;
    • v2dgrid – loads grid;
    • v2dinit – creates a 2D Viewer window;
    • v2dpick – prints pixel coordinates and color;
    • v2dpickgrid - prints coordinates of a grid cross point nearest to the MB1 click;
    • v2dpsout : prints view contents on a PostScript printer;
    • v2drepaint - forces redraw;
    • v2drmgrid - unloads grid;
    • v2dsetbg – loads image as background;
    • v2dsetbgcolor - changes background color;
    • v2dsetcolor - sets color;
    • v2dsettextcolor - sets text color;
    • v2dsetwidth - sets line width;
    • v2dtext – prints text in 2D Viewer;
    • v2dunsetcolor - unsets color;
    • v2dunsetwidth - unsets width.
    New package added :
    • BOPTest package / List of new commands:
      • bop S1 S2 - fills data structure (DS) for arguments S1 S2;
      • bopcommon Result - performs COMMON operation for a prepared DS ;
      • bopfuse Result - performs FUSE operation for a prepared DS;
      • bopcut Result - performs CUT operation for a prepared DS;
      • boptuc Result - performs reversed CUT operation for a prepared DS;
      • bopsection Result - performs SECTION operation for a prepared DS;
      • bcommon Result S1 S2 - performs COMMON operation;
      • bfuse Result S1 S2 - performs FUSE operation;
      • bcut Result S1 S2 - performs CUT operation;
      • btuc Result S1 S2 - performs reversed CUT operation;
      • bsection Result S1 S2 [ -2d | -2d1 | -2d2] [-a] – performs SECTION operation.
    Documentation
      • LDOM parser;
      • NCollection;
      • New Boolean Operations.

    Improvements

    The following improvements have been implemented:

    Application Framework
    • TNaming package:
      • Improved Topological Naming mechanism.
    • TDocStd package:
      • Improved CompoundDelta mechanism management;
      • Save/SaveAs commands return Operation Status in ExtendedString format;
      • A clear "redos" functionality has been added.
    • TPrsStd package:
      • An opportunity to change the selection mode for displaying an object through the TPrsStd_AISPresentation class has been added.
    Visualization
    • AIS package:
      • Optimized selection mechanism for better performance
      • Enrichment of AIS_PlaneTrihedron with a set of new methods to provide flexibility of usage.
    • PrsMgr package:
      • Improved memory management. After the presentation contents are cleared, the released memory can be reused and animation speed becomes constant.
    • Prs3d package:
      •  Improved vertex detection.
    • StdSelect package:
      •  Now supports selection of sub-shapes for COMPSOLID shape type.
    • OpenGl package:
      • Improved 3D font management. Display of accented characters under Windows NT
      • New methods to control depth testing and lighting using high-level API.
    • AIS_2D package:
      • New methods to support iteration through a list of selected objects
      • Support of detection by circle.
    • Graphic2d package:
      • Optimized display of SetOfMarkers for better performance
      • Improved Detection/Selection of a set of primitives.
    • V2d package
      • View background and grid colors can be personalized.
     

    Data Exchange

    • Sewing
      • Correctly operates with large tolerance values;
      • Correctly handles seams and seam-like cases.
    • Shape Healing
      • Now corrects notched edges;
      • Corrects multi-connected shells and solids based on non-closed shells;
      • Corrects floating edges by ShapeFix_Shape class;
      • Tolerance used in the course of correction is automatically decreased to an appropriate value in case of very small faces.
    • General interfaces
      • Performance improvements, especially in IGES files with a large number of separate entities.
    • STEP translator
      • Supports a new edition of AP214: AP214 IS (International Standard);
      • Writes hybrid models without downgrading the representation level (using hybrid models in AP214 and AP203);
      • Reads external references in AP203 format;
      • Reads external references (links to external documents) of a STEP file and stores them in an XDE document;
      • Reads offset surfaces improved to handle cases of base surfaces with C0 continuity;
      • Writes rational Bezier curves and corrected surfaces;
    • IGES translator
      • New 'read.iges.onlyvisible' parameter controls whether all or only visible entities will be read;
      • Improved reading and writing of faces based on elementary surfaces in BRep mode (IGES 5.3);
      • Processing of badly coded files with missing or extra CR and/or LF symbols.
    • Miscellaneous
      • New algorithm for computing volumes (see BrepGProps) provides exact computations with user-specified precision.
     

    WOK

    • Wok has been upgraded as follows :
      • Temporary files created by WOK during compilation are always deleted
      • WOKSH mode is enabled in Emacs editor on Linux
      • The problem arising when inline methods are extracted on UNIX has been corrected
      • WOK operation has been improved when Wok methods are called without arguments
      • Avoidance of links to unnecessary toolkits
      • Wmove command no longer leads to information losses from WBLIST
      • Some drawbacks in *.edl files and source code have been corrected
      • Jni Compiler has been improved
    Documentation
    • The Reference documentation and User's Guides have been upgraded concerning :
      • Visualization
      • Data exchange
      • Modeling Data
      • Modeling Algorithms
      • OCAF
    Changes
    In relation to its previous versions Open CASCADE 5.0 has undergone the following changes:
      • FSD_Archive class has been removed. If your application needs this class you can take it from OpenCASCADE5.0/Samples/Standard/MFC/09_Serialize (Serialize Sample)
      • STEPControlStd and IGESControlStd packages have been removed. StepControl and IGESControl packages should be used insted. This also implies that TKStepStd and TKIgesStd libraries have also been removed.
      • TKShapeHealingStd toolkit has been removed.TKShapeHealing toolkit should be used instead. This also implies that TKShapeHealingStd library has also been removed.
      • Contents of BRepAlgoAPI.hxx have been moved to BRepAlgo.hxx. Functions IsValid() and IsTopologicallyValid() have been removed from BRepAlgoAPI, because they duplicated the functions BRepAlgo::IsValid and BRepAlgo::IsTopologicallyValid.

    Bug Correction

      • The Open CASCADE 5.0 incorporates approximately 500 bug corrections. For details, refer to:
    Bug Corrections