View Issue Details

IDProjectCategoryView StatusLast Update
0027759CommunityOCCT:Modeling Algorithmspublic2016-12-09 16:39
Reportermat127 Assigned Tobugmaster  
Status closedResolutionfixed 
PlatformwindowsOSWindows 8.1 Pro 
Product Version7.0.0 
Target Version7.1.0Fixed in Version7.1.0 
Summary0027759: invalid result of a boolean fuse
Descriptionperforming a boolean fuse on two shapes that occt reports as valid (even for fuse bop) produce a result that checkshape command reports as faulty (BRepCheck_BadOrientationOfSubshape)
Steps To ReproduceDraw[55]> restore merge-in1.brep i1
Draw[56]> checkshape i1
This shape seems to be valid
Draw[57]> restore merge-in2.brep i2
Draw[58]> checkshape i2
This shape seems to be valid
Draw[60]> bopcheck i1
 This shape seems to be OK.

Draw[61]> bopcheck i2
 This shape seems to be OK.

Draw[62]> bopargcheck i1 i2 -F #F
Shape(s) seem(s) to be valid for BOP.

Draw[63]> bop i1 i2
Draw[64]> bopfuse o
Draw[65]> checkshape o
On Shape faulty_1 :

Faulty shapes in variables faulty_1 to faulty_1
TagsNo tags attached.
Test case number

Attached Files

  • merge-in1.brep (5,000 bytes)
  • merge-in2.brep (32,792 bytes)



2016-08-09 11:30


merge-in1.brep (5,000 bytes)


2016-08-09 11:32


merge-in2.brep (32,792 bytes)


2016-08-11 18:43

developer   ~0056666

There is very tricky case for Boolean operation provided by these shapes.
It is because there is a gap between the solids (distance about 2e-4). But the shapes surrounding the gap have very different tolerance from 1e-7 (for faces) to 3.5e-4 (for edges). In such situation it is hard to expect a good result.
Boolean operation has a work around such cases. For that you can use FuzzyValue option. With Fuzzy option, the result is valid:

restore merge-in1.brep a
restore merge-in2.brep b
bfuzzyvalue 1e-3
bfuse r a b
checkshape r


2016-08-29 10:52

reporter   ~0057245

Ok, I understand. What should I do with the ticket?


2016-08-29 20:01

developer   ~0057274

Dear bugmaster, I think we can close it.


2016-08-30 07:58

administrator   ~0057276

Branch CR27759 has been created by emv.

SHA-1: ce0a684322d03e1e489fd454f1227bc2d65295eb

Detailed log of new commits:

Author: emv
Date: Tue Aug 30 08:00:08 2016 +0300

    0027759: Invalid result of a Boolean fuse operation
    Test case for the issue.


2016-08-30 08:03

developer   ~0057277

I think that at least the test case with the fuzzy option should be added.
Git branch CR27759 contains this test case. Dear bugmaster, please review this branch and check the test case. No additional testing is needed.


2016-09-06 12:38

administrator   ~0057504

Test case was reviewed.
Test shape was put to public shape repository


2016-10-28 21:48

administrator   ~0059560

Branch CR27759 has been deleted by kgv.

SHA-1: ce0a684322d03e1e489fd454f1227bc2d65295eb

Related Changesets

occt: master 84caaf81

2016-08-30 05:00:08


Committer: bugmaster Details Diff
0027759: Invalid result of a Boolean fuse operation

Test case for the issue.
Affected Issues
add - tests/bugs/modalg_6/bug27759 Diff File

Issue History

Date Modified Username Field Change
2016-08-09 11:30 mat127 New Issue
2016-08-09 11:30 mat127 Assigned To => msv
2016-08-09 11:30 mat127 File Added: merge-in1.brep
2016-08-09 11:32 mat127 File Added: merge-in2.brep
2016-08-11 18:43 msv Note Added: 0056666
2016-08-11 18:43 msv Assigned To msv => mat127
2016-08-11 18:43 msv Status new => feedback
2016-08-29 10:52 mat127 Note Added: 0057245
2016-08-29 20:01 msv Note Added: 0057274
2016-08-29 20:01 msv Assigned To mat127 => bugmaster
2016-08-29 20:01 msv Resolution open => no change required
2016-08-30 07:58 git Note Added: 0057276
2016-08-30 08:03 emv Note Added: 0057277
2016-08-30 08:03 emv Status feedback => resolved
2016-09-06 12:38 bugmaster Note Added: 0057504
2016-09-06 12:38 bugmaster Status resolved => reviewed
2016-09-06 12:39 bugmaster Status reviewed => tested
2016-09-07 10:32 bugmaster Target Version => 7.1.0
2016-09-09 09:40 bugmaster Changeset attached => occt master 84caaf81
2016-09-09 09:40 bugmaster Status tested => verified
2016-09-09 09:40 bugmaster Resolution no change required => fixed
2016-10-28 21:48 git Note Added: 0059560
2016-12-09 16:30 aiv Status verified => closed
2016-12-09 16:39 aiv Fixed in Version => 7.1.0