mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-04 13:13:25 +03:00
Implementation of Fuzzy Boolean operations. Such operations allow to perform Boolean operations on the shapes with near-coincidence between the entities of these shapes, i.e. between shapes in which some entities from one shape are intended to be coincide with some entities from the other, but the coincidence is not precise. API for Boolean operations has been improved to have a possibility to add new options. Modified entities: 1. New option of setting additional tolerance have been added to the following classes: class BOPAlgo_ArgumentAnalyzer class BOPAlgo_BOP class BOPAlgo_Builder class BOPAlgo_MakerVolume class BOPAlgo_PaveFiller class BOPDS_DS class BRepAlgoAPI_BooleanOperation class BRepAlgoAPI_Check class BRepAlgoAPI_Common class BRepAlgoAPI_Cut class BRepAlgoAPI_Fuse class BRepAlgoAPI_Section 2. Following draw commands have been modified to support new functionality: BOP commands: bop b1 b2 [tol] bcommon r b1 b2 [tol] bcut r b1 b2 [tol] bfuse r b1 b2 [tol] bsection r s1 s2 [-n2d/-n2d1/-n2d2] [-na] [tol] mkvolume r b1 b2 ... [-c] [-ni] [-s] [tol] bfillds [-s -t] [tol] Check commands: bopcheck Shape [level of check: 0 - 9] [-t -s] [-tol tol] bopargcheck [-F/O/C/T/S/U] [/R|F|T|V|E|I|P|C|S]] [#BF] [-tol tol] 3. Two new classes have been added to API to provide the root interface for algorithms class BRepAlgoAPI_Algo class BRepAlgoAPI_BuilderAlgo Fix to eliminate the warning. Test-cases for issue #25477
24 lines
535 B
Plaintext
24 lines
535 B
Plaintext
puts "========"
|
|
puts "OCC25477"
|
|
puts "========"
|
|
puts ""
|
|
############################################################################
|
|
# Boolean Operations with additional tolerance - Fuzzy Boolean operations
|
|
############################################################################
|
|
|
|
box b1 10 10 10
|
|
box b2 10.00001 0 0 10 10 10
|
|
|
|
bop b1 b2 0.00002
|
|
bopfuse result
|
|
|
|
set nb_v_good 12
|
|
set nb_e_good 20
|
|
set nb_w_good 10
|
|
set nb_f_good 10
|
|
set nb_sh_good 1
|
|
set nb_sol_good 1
|
|
set nb_compsol_good 0
|
|
set nb_compound_good 1
|
|
set nb_shape_good 55
|