1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-03 14:10:33 +03:00

0029481: Implementation of the Feature Removal algorithm

Implementation of the 3D model De-featuring algorithm intended for the removal of the unwanted parts (or features) from the model consisting of solids. The features can be the holes, protrusions, gaps, chamfers, fillets etc.
The algorithm removes all possible requested features from the shape and builds the new shape as a result. The input model is not modified.

On the API level the algorithm is implemented in the class *BRepAlgoAPI_Defeaturing*. The actual features removal is performed by the low-level algorithm *BOPAlgo_RemoveFeatures*.

Documentation of the new classes.
Implementation of the DRAW commands for working with new algorithm.
Test cases for the new functionality.

Changes in other algorithms used by De-featuring algorithm:
- Provide history support for the solids in *ShapeUpgrade_UnifySameDomain* algorithm;
- Implementation of the mechanism to merge History of any Algorithm with standard history methods such as IsDeleted(), Modified() and Generated() into *BRepTools_History*.
This commit is contained in:
emv
2018-02-06 08:48:27 +03:00
committed by bugmaster
parent 9e04ccdcf8
commit d9ca2e0cb1
112 changed files with 4212 additions and 39 deletions

View File

@@ -0,0 +1,16 @@
restore [locate_data_file bug28840_5.brep] s
explode s f
compound s_3 s_8 s_29 s_2 s_1 feature1
compound s_15 s_10 s_6 s_18 s_9 s_13 s_11 feature2
compound s_19 s_14 s_7 s_16 s_17 s_12 feature3
removefeatures result s feature1 feature2 feature3
checkshape result
checkprops result -s 19692.7 -v 142463 -deps 1.e-7
checknbshapes result -vertex 16 -edge 24 -wire 12 -face 11 -shell 1 -solid 1 -t
CheckIsFeatureRemoved feature1 {v e f}
CheckIsFeatureRemoved feature2 {v e f}
CheckIsFeatureRemoved feature3 {v e f}
checkview -display result -2d -path ${imagedir}/${test_image}.png