Open CASCADE Technology 6.6.0
|
The BRepAlgoAPI package provides a full range of
services to perform 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 New algorithm is free of a large number of weak spots
and limitations characteristics of the Old algorithm.
It is more powerful and flexible.
It can process arguments the Old algorithm was not adapted for.
The new algorithm is based on a new approach to operations
with interfered shapes. The advantages of the new algorithm
include an ability to treat arguments that have shared
entities. It can properly process two solids with shared
faces (in terms of TopoDS_Shape::IsSame()), two
faces that have shared edges and so on. Now the New Boolean
Operation algorithm can treat a wide range of shapes while the
Old one fails on them.
A generalization of treatment of same-domain faces
was included into the New algorithm. Two faces that share
the same domain are processed according to the common rule
even if the underlying surfaces are of different types. This
allows to execute Boolean Operations properly for the same
domain faces. It also concerns solids and shells that have the
same domain faces. It is quite frequent when two faces share
the same domain. And the New algorithm successfully copes
with it in contrast to the Old one.
Generalization oftreatment of degenerated edges
gives a possibility to process them properly. Although there
are still some difficulties with processing faces in areas close
to degenerated edges.
Now the processing of arguments having internal sub-shapes gives
a correct result. Internal sub-shape means a sub-shape of a
shape with the orientation TopAbs_INTERNAL and is located
inside the shape boundaries. The New algorithm processes faces
with internal edges properly. The new API of the Boolean
Operations (in addition to the old API) allows to reuse the
already computed interference between arguments in different
types of Boolean Operations. It is possible to use once computed
interference in FUSE, CUT and COMMON operations on given
arguments. So there is no need to re-compute the interference
between the arguments. It allows to reduce time for more than one
operation on given arguments.
The shape type of a Boolean Operation result and types of the arguments:
More...
#include <BRepAlgoAPI.hxx>
Static Public Member Functions | |
static void | DumpOper (const Standard_CString theFilePath, const TopoDS_Shape &theShape1, const TopoDS_Shape &theShape2, const TopoDS_Shape &theResult, const BOPAlgo_Operation theOperation, const Standard_Boolean isNonValidArgs) |
Check shapes on validity for boolean operation. //! Dump arguments and result of boolean operation in the file specified by path. |
static void BRepAlgoAPI::DumpOper | ( | const Standard_CString | theFilePath, |
const TopoDS_Shape & | theShape1, | ||
const TopoDS_Shape & | theShape2, | ||
const TopoDS_Shape & | theResult, | ||
const BOPAlgo_Operation | theOperation, | ||
const Standard_Boolean | isNonValidArgs | ||
) | [static] |