View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0026563 | Community | OCCT:Modeling Algorithms | public | 2015-08-15 19:51 | 2017-08-14 18:04 |
Reporter | srlockley | Assigned To | bugmaster | ||
Priority | normal | Severity | major | ||
Status | closed | Resolution | fixed | ||
Platform | Windows | OS | VC++ 2013 | ||
Product Version | 6.9.0 | ||||
Fixed in Version | 7.0.0 | ||||
Summary | 0026563: Boolean cut operation in new API multi-tool mode performs fuse instead of cut | ||||
Description | In the new multi tool mode cutting the two shapes in the brep files results in a fuse. The operation is affected by the value of myFuzzyValue. If this is set to 0. then the correct cut result is returned, any other positive value (inc 1e-50) causes a fuse operation to be returned. It appears the the PerformInternal that creates the paved data structure merges the tool and the argument together but the boolean logic does not remove the unwanted shapes. | ||||
Steps To Reproduce | Using the two bRep files and the following tcl code will demonstrate the issue bclearobjects bcleartools baddobjects bodyshape baddtools cutshape bfuzzyvalue 1e-5 bapicut r 2 will result in a fuse operation not a cut clear the bfuzzyvalue to 0.0 and repeat will show a correct cut, as does bop bodyshape cutshape bopcut r the same happens in c++ code | ||||
Tags | No tags attached. | ||||
Test case number | bugs modalg_7 bug26563 | ||||
|
FuseNotCut.zip (101,210 bytes) |
|
This problem is extremely serious when multiple cuts are applied to shapes. I am finding that if cuts are made with cutting tools that overlap in anyway, the algorithm is unstable. I have tried to work through the code and find what is causing this but it is beyond me I am afraid. I have lots of cases where the multi-tool algorithm returns the wrong result. They are all similar to the example uploaded here, but in an effort to help solve the problem, all I can offer is that it seems to be related to the order of the multiple operations and the precision settings of the shapes. A typical cause of failure is as follows,.... build a shape (typically a face) and set your required precision for each vertex, let OCC determine the precision for faces that are built using the normal extrusion algorithms. This will normally create shapes that make the Boolean operations fail, both with multiple tools and with single tools. Set the precision of all shapes in your Boolean argument to be the same as the vertices precision. Single Booleans work fine, but multiple tools that overlap fail. The most common cause of failure is that faces that should be in the resulting shape have been removed, or faces that should have been removed end up in the resulting shape. This indicates some problem with face sorting (in or out) and maybe precision. I hope this is useful. |
|
Dear BugMaster, Problem described in issue is not reproduced on current state of OCCT. Problem has been solved in OCCT7.0.0. |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-08-15 19:51 | srlockley | New Issue | |
2015-08-15 19:51 | srlockley | Assigned To | => jgv |
2015-08-15 19:51 | srlockley | File Added: FuseNotCut.zip | |
2015-08-17 12:47 |
|
Assigned To | jgv => emv |
2015-08-27 15:06 | srlockley | Note Added: 0044748 | |
2017-08-14 18:04 |
|
Test case number | => bugs modalg_7 bug26563 |
2017-08-14 18:04 |
|
Note Added: 0069365 | |
2017-08-14 18:04 |
|
Assigned To | emv => bugmaster |
2017-08-14 18:04 |
|
Status | new => closed |
2017-08-14 18:04 |
|
Resolution | open => fixed |
2017-08-14 18:04 |
|
Fixed in Version | => 7.0.0 |