View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0030145 | Open CASCADE | OCCT:Modeling Algorithms | public | 2018-09-18 15:27 | 2018-10-07 12:43 |
Reporter | Assigned To | bugmaster | |||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
Product Version | 7.3.0 | ||||
Target Version | 7.4.0 | Fixed in Version | 7.4.0 | ||
Summary | 0030145: Modeling Algorithms - Boolean Operations on open solids | ||||
Description | In order to remove the old Boolean operations algorithm, the current algorithm should be extended to perform Boolean operations on open solids correctly. The current BOP algorithm splits the solids first to combine the final result, but the solid splitting algorithm is unable to produce the correct splits for open solid. Thus, for the open solids the new approach for building the result shape should be developed. | ||||
Steps To Reproduce | box b1 10 10 10 box b2 5 0 0 10 10 10 shape s1 So shape s2 So shape sh1 Sh shape sh2 Sh foreach f [lrange [explode b1 f] 0 4] { add $f sh1 } foreach f [lrange [explode b2 f] 0 4] { add $f sh2 } add sh1 s1 add sh2 s2 bop s1 s2 bopcom rcom bopfuse rfuse bopcut rcut | ||||
Tags | No tags attached. | ||||
Test case number | boolean/opensolid/A1,A2,A3,A4,A5,A6,A7,A8 | ||||
|
Branch CR30145 has been created by emv. SHA-1: d57d5e4eaee704d9926a28c2123ae7ce90e37f4a Detailed log of new commits: Author: emv Date: Fri Sep 7 15:24:49 2018 +0300 0030145: Modeling Algorithms - Boolean Operations on open solids Provide possibility to perform Boolean operations on open solids. Implementation of the new method *BOPAlgo_Builder::BuildBOP* performing the construction of the result shape for the given type of Boolean operation. This approach does not rely on the splits of solid to be correct and looks for the faces with necessary state relatively opposite solids to build the result solid. The call to this method is performed from BOP algorithm in case there were open solids in the arguments. Implementation of the draw command *buildbop* performing a call to the method above. Test cases for the issue. |
|
Branch CR30145 has been updated forcibly by emv. SHA-1: 86fe59606fd9f51065b560eaeb1a65161c2743c7 |
|
Branch CR30145 has been updated forcibly by emv. SHA-1: 05efc658752128ba8e01fdf6b29fad69e357dfaf |
|
Dear Mikhail, could you please review the git branch CR30145? Test results - http://jenkins-test-12.nnov.opencascade.com/view/CR30145-master-emv/view/COMPARE/ |
|
dox/user_guides/boolean_operations/boolean_operations.md - 2422: I think this should a subsection inside Boolean Operations Algorithm. - 2424: misprint "approach ob Boolean operations" - 2426: "the new approach has been implemented" => "another approach is used," - 2435: "The problem is in classification of the faces relatively such solids which strongly depends on the point on the face chosen for classification." => "This is explained by non-manifold nature of open solids: in some cases classification of a face depends on the point of the face chosen for classification." src/BOPAlgo/BOPAlgo_Builder.cxx - 442: why here aSx is not checked to be belonging to arguments? - 445: here the message must be different, like BOPAlgo_AlertImproperShapeType. - 451: use aS instead of itLS.Value(). - check work of algorithm with internal faces. May be take into account only boundary faces in initial filling of maps, and then insert internal faces using BOPAlgo_Tools::FillInternals method? Test case is to be created. |
|
Branch CR30145 has been updated by emv. SHA-1: da68380b252b88773f14b288c0b806901887b9b3 Detailed log of new commits: Author: emv Date: Wed Oct 3 10:00:29 2018 +0300 # Corrections according to remarks. |
|
Please review again. |
|
Reviewed. |
|
Combination - OCCT branch : CR30145 SHA - da68380b252b88773f14b288c0b806901887b9b3 Products branch : master SHA - bdd0353fc53f9279cf9520705239af63f757c03a was compiled on Linux, MacOS and Windows platforms and tested in optimize mode. Number of compiler warnings: No new/fixed warnings Regressions/Differences/Improvements: No regressions/differences CPU differences: Debian80-64: OCCT Total CPU difference: 17351.219999999856 / 17401.889999999843 [-0.29%] Products Total CPU difference: 7446.910000000056 / 7431.600000000062 [+0.21%] Windows-64-VC14: OCCT Total CPU difference: 17486.089689598415 / 17485.309684598556 [+0.00%] Products Total CPU difference: 8386.5201594 / 8352.574341799986 [+0.41%] Image differences : No differences that require special attention Memory differences : No differences that require special attention |
|
Branch CR30145 has been deleted by inv. SHA-1: da68380b252b88773f14b288c0b806901887b9b3 |
occt: master 13c0e402 2018-09-07 12:24:49
Committer: bugmaster Details Diff |
0030145: Modeling Algorithms - Boolean Operations on open solids Provide possibility to perform Boolean operations on open solids. Implementation of the new method *BOPAlgo_Builder::BuildBOP* performing the construction of the result shape for the given type of Boolean operation. This approach does not rely on the splits of solid to be correct and looks for the faces with necessary state relatively opposite solids to build the result solid. The call to this method is performed from BOP algorithm in case there were open solids in the arguments. Implementation of the draw command *buildbop* performing a call to the method above. |
Affected Issues 0030145 |
|
mod - dox/user_guides/boolean_operations/boolean_operations.md | Diff File | ||
mod - dox/user_guides/draw_test_harness/draw_test_harness.md | Diff File | ||
mod - src/BOPAlgo/BOPAlgo.msg | Diff File | ||
mod - src/BOPAlgo/BOPAlgo_Alerts.hxx | Diff File | ||
mod - src/BOPAlgo/BOPAlgo_BOP.cxx | Diff File | ||
mod - src/BOPAlgo/BOPAlgo_BOP.hxx | Diff File | ||
mod - src/BOPAlgo/BOPAlgo_BOPAlgo_msg.pxx | Diff File | ||
mod - src/BOPAlgo/BOPAlgo_Builder.cxx | Diff File | ||
mod - src/BOPAlgo/BOPAlgo_Builder.hxx | Diff File | ||
mod - src/BOPAlgo/BOPAlgo_Builder_3.cxx | Diff File | ||
mod - src/BOPAlgo/BOPAlgo_MakerVolume.cxx | Diff File | ||
mod - src/BOPAlgo/BOPAlgo_Tools.cxx | Diff File | ||
mod - src/BOPAlgo/BOPAlgo_Tools.hxx | Diff File | ||
mod - src/BOPTest/BOPTest.cxx | Diff File | ||
mod - src/BOPTest/BOPTest_PartitionCommands.cxx | Diff File | ||
mod - src/BOPTools/BOPTools_AlgoTools.cxx | Diff File | ||
mod - src/BRepFeat/BRepFeat_Builder.cxx | Diff File | ||
mod - src/BRepFeat/BRepFeat_Builder.hxx | Diff File | ||
mod - src/TopoDS/TopoDS_AlertWithShape.hxx | Diff File | ||
mod - tests/boolean/bcut_complex/O3 | Diff File | ||
mod - tests/boolean/bcut_complex/O4 | Diff File | ||
mod - tests/boolean/bcut_complex/O5 | Diff File | ||
mod - tests/boolean/bcut_complex/O6 | Diff File | ||
mod - tests/boolean/bfuse_complex/O5 | Diff File | ||
mod - tests/boolean/grids.list | Diff File | ||
add - tests/boolean/opensolid/A1 | Diff File | ||
add - tests/boolean/opensolid/A2 | Diff File | ||
add - tests/boolean/opensolid/A3 | Diff File | ||
add - tests/boolean/opensolid/A4 | Diff File | ||
add - tests/boolean/opensolid/A5 | Diff File | ||
add - tests/boolean/opensolid/A6 | Diff File | ||
add - tests/boolean/opensolid/A7 | Diff File | ||
add - tests/boolean/opensolid/A8 | Diff File | ||
add - tests/boolean/opensolid/A9 | Diff File | ||
mod - tests/bugs/modalg_2/bug420 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-09-18 15:27 |
|
New Issue | |
2018-09-18 15:27 |
|
Assigned To | => msv |
2018-09-18 15:28 |
|
Relationship added | child of 0028575 |
2018-09-21 09:35 | git | Note Added: 0079303 | |
2018-09-21 09:38 |
|
Assigned To | msv => emv |
2018-09-21 09:38 |
|
Status | new => assigned |
2018-09-21 09:45 |
|
Relationship added | related to 0030150 |
2018-09-28 13:09 | git | Note Added: 0079475 | |
2018-10-01 07:42 | git | Note Added: 0079539 | |
2018-10-01 11:41 |
|
Note Added: 0079550 | |
2018-10-01 11:41 |
|
Assigned To | emv => msv |
2018-10-01 11:41 |
|
Status | assigned => resolved |
2018-10-02 18:15 |
|
Note Added: 0079617 | |
2018-10-02 18:15 |
|
Assigned To | msv => emv |
2018-10-02 18:15 |
|
Status | resolved => assigned |
2018-10-03 10:01 | git | Note Added: 0079627 | |
2018-10-03 13:39 |
|
Note Added: 0079643 | |
2018-10-03 13:39 |
|
Assigned To | emv => msv |
2018-10-03 13:39 |
|
Status | assigned => resolved |
2018-10-03 18:29 |
|
Note Added: 0079654 | |
2018-10-03 18:29 |
|
Assigned To | msv => bugmaster |
2018-10-03 18:29 |
|
Status | resolved => reviewed |
2018-10-03 19:18 | bugmaster | Test case number | => boolean/opensolid/A1,A2,A3,A4,A5,A6,A7,A8 |
2018-10-03 19:20 | bugmaster | Note Added: 0079658 | |
2018-10-03 19:20 | bugmaster | Status | reviewed => tested |
2018-10-06 19:15 | bugmaster | Changeset attached | => occt master 13c0e402 |
2018-10-06 19:15 | bugmaster | Status | tested => verified |
2018-10-06 19:15 | bugmaster | Resolution | open => fixed |
2018-10-07 12:43 | git | Note Added: 0079750 |