| 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...
|