View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0028711 | Community | OCCT:Modeling Algorithms | public | 2017-05-03 12:27 | 2017-05-12 14:57 |
| Reporter | Florian Schumacher | Assigned To | bugmaster | ||
| Priority | normal | Severity | major | ||
| Status | closed | Resolution | won't fix | ||
| Platform | Windows | OS | VC++ 2015 | ||
| Product Version | 7.1.0 | ||||
| Summary | 0028711: Boolean cut does not modify with second operand being a "bounded half-space" ( = common of half-space and semi-infinite Prism) | ||||
| Description | As a second operand for boolean cut operations, I need to use a so-called "bounded half space", which is the result of a boolean common operation of a half-space with a semi-infinite prism having extrusion direction orthogonal to its base face. Thereby, such a bounded half-space is itself a semi-infinte prism potentially having a non-orthogonal extrusion direction and a base face different from the one of the first (orthogonally extruded) prism. Realizing such a bounded half-space in OpenCascade by a boolean common operation of a half-space with a semi-infinite prism, however, results in a non-modifying cut operation (with second operand of the cut being such a bounded half-space). Constructing in an analogous way a "pseudo" bounded half-space using a finite (sufficiently large) extrusion of the prism instead of a semi-infinite, on the other hand, works as expected in the boolean cut operation. Please see the minimum working example provided in the attached .cpp code file (to which required includes should be added). Furthermore, I tested the boolean cut operation with more simple operands: using a (non-bounded) half-space as a second operand works as expected, as well as using a semi-infinite prism having a base face cutting through the first-operand shape (these tests were also done with the objects as in the provided code example, but are not visible in the code file by commented code blocks or something). | ||||
| Steps To Reproduce | Please see the minimum working example provided in the attached .cpp code file (to which required includes should be added). ############### # Draw script follows plane pl 0 0 0.5 0 0 1 mkface f pl eval halfspace hs f 0 0 1.5 polyline w -2 -2 -1 2 -2 -1 2 2 -1 -2 2 -1 -2 -2 -1 mkplane bf w prism pr bf 0 0 1 seminf # with the following command prism is finite and the result is OK #prism pr bf 0 0 100 bcommon bhs hs pr polyline w1 -1 -1 0 1 -1 0 1 1 0 -1 1 0 -1 -1 0 mkplane f1 w1 prism so f1 0 0 1 bcut cr so bhs checkprops cr -v 2 | ||||
| Additional information and documentation updates | According to the severity table at https://dev.opencascade.org/doc/overview/html/occt_dev_guides__contribution_workflow.html , I chose major in accordance to "Incorrect operation of a function on a particular dataset". Please adjust severity if required. | ||||
| Tags | No tags attached. | ||||
| Test case number | |||||
|
|
|
bounded_half_space_min_working_example.cpp (4,121 bytes) |
|
|
Boolean operations algorithm was targeted to build faces bounded by finite and closed wires. In the given example the result of common between two infinite shapes must be constructed with faces bounded by open infinite wires. The algorithm cannot build such result, and therefore it returns empty shape. Nothing wrong with the algorithm of creation of semi-infinite prism, it builds right semi-infinite prism. The whole scenario is faulty just due to limitation of Boolean algorithm. |
|
|
Dear bugmaster, this bug is not fixable. Please consider to close it. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2017-05-03 12:27 | Florian Schumacher | New Issue | |
| 2017-05-03 12:27 | Florian Schumacher | Assigned To | => msv |
| 2017-05-03 12:27 | Florian Schumacher | File Added: bounded_half_space_min_working_example.cpp | |
| 2017-05-11 17:07 |
|
Steps to Reproduce Updated | |
| 2017-05-11 17:14 |
|
Note Added: 0065845 | |
| 2017-05-11 17:16 |
|
Note Added: 0065846 | |
| 2017-05-11 17:16 |
|
Assigned To | msv => bugmaster |
| 2017-05-11 17:16 |
|
Status | new => feedback |
| 2017-05-11 17:16 |
|
Resolution | open => won't fix |
| 2017-05-12 14:57 | bugmaster | Status | feedback => closed |