View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0026486 | Community | OCCT:Modeling Algorithms | public | 2015-07-27 17:23 | 2015-08-19 12:42 |
| Reporter | Pawel | Assigned To | bugmaster | ||
| Priority | normal | Severity | minor | ||
| Status | closed | Resolution | no change required | ||
| Platform | Windows | OS | VC++ 2012 | ||
| Product Version | 6.9.0 | ||||
| Summary | 0026486: BRepAlgoAPI_Cut: unexpected result | ||||
| Description | This issue was mentioned here: http://dev.opencascade.org/index.php?q=node/1091#comment-604 I want to find the point where a rectangular plane intersects an edge. My first choice was to use the BOP Common operation but it gave me no result. Finally, I used BOP Cut operation, which cuts one part of the edge and I can extract the coordinates of one of the end of the remaining curve in order to get the intersection point. The interesting thing is that I need to use the old BOP (BRepAlgo_Cut) to cut the edge using the plane. The new BOP (BRepAlgoAPI_Cut) gives me the original curve split into two sections and merged at the intersection point. | ||||
| Steps To Reproduce | #result is the original cuve split and merged at the intersection point restore edge.brep s1 restore rect.brep s2 checkshape s1 checkshape s2 bop s1 s2 bopcut result checkshape result vinit vdisplay result vsetdispmode result 1 vdisplay s2 vsetdispmode s2 1 vfit #the old BOP cuts off a part of the edge pload ALL restore edge.brep s1 restore rect.brep s2 checkshape s1 checkshape s2 cut result s1 s2 checkshape result vinit vdisplay result vsetdispmode result 1 vdisplay s2 vsetdispmode s2 1 vfit | ||||
| Tags | No tags attached. | ||||
| Test case number | |||||
|
|
|
|
|
|
|
|
The new Boolean operation algorithm works more consistently regarding to type of operands. Please study the documentation on it (user manual). The shape rect.brep is of type face. It is a surface object and cannot cut material from the other object more than on its width, which is 0, therefore Cut operation cuts the edge on 2 parts in the point of intersection. Another operation you can use to get the section point is Section, so the command bsection r s1 s2 will put in the result the vertex containing the point of intersection. If you still want to use BOP as in old manner, by cutting off a part of edge that is behind the face you should construct half space object from the face: halfspace h s2 50 50 0 Then the following operation will give you the same result as old BOP with original face: bcut r s1 h |
|
|
Dear msv, yes, you're right the section operation works as expected. I suspect, at the time the workaround with the old BOP was created (OCCT 6.5 or 6.6 if I recall correctly), the section (new BOP) might not have worked correctly. Please close the issue. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2015-07-27 17:23 | Pawel | New Issue | |
| 2015-07-27 17:23 | Pawel | Assigned To | => msv |
| 2015-07-27 17:23 | Pawel | File Added: edge.brep | |
| 2015-07-27 17:23 | Pawel | File Added: rect.brep | |
| 2015-07-28 09:58 |
|
Note Added: 0043608 | |
| 2015-07-28 09:58 |
|
Assigned To | msv => Pawel |
| 2015-07-28 09:58 |
|
Status | new => feedback |
| 2015-07-28 13:30 | Pawel | Note Added: 0043626 | |
| 2015-07-28 13:30 | Pawel | Assigned To | Pawel => msv |
| 2015-07-28 13:30 | Pawel | Status | feedback => resolved |
| 2015-07-28 16:15 |
|
Assigned To | msv => bugmaster |
| 2015-07-28 16:15 |
|
Status | resolved => reviewed |
| 2015-07-30 11:25 | bugmaster | Status | reviewed => closed |
| 2015-07-30 11:25 | bugmaster | Resolution | open => no change required |
| 2015-08-19 12:42 |
|
Target Version | 7.0.0 => |