View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0028414 | Community | OCCT:Data Exchange | public | 2017-01-30 19:28 | 2023-05-17 19:21 |
Reporter | gdw | Assigned To | |||
Priority | normal | Severity | major | ||
Status | closed | Resolution | fixed | ||
Platform | Mac | OS | OS | ||
Product Version | 6.9.1 | ||||
Target Version | 7.7.0 | Fixed in Version | 7.7.0 | ||
Summary | 0028414: Data Exchange - Step entity not correctly read | ||||
Description | Hello, We have identified an entity (STEP TOROIDAL_SURFACE) that is not correctly read (see the screen shots of IDA-Step and FreeCAD). We have isolated the entity in a as small as possible Step file in order to help the correction. Thank in advance for your help. -- Guilhem | ||||
Steps To Reproduce | Test "bugs step bug28414". | ||||
Tags | No tags attached. | ||||
Test case number | Not required | ||||
|
related to | 0029564 | closed | bugmaster | Community | Data Exchange - STEP Import and Export failure |
related to | 0027722 | assigned | dpasukhi | Community | Data Exchange - STEP error for Ellipse revol shape |
related to | 0028024 | closed | Open CASCADE | Configuration - revise XSTEPResource initialization | |
related to | 0033221 | resolved | dpasukhi | Open CASCADE | Tests - Resource files are not deleted after testing |
related to | 0033386 | new | Community | Data Exchange, Step Import - Toroidal surface with single outer bound |
|
StepBug.zip (507,140 bytes) |
|
Among available STEP viewers: - Autodesk A360 and GOM Inspect (based on Hoops by TechSoft3D), PTC Creo Elements show this face as almost full torus; - OCCT, FreeCAD, RGK show it as small part; - Rhino fails to open it; - STEP NC shows broken shape. Thus translation of toruses to and from STEP definitely deserves to be checked. |
|
Hello, What is the status of this issue? Thks in advance -- gdw |
|
Hi gdw, I think this may have relationships with 0027722: https://tracker.dev.opencascade.org/view.php?id=27722 |
|
bug_tore.stp (15,501 bytes) |
|
Hello, The problem seems to be not related to the ellipse but preferably to the BSP subtraction. In the file bug_tore, if 0000329 = ADVANCED_FACE( '', ( #749 ), #750, .T. ); is replaced by 0000329 = ADVANCED_FACE( '', ( ), #750, .T. ); the tore is read by occ; otherwise, only the cookie is read... Hope this help -- Guilhem |
|
Capture d’écran 2018-05-01 à 16.32.27.png (49,193 bytes) |
|
Capture d’écran 2018-05-01 à 16.32.54.png (84,779 bytes) |
|
Hi, After investigations, the problem seems to come from the way the tore is cut by the wire in the ADVANCED_FACE: the part that should kept is 'outside' while occ keeps 'inside', as shown in the screenshots (the yellow one is correct while the gray one is what occ produces). Currently I am trying to investigate in BrepMesh_FastDiscret.cxx that actually triangule the tore... Help will infinitely appreciated! -- Guilhem |
|
More over, the problem seems to come when some B_SPLINE_CURVE_WITH_KNOTS are involved in the EdgeLoop of the ADVANCED_FACE; not sure that the problem is limited if the surface of the ADVANCED_FACE is a torus... Feedback and help greatly appreciated! |
|
We have temporarily fixed the problem by suppressing the edge part of the advanced face if the target form is a toroids and if the edges are made exclusively with knots surface. This inly a work around... |
|
For more information, the problem comes from FACE_OUTER_BOUND... |
|
Branch CR28414 has been created by skl. SHA-1: bb7eb4c1dcfbf802ef04563fa71057a66e5c9354 Detailed log of new commits: Author: skl Date: Wed Nov 18 11:25:19 2020 +0300 0028414: Step entity not correctly read. Temporary check |
|
Branch CR28414 has been updated forcibly by skl. SHA-1: 004ecab95df2de6782e447fe3c11a6476e1aa640 |
|
Branch CR28414 has been updated forcibly by skl. SHA-1: c896d7915a7b5778780886baea246d40d41b5a01 |
|
Branch CR28414 has been updated by skl. SHA-1: 619d87b8f54e5c84a51977aab8cefdee64292934 Detailed log of new commits: Author: skl Date: Sun Nov 22 08:49:42 2020 +0300 0028414: Data Exchange - Step entity not correctly read Check temporary solution. |
|
Branch CR28414 has been updated forcibly by skl. SHA-1: 19a36cbd1a6a827b973504a2f70bc8cc1b016153 |
|
Branch CR28414 has been updated by skl. SHA-1: ddcc1b69c480fa442357e07a5008b7f550445c1a Detailed log of new commits: Author: skl Date: Tue Nov 24 07:52:37 2020 +0300 0028414: Data Exchange - Step entity not correctly read Temporary check |
|
Branch CR28414 has been updated by skl. SHA-1: fb9dc489fa78bf7b76a0d9b8d94ca5141f068d5a Detailed log of new commits: Author: skl Date: Tue Nov 24 15:13:57 2020 +0300 0028414: Data Exchange - Step entity not correctly read Next version of fix. |
2020-11-27 11:23 developer |
bug28414.stp (15,505 bytes) |
|
Please add attached file bug28414.stp to repository. |
|
Branch CR28414 has been updated forcibly by skl. SHA-1: 1269f76c49956bd40f960e68df86c7cad3d5c44b |
|
Branch CR28414 has been updated forcibly by skl. SHA-1: 6284b2343419ec0f0e6ce085f654cfa68ffe34d1 |
|
Branch CR28414 has been updated forcibly by skl. SHA-1: c7f54f5a958998dc3e8bdd82bd832e42c5c671a7 |
|
Branch CR28414 has been updated forcibly by skl. SHA-1: 05acd7b3ff27b5f086fdf150204e04e8a72f7b59 |
|
Branch CR28414 has been updated forcibly by skl. SHA-1: 2f271272bc9a0b891641f40e065b5033f6809609 |
|
Branch CR28414 has been updated forcibly by skl. SHA-1: 1845b616e017458971d19fba0a48b344231bacd2 |
|
For entity FACE_BOUND if surface is torus and orientation is True temporary natural bound is created. Later in the ShapeFix_Face this bound is removed but special flag myTorusReverseFlag is activated. Value of this flag is used for decision what part of torus must be used. Result of tests: http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR28414-master-skl/view/COMPARE/ |
|
Dear Sergey. Could you please return previous formatting and add detail comments for new flag added for healing of toroidal faces and modified behavior. |
|
Branch CR28414 has been updated forcibly by skl. SHA-1: 88f4030f0529b339d964d492b4fc69e14f6486c7 |
|
Result of tests: http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR28414-master-skl/view/COMPARE/ |
|
Dear Andrey. Could you please review this fix. |
|
Dear Andrey, please rebase the patch, review the source code and re-test it. |
|
Branch CR28414 has been updated by atereshi. SHA-1: 5df2ff62a692fdee684db97f3c2e901732315c4e Detailed log of new commits: Author: atereshi Date: Wed Apr 6 19:06:55 2022 +0300 Merge remote-tracking branch 'origin/CR28414' into CR28414 Author: skl Date: Wed Nov 18 11:25:19 2020 +0300 0028414: Data Exchange - Step entity not correctly read Fix + test. For entity FACE_BOUND if surface is torus and orientation is True temporary natural bound is created. Later in the ShapeFix_Face this bound is removed but special flag myTorusReverseFlag is activated. Value of this flag is used for decision what part of torus must be used. |
|
Branch CR28414_1 has been created by atereshi. SHA-1: 5c8108bf05f31d2c34c7a4a8f84e1d1fea939593 Detailed log of new commits: Author: atereshi Date: Mon Apr 11 16:54:45 2022 +0300 0032922: Some refactoring. Added extra analysis in UV-space for toroidal surface. Author: atereshi Date: Mon Apr 11 15:26:42 2022 +0300 0032922: Some refactoring. Added extra analysis in UV-space for toroidal surface. Author: atereshi Date: Tue Apr 5 16:25:36 2022 +0300 0028414: some refactoring Author: atereshi Date: Tue Apr 5 11:58:50 2022 +0300 0028414: some refactoring Author: atereshi Date: Mon Apr 4 20:50:08 2022 +0300 0028414: swap FixAddNaturalBound and FixOrientation Author: atereshi Date: Fri Apr 1 14:28:55 2022 +0300 0028414: Code refactoring. Patch rollback. |
|
Branch CR28414_1 has been deleted by atereshi. SHA-1: 5c8108bf05f31d2c34c7a4a8f84e1d1fea939593 |
|
Branch CR28414_plus_32922 has been created by atereshi. SHA-1: 95a26d73124d1bde9ffdbef7885dd93b8e8689ab Detailed log of new commits: Author: atereshi Date: Tue Apr 26 10:45:37 2022 +0300 fixed theMapWires.UnBind Author: atereshi Date: Tue Apr 26 10:07:02 2022 +0300 code formating Author: atereshi Date: Tue Apr 26 09:20:45 2022 +0300 code formating Author: atereshi Date: Tue Apr 5 11:58:50 2022 +0300 0028414: some refactoring Author: atereshi Date: Tue Apr 5 16:25:36 2022 +0300 0028414: some refactoring Author: atereshi Date: Mon Apr 11 15:26:42 2022 +0300 0032922: Some refactoring. Added extra analysis in UV-space for toroidal surface. Author: atereshi Date: Mon Apr 11 16:54:45 2022 +0300 0032922: Some refactoring. Added extra analysis in UV-space for toroidal surface. Author: skl Date: Wed Nov 18 11:25:19 2020 +0300 0028414: Data Exchange - Step entity not correctly read Fix + test. For entity FACE_BOUND if surface is torus and orientation is True temporary natural bound is created. Later in the ShapeFix_Face this bound is removed but special flag myTorusReverseFlag is activated. Value of this flag is used for decision what part of torus must be used. Author: atereshi Date: Fri Apr 1 14:28:55 2022 +0300 0028414: Code refactoring. Patch rollback. Author: atereshi Date: Mon Apr 4 20:50:08 2022 +0300 0028414: swap FixAddNaturalBound and FixOrientation |
|
Branch CR28414_plus_32922 has been updated by atereshi. SHA-1: 7e9c06281d2e1b96ce927dc191f4ffe93707f60f Detailed log of new commits: Author: atereshi Date: Wed Apr 27 11:54:45 2022 +0300 if the face has seam edge then we ignore FixAddNaturalBound |
|
Branch CR28414_plus_32922 has been updated by atereshi. SHA-1: 815a6671ab49b9362e4614223217532fa8beea53 Detailed log of new commits: Author: atereshi Date: Wed Apr 27 14:03:37 2022 +0300 if the face has degenerated edge then we ignore FixAddNaturalBound |
|
Branch CR28414_plus_32922 has been deleted by atereshi. SHA-1: 815a6671ab49b9362e4614223217532fa8beea53 |
|
Branch CR28414 has been deleted by atereshi. SHA-1: 5df2ff62a692fdee684db97f3c2e901732315c4e |
|
Branch CR28414 has been created by atereshi. SHA-1: 3b22e93b786aebc7109d5e79d5570bb6fc6c08ee Detailed log of new commits: Author: atereshi Date: Mon Apr 11 16:54:45 2022 +0300 0032922: Some refactoring. Added extra analysis in UV-space for toroidal surface. Author: atereshi Date: Tue Apr 5 16:25:36 2022 +0300 0028414: some refactoring Author: atereshi Date: Mon Apr 11 15:26:42 2022 +0300 0032922: Some refactoring. Added extra analysis in UV-space for toroidal surface. Author: atereshi Date: Mon Apr 4 20:50:08 2022 +0300 0028414: swap FixAddNaturalBound and FixOrientation Author: atereshi Date: Tue Apr 5 11:58:50 2022 +0300 0028414: some refactoring Author: atereshi Date: Fri Apr 1 14:28:55 2022 +0300 0028414: Code refactoring. Patch rollback. Author: skl Date: Wed Nov 18 11:25:19 2020 +0300 0028414: Data Exchange - Step entity not correctly read Fix + test. For entity FACE_BOUND if surface is torus and orientation is True temporary natural bound is created. Later in the ShapeFix_Face this bound is removed but special flag myTorusReverseFlag is activated. Value of this flag is used for decision what part of torus must be used. |
|
Branch CR28414_plus_32922 has been created by atereshi. SHA-1: 815a6671ab49b9362e4614223217532fa8beea53 Detailed log of new commits: Author: atereshi Date: Wed Apr 27 14:03:37 2022 +0300 if the face has degenerated edge then we ignore FixAddNaturalBound Author: atereshi Date: Wed Apr 27 11:54:45 2022 +0300 if the face has seam edge then we ignore FixAddNaturalBound Author: atereshi Date: Tue Apr 26 10:45:37 2022 +0300 fixed theMapWires.UnBind Author: atereshi Date: Tue Apr 26 10:07:02 2022 +0300 code formating Author: atereshi Date: Tue Apr 26 09:20:45 2022 +0300 code formating Author: atereshi Date: Tue Apr 5 11:58:50 2022 +0300 0028414: some refactoring Author: atereshi Date: Tue Apr 5 16:25:36 2022 +0300 0028414: some refactoring Author: atereshi Date: Mon Apr 11 15:26:42 2022 +0300 0032922: Some refactoring. Added extra analysis in UV-space for toroidal surface. Author: atereshi Date: Mon Apr 11 16:54:45 2022 +0300 0032922: Some refactoring. Added extra analysis in UV-space for toroidal surface. Author: skl Date: Wed Nov 18 11:25:19 2020 +0300 0028414: Data Exchange - Step entity not correctly read Fix + test. For entity FACE_BOUND if surface is torus and orientation is True temporary natural bound is created. Later in the ShapeFix_Face this bound is removed but special flag myTorusReverseFlag is activated. Value of this flag is used for decision what part of torus must be used. Author: atereshi Date: Fri Apr 1 14:28:55 2022 +0300 0028414: Code refactoring. Patch rollback. Author: atereshi Date: Mon Apr 4 20:50:08 2022 +0300 0028414: swap FixAddNaturalBound and FixOrientation Author: atereshi Date: Fri Apr 8 14:16:01 2022 +0300 0032922: Problem: the complete surface of the torus is not stored correctly in STEP format due to the fact that the edges are not properly ordered. Change: added a mode for reordering edges in the wire with simultaneous use of 2d and 3d information (ShapeAnalysis_WireOrder). The new mode is used for torus-like surfaces before saving to STEP format. Result: Torus correctly stored. |
|
Branch CR28414_plus_32922 has been deleted by atereshi. SHA-1: 815a6671ab49b9362e4614223217532fa8beea53 |
|
Branch CR28414 has been deleted by atereshi. SHA-1: 3b22e93b786aebc7109d5e79d5570bb6fc6c08ee |
|
Branch CR28414_1 has been created by atereshi. SHA-1: 5c8108bf05f31d2c34c7a4a8f84e1d1fea939593 Detailed log of new commits: Author: atereshi Date: Mon Apr 11 16:54:45 2022 +0300 0032922: Some refactoring. Added extra analysis in UV-space for toroidal surface. Author: atereshi Date: Mon Apr 11 15:26:42 2022 +0300 0032922: Some refactoring. Added extra analysis in UV-space for toroidal surface. Author: atereshi Date: Tue Apr 5 16:25:36 2022 +0300 0028414: some refactoring Author: atereshi Date: Tue Apr 5 11:58:50 2022 +0300 0028414: some refactoring Author: atereshi Date: Mon Apr 4 20:50:08 2022 +0300 0028414: swap FixAddNaturalBound and FixOrientation Author: atereshi Date: Fri Apr 1 14:28:55 2022 +0300 0028414: Code refactoring. Patch rollback. Author: skl Date: Wed Nov 18 11:25:19 2020 +0300 0028414: Data Exchange - Step entity not correctly read Fix + test. For entity FACE_BOUND if surface is torus and orientation is True temporary natural bound is created. Later in the ShapeFix_Face this bound is removed but special flag myTorusReverseFlag is activated. Value of this flag is used for decision what part of torus must be used. |
|
Branch CR28414_plus_32922 has been created by atereshi. SHA-1: 815a6671ab49b9362e4614223217532fa8beea53 Detailed log of new commits: Author: atereshi Date: Wed Apr 27 14:03:37 2022 +0300 if the face has degenerated edge then we ignore FixAddNaturalBound Author: atereshi Date: Wed Apr 27 11:54:45 2022 +0300 if the face has seam edge then we ignore FixAddNaturalBound Author: atereshi Date: Tue Apr 26 10:45:37 2022 +0300 fixed theMapWires.UnBind Author: atereshi Date: Tue Apr 26 10:07:02 2022 +0300 code formating Author: atereshi Date: Tue Apr 26 09:20:45 2022 +0300 code formating Author: atereshi Date: Tue Apr 5 11:58:50 2022 +0300 0028414: some refactoring Author: atereshi Date: Tue Apr 5 16:25:36 2022 +0300 0028414: some refactoring Author: atereshi Date: Mon Apr 11 15:26:42 2022 +0300 0032922: Some refactoring. Added extra analysis in UV-space for toroidal surface. Author: atereshi Date: Mon Apr 11 16:54:45 2022 +0300 0032922: Some refactoring. Added extra analysis in UV-space for toroidal surface. Author: skl Date: Wed Nov 18 11:25:19 2020 +0300 0028414: Data Exchange - Step entity not correctly read Fix + test. For entity FACE_BOUND if surface is torus and orientation is True temporary natural bound is created. Later in the ShapeFix_Face this bound is removed but special flag myTorusReverseFlag is activated. Value of this flag is used for decision what part of torus must be used. Author: atereshi Date: Fri Apr 1 14:28:55 2022 +0300 0028414: Code refactoring. Patch rollback. Author: atereshi Date: Mon Apr 4 20:50:08 2022 +0300 0028414: swap FixAddNaturalBound and FixOrientation Author: atereshi Date: Fri Apr 8 14:16:01 2022 +0300 0032922: Problem: the complete surface of the torus is not stored correctly in STEP format due to the fact that the edges are not properly ordered. Change: added a mode for reordering edges in the wire with simultaneous use of 2d and 3d information (ShapeAnalysis_WireOrder). The new mode is used for torus-like surfaces before saving to STEP format. Result: Torus correctly stored. |
|
Branch CR28414_1 has been deleted by atereshi. SHA-1: 5c8108bf05f31d2c34c7a4a8f84e1d1fea939593 |
|
Branch CR28414_plus_32922 has been deleted by atereshi. SHA-1: 815a6671ab49b9362e4614223217532fa8beea53 |
|
Branch CR28414 has been created by atereshi. SHA-1: 0b656ac97b77440e26e2ef66f00daa946bb20be0 Detailed log of new commits: Author: atereshi Date: Wed Apr 27 14:03:37 2022 +0300 if the face has degenerated edge then we ignore FixAddNaturalBound Author: atereshi Date: Wed Apr 27 11:54:45 2022 +0300 if the face has seam edge then we ignore FixAddNaturalBound Author: atereshi Date: Tue Apr 26 10:45:37 2022 +0300 fixed theMapWires.UnBind Author: atereshi Date: Tue Apr 26 10:07:02 2022 +0300 code formating Author: atereshi Date: Tue Apr 26 09:20:45 2022 +0300 code formating Author: atereshi Date: Mon Apr 11 15:26:42 2022 +0300 0032922: Some refactoring. Added extra analysis in UV-space for toroidal surface. Author: atereshi Date: Mon Apr 11 16:54:45 2022 +0300 0032922: Some refactoring. Added extra analysis in UV-space for toroidal surface. Author: atereshi Date: Tue Apr 5 16:25:36 2022 +0300 0028414: some refactoring Author: atereshi Date: Mon Apr 4 20:50:08 2022 +0300 0028414: swap FixAddNaturalBound and FixOrientation Author: atereshi Date: Tue Apr 5 11:58:50 2022 +0300 0028414: some refactoring Author: skl Date: Wed Nov 18 11:25:19 2020 +0300 0028414: Data Exchange - Step entity not correctly read Fix + test. For entity FACE_BOUND if surface is torus and orientation is True temporary natural bound is created. Later in the ShapeFix_Face this bound is removed but special flag myTorusReverseFlag is activated. Value of this flag is used for decision what part of torus must be used. Author: atereshi Date: Fri Apr 1 14:28:55 2022 +0300 0028414: Code refactoring. Patch rollback. |
|
Branch CR28414 has been updated by atereshi. SHA-1: 35af3fe38fb85d12cd0a89bd983433a351129223 Detailed log of new commits: Author: atereshi Date: Fri Jul 1 09:28:16 2022 +0300 // changed the classification method of the wire from PerformInfinitePoint() to IsOuterBound() |
|
Branch CR28414 has been updated by atereshi. SHA-1: 063450c1ec9fffed836f73f75a170678c24ba622 Detailed log of new commits: Author: atereshi Date: Tue Jul 5 12:30:20 2022 +0300 // changed the classification method of the wire to mix |
|
Branch CR28414 has been updated by atereshi. SHA-1: 080331d74ef254b15fe16b5943ac363b2e033bf9 Detailed log of new commits: Author: atereshi Date: Thu Jul 7 11:12:29 2022 +0300 // turned off FixAddNaturalBoundMode for some tests |
|
Branch CR28414 has been updated forcibly by atereshi. SHA-1: 03a6e0faac7d0039df331a81866ce7c0a727f1c3 |
|
Branch CR28414 has been updated by atereshi. SHA-1: 379d5d48ac4a0bca567115f3266bf08ee7f931d8 Detailed log of new commits: Author: atereshi Date: Tue Jul 12 11:03:30 2022 +0300 // turned off FixAddNaturalBoundMode for some tests |
|
Branch CR28414_0 has been created by atereshi. SHA-1: 4595dcc98eabe285e7721fd957ef4a68a413a922 Detailed log of new commits: Author: atereshi Date: Tue Jul 12 13:46:54 2022 +0300 0028414: Data Exchange, STEP - Face on a closed surface with single inner wire and without natural bound not correctly read Problem: From the point of view of the STEP format (and others), it is allowed to describe a face on a surface with natural boundaries (torus, sphere) without specifying these boundaries. Thus, a face on a closed surface and containing an inner wire (or several) is correctly defined and describes a face with a cutout defined by this wire. At the same time, there is a function (ShapeFix_Face::FixOrientation) in the ShapeHealing procedure that corrects the orientation of the wires and it starts before the function of adding natural boundaries (ShapeFix_Face::FixAddNaturalBound). There are many shapes that have incorrectly oriented wires and this procedure successfully heals them, but on a correctly specified face with single inner wire on closed surface, we do not get the entire surface with a cutout, but a part of the surface defined by the wire. This fix is intended to resolve this ambiguity. Change: 1. The FixOrientation function has been completely redesigned in order to simplify and unify the analysis algorithm. New conditions have been added to the FixAddNaturalBound function when it is not necessary to add boundaries. 2. The function calls were swapped. Because this order is natural and removes mutual dependence. 3. A new AddNaturalBoundIgnoreSingleInnerWire flag has been added to the ShapeFix procedure option, which means "do not add natural boundaries to the face with single inner wire". This flag is disabled by default. 4. For tests in which one wire was incorrectly oriented on a closed surface, this flag was enabled. 5. Test with cutout from torus was created: bugs step bug28414. Result: The ambiguity in the interpretation of the inner wire has been corrected. By default, it is correct to add natural boundaries, because this case is correct from the point of view of the STEP format and others. |
|
Dear The branch CR28414_0 is ready for review. |
|
occt-products: tests/cr/standard/E2 20: it is not good idea to write temporary files to the directory of source file. First, you should declare imagedir as global variable. And if it does not exist set it to ".". occt: tests/bugs/step/bug28414 empty file In some tests the following comment is incorrect, because shape healing is not turned off. # Generating resource file where all shape healing is off Why did you change the usage of the array "env" to "::env" in tests/bugs/step/bug32922 and tests/bugs/step/bug5708? I do not like the copy-paste of the same quite large Tcl code in many tests. It is better to localize it in a 'begin' file. Also, it is not good to copy the contents of the whole resource file in the Tcl script and make only several modifications in it. It is better to organize file parsing and copying with modification filter. In such way it will be evident which parameters are changed. src/ShapeProcess/ShapeProcess_OperLibrary.cxx 738: It is more natural using ctx->BooleanVal without any casting. src/ShapeFix/ShapeFix_Face.hxx 106: "faces that has" => "faces that have" src/ShapeFix/ShapeFix_Face.lxx 47: incorrect name src/ShapeFix/ShapeFix_Face.cxx 819: here and in other places where you cast a shape use const& for the result variable to avoid copying. 1337,1564: calling Append destroys aNonOrientedWires, so you lose them in the result. 1342: no need to clear, it's been just created. 1358: I think checking of the condition "anIntMapWires.Size() == 1" is not needed here. For single inner wire It is enough to check "nbOriented == 1". 1571: transformation => modification 1585: for such large cycle please rename the iteration variable to something meaningful. 1678: nbNotSmall => nbOriented Please make wrapping of lines in proper places of the commit message to make it structured. |
|
Branch CR28414_0 has been updated forcibly by atereshi. SHA-1: 0489726a5a72aeb6f9bbeb6291a2aba5a16ded4b |
|
Branch CR28414_0 has been updated forcibly by atereshi. SHA-1: 972390494a4ccbf4cc4a3bd37b5c18000e84c7c3 |
|
Branch CR28414_0 has been updated by atereshi. SHA-1: 3d1dd1c20351f2044a42c9610e8f55e3b009ab87 Detailed log of new commits: Author: atereshi Date: Wed Sep 7 18:43:06 2022 +0300 // fix error Author: atereshi Date: Tue Sep 6 19:03:52 2022 +0300 // AddNaturalBoundIgnoreSingleInnerWire = 1 -> FixAddNaturalBoundMode = 0 |
|
Branch CR28414_0 has been updated by atereshi. SHA-1: bbe280de0389d9d4e333a760d67607a2835b0084 Detailed log of new commits: Author: atereshi Date: Thu Sep 8 13:03:23 2022 +0300 // the bug 24055 does not need any intervention |
|
Branch CR28414_0 has been updated forcibly by atereshi. SHA-1: 718b64a06a8e3831c6b847241ab9088f94d99f2d |
|
Galina, I've finish with this issue. There is no need to include a new flag (as we agreed earlier). And regulation of tests that have degraded is carried out using FixAddNaturalBoundMode flag. Such tests are: bugs modalg_7 bug30273 bugs xde bug6283 de iges_1 G8 de iges_1 J9 de step_1 E1 de step_1 E2 de step_1 G9 de step_2 B3 de step_2 Q5 de step_2 Q6 de step_3 B9 de step_3 C8 de step_3 E4 Some tests have image difference: de step_1 J6 - The problem is that the wire was initially set incorrectly (see Fig.) and because of the change in the order of FixOrientation and FixAddNaturalBound call, the wire has changed. bugs step bug24055 - There is no problem. The new image is correct - I have checked it with SolidWorks. On all closed surfaces (with one hole, with two holes, without holes) we need to add natural bound. The clockwise orientation of the wires is correct. On master branch we reverse wires on faces with one hole. de_step_1_J6_1.png (24,569 bytes) |
|
Andrey. Could you please provide results of analysis for each case of regression |
|
Branch CR28414_1 has been created by atereshi. SHA-1: 291d13113306987e0f74390bc97838cae86b806b Detailed log of new commits: Author: atereshi Date: Tue Sep 20 11:48:14 2022 +0300 // Change the ignoring wire reversing if-condition in FixOrientation. The torus test was added. |
|
test de iges_1 G8 OCCT model has inverted torus at the interface of the disc and flange SW model looks correct |
|
test de iges_1 J9 Both models have inverted torus |
|
Summary comparison table for problem tests torus_problem.docx (1,694,818 bytes) |
|
Branch CR28414_1 has been updated by atereshi. SHA-1: 1b731c018b30733ae3d425bdd4ab32cba36808dd Detailed log of new commits: Author: atereshi Date: Thu Sep 22 16:25:55 2022 +0300 // Added the exclusions for spherical surfaces |
|
Branch CR28414_1 has been updated by atereshi. SHA-1: 5e3c51bbfe26e03360d09b7432cb435972f11bcc Detailed log of new commits: Author: atereshi Date: Fri Sep 23 17:09:25 2022 +0300 // corrected the test with bad model |
|
Branch CR28414_1 has been updated forcibly by atereshi. SHA-1: 6d722aabb130591c1df51d550edbca22a1e2906c |
|
Branch CR28414_1 has been updated forcibly by atereshi. SHA-1: 83fad7ca0ddbddb40185fddbfa19c46f9b2badaf |
|
torus_problem-2.docx (2,064,659 bytes) |
|
Galina, Actual branch to review is CR28414_1. |
|
Branch CR28414_1 has been updated forcibly by atereshi. SHA-1: 918f1a26eba782f47da3ab5a6190cef7917a9727 |
|
Branch CR28414_1 has been reviewed |
|
IMPROVEMENT in test sat write bug28868_3 http://occt-tests/CR28414-master-atereshi-Products/Windows-64-VC14/sat/write/bug28868_3.html |
|
One of issure described in TODO didn't occur anymore. I removed it. |
|
Branch CR28414_1 has been reviewed |
|
Branch CR28414 has been deleted by mnt. SHA-1: 379d5d48ac4a0bca567115f3266bf08ee7f931d8 |
|
Branch CR28414_0 has been deleted by mnt. SHA-1: 718b64a06a8e3831c6b847241ab9088f94d99f2d |
|
Branch CR28414_1 has been deleted by mnt. SHA-1: 918f1a26eba782f47da3ab5a6190cef7917a9727 |
occt-products: master 69c19f64 2022-07-07 11:13:51
Committer: |
0028414: Data Exchange, STEP - Face on a closed surface with single inner wire and without natural bound not correctly read |
Affected Issues 0028414 |
|
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - tests/parasolid/read/C8 | Diff File | ||
mod - tests/sat/doc_1/H7 | Diff File | ||
mod - tests/sat/doc_6/D6 | Diff File | ||
mod - tests/sat/write/bug28868_3 | Diff File | ||
occt: master a453f9d1 2022-09-20 11:48:14
Committer: |
0028414: Data Exchange, STEP - Face on a closed surface with single inner wire and without natural bound not correctly read Problem: From the point of view of the STEP format (and others), it is allowed to describe a face on a surface with natural boundaries (torus, sphere) without specifying these boundaries. Thus, a face on a closed surface and containing an inner wire (or several) is correctly defined and describes a face with a cutout defined by this wire. At the same time, there is a function (ShapeFix_Face::FixOrientation) in the ShapeHealing procedure that corrects the orientation of the wires, and it starts before the function of adding natural boundaries (ShapeFix_Face::FixAddNaturalBound). There are many shapes that have incorrectly oriented wires and this procedure successfully heals them, but on a correctly specified face with single inner wire on closed surface, we do not get the entire surface with a cutout, but a part of the surface defined by the wire. This fix is intended to resolve this ambiguity. Change: 1. Added function isNeedAddNaturalBound that returns TRUE if face needs to add natural bounds. 2. Corrected condition in FixOrientation to ignoring faces that needs to add natural bounds. 3. For tests in which one wire was incorrectly oriented on a closed surface, flag AddNaturalBound was disabled. 5. Test with cutout from torus was created: bugs step bug28414. Result: By default, it is correct to add natural boundaries, because this case is correct from the point of view of the STEP format and others. |
Affected Issues 0028414 |
|
mod - src/ShapeFix/ShapeFix_Face.cxx | Diff File | ||
mod - src/ShapeFix/ShapeFix_Face.hxx | Diff File | ||
mod - tests/bugs/begin | Diff File | ||
mod - tests/bugs/modalg_7/bug30273 | Diff File | ||
add - tests/bugs/step/bug28414 | Diff File | ||
mod - tests/bugs/step/bug32922 | Diff File | ||
mod - tests/bugs/xde/bug6283 | Diff File | ||
mod - tests/de/begin | Diff File | ||
mod - tests/de/end | Diff File | ||
mod - tests/de/iges_1/G8 | Diff File | ||
mod - tests/de/iges_1/J9 | Diff File | ||
mod - tests/de/step_1/E1 | Diff File | ||
mod - tests/de/step_1/E2 | Diff File | ||
mod - tests/de/step_1/G9 | Diff File | ||
mod - tests/de/step_1/J6 | Diff File | ||
mod - tests/de/step_2/B3 | Diff File | ||
mod - tests/de/step_2/Q5 | Diff File | ||
mod - tests/de/step_2/Q6 | Diff File | ||
mod - tests/de/step_3/B9 | Diff File | ||
mod - tests/de/step_3/C8 | Diff File | ||
mod - tests/de/step_3/E4 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-01-30 19:28 | gdw | New Issue | |
2017-01-30 19:28 | gdw | Assigned To | => san |
2017-01-30 19:28 | gdw | File Added: StepBug.zip | |
2017-01-30 19:36 |
|
Assigned To | san => gka |
2017-01-30 19:36 |
|
Category | PRODUCTS:Volume Rendering => OCCT:Data Exchange |
2017-01-31 09:47 |
|
Note Added: 0063235 | |
2017-08-30 14:57 |
|
Test case number | => bugs step bug28414 |
2017-10-02 15:45 |
|
Test case number | bugs step bug28414 => Not required |
2018-01-02 12:25 | gdw | Note Added: 0073218 | |
2018-01-04 04:34 | eryar | Note Added: 0073228 | |
2018-04-28 12:56 | gdw | File Added: bug_tore.stp | |
2018-04-28 12:56 | gdw | Note Added: 0075740 | |
2018-05-01 17:33 | gdw | File Added: Capture d’écran 2018-05-01 à 16.32.27.png | |
2018-05-01 17:34 | gdw | File Added: Capture d’écran 2018-05-01 à 16.32.54.png | |
2018-05-01 17:39 | gdw | Note Added: 0075755 | |
2018-05-12 10:52 | gdw | Note Added: 0075949 | |
2018-05-18 08:16 | gdw | Note Added: 0076020 | |
2018-05-26 21:10 |
|
Target Version | => 7.4.0 |
2018-05-26 21:10 |
|
Relationship added | related to 0029564 |
2018-08-19 13:14 | gdw | Note Added: 0078684 | |
2019-09-04 15:36 |
|
Target Version | 7.4.0 => 7.5.0 |
2020-09-17 19:49 |
|
Target Version | 7.5.0 => 7.6.0 |
2020-11-12 13:54 |
|
Assigned To | gka => skl |
2020-11-12 13:54 |
|
Status | new => assigned |
2020-11-18 11:25 | git | Note Added: 0096872 | |
2020-11-18 11:40 | kgv | Summary | Step entity not correctly read. => Data Exchange - Step entity not correctly read |
2020-11-18 17:20 | git | Note Added: 0096888 | |
2020-11-21 06:56 | git | Note Added: 0096926 | |
2020-11-22 08:49 | git | Note Added: 0096991 | |
2020-11-23 17:46 | git | Note Added: 0097012 | |
2020-11-24 07:52 | git | Note Added: 0097019 | |
2020-11-24 15:14 | git | Note Added: 0097031 | |
2020-11-27 11:23 |
|
File Added: bug28414.stp | |
2020-11-27 11:25 |
|
Note Added: 0097105 | |
2020-11-27 11:32 | git | Note Added: 0097106 | |
2020-11-30 09:41 | git | Note Added: 0097147 | |
2020-11-30 09:51 | git | Note Added: 0097148 | |
2020-11-30 11:28 | git | Note Added: 0097152 | |
2020-11-30 11:49 | git | Note Added: 0097157 | |
2020-12-01 11:21 | git | Note Added: 0097188 | |
2020-12-01 11:24 |
|
Note Added: 0097189 | |
2020-12-01 11:24 |
|
Assigned To | skl => gka |
2020-12-01 11:24 |
|
Status | assigned => resolved |
2020-12-01 11:24 |
|
Steps to Reproduce Updated | |
2020-12-02 18:26 |
|
Note Added: 0097252 | |
2020-12-02 18:26 |
|
Assigned To | gka => skl |
2020-12-02 18:26 |
|
Status | resolved => assigned |
2020-12-03 10:05 | git | Note Added: 0097257 | |
2020-12-03 12:10 |
|
Note Added: 0097263 | |
2020-12-03 12:10 |
|
Assigned To | skl => gka |
2020-12-03 12:10 |
|
Status | assigned => resolved |
2020-12-04 12:47 |
|
Note Added: 0097316 | |
2020-12-04 12:47 |
|
Assigned To | gka => abv |
2020-12-04 12:47 |
|
Status | resolved => assigned |
2020-12-04 12:48 |
|
Assigned To | abv => gka |
2020-12-04 12:48 |
|
Status | assigned => resolved |
2020-12-09 13:49 |
|
Assigned To | gka => abv |
2020-12-12 07:45 |
|
Relationship added | related to 0027722 |
2021-11-01 18:16 |
|
Target Version | 7.6.0 => 7.7.0 |
2022-01-18 17:54 |
|
Assigned To | abv => ssafarov |
2022-01-18 17:54 |
|
Status | resolved => assigned |
2022-01-18 17:56 |
|
Note Added: 0106451 | |
2022-03-24 14:26 |
|
Assigned To | ssafarov => atereshi |
2022-03-24 14:27 |
|
Note Edited: 0106451 | |
2022-04-06 19:08 | git | Note Added: 0107668 | |
2022-04-11 16:55 | git | Note Added: 0107850 | |
2022-04-25 16:29 | git | Note Added: 0108160 | |
2022-04-26 10:45 | git | Note Added: 0108182 | |
2022-04-27 11:55 | git | Note Added: 0108218 | |
2022-04-27 14:03 | git | Note Added: 0108223 | |
2022-06-28 12:07 | git | Note Added: 0109330 | |
2022-06-28 12:22 | git | Note Added: 0109332 | |
2022-06-28 12:22 | git | Note Added: 0109333 | |
2022-06-29 14:12 | git | Note Added: 0109375 | |
2022-06-29 14:14 | git | Note Added: 0109377 | |
2022-06-29 14:17 | git | Note Added: 0109378 | |
2022-06-29 14:38 | git | Note Added: 0109380 | |
2022-06-29 14:39 | git | Note Added: 0109381 | |
2022-06-29 14:43 | git | Note Added: 0109382 | |
2022-06-29 14:46 | git | Note Added: 0109383 | |
2022-06-29 15:10 | git | Note Added: 0109384 | |
2022-07-01 09:28 | git | Note Added: 0109434 | |
2022-07-05 12:30 | git | Note Added: 0109562 | |
2022-07-07 11:14 | git | Note Added: 0109661 | |
2022-07-11 12:54 | git | Note Added: 0109753 | |
2022-07-12 11:05 | git | Note Added: 0109771 | |
2022-07-12 14:12 | git | Note Added: 0109779 | |
2022-07-13 11:58 |
|
Note Added: 0109795 | |
2022-07-13 11:59 |
|
Assigned To | atereshi => msv |
2022-07-13 11:59 |
|
Status | assigned => resolved |
2022-08-02 16:11 |
|
Note Added: 0110113 | |
2022-08-02 16:11 |
|
Assigned To | msv => atereshi |
2022-08-02 16:11 |
|
Status | resolved => assigned |
2022-08-10 10:23 | git | Note Added: 0110160 | |
2022-09-06 18:46 | git | Note Added: 0110768 | |
2022-09-07 18:43 | git | Note Added: 0110834 | |
2022-09-08 13:03 | git | Note Added: 0110859 | |
2022-09-08 16:56 | git | Note Added: 0110880 | |
2022-09-09 11:42 |
|
Note Added: 0110897 | |
2022-09-09 11:42 |
|
File Added: de_step_1_J6_1.png | |
2022-09-09 11:42 |
|
Assigned To | atereshi => gka |
2022-09-09 11:42 |
|
Status | assigned => resolved |
2022-09-19 15:03 |
|
Assigned To | gka => atereshi |
2022-09-19 15:03 |
|
Status | resolved => assigned |
2022-09-19 15:03 |
|
Note Added: 0111149 | |
2022-09-20 11:48 | git | Note Added: 0111154 | |
2022-09-20 15:04 |
|
Note Added: 0111158 | |
2022-09-20 15:04 |
|
File Added: 3D_OCCT_de_iges_1_G8.png | |
2022-09-20 15:04 |
|
File Added: 3D_SW_de_iges_1_G8.png | |
2022-09-20 15:05 |
|
Note Added: 0111159 | |
2022-09-20 15:05 |
|
File Added: 3D_OCCT_de_iges_1_J9.png | |
2022-09-20 15:05 |
|
File Added: 3D_SW_de_iges_1_J9.png | |
2022-09-21 11:14 |
|
File Deleted: 3D_SW_de_iges_1_J9.png | |
2022-09-21 11:14 |
|
File Deleted: 3D_OCCT_de_iges_1_J9.png | |
2022-09-21 11:14 |
|
File Deleted: 3D_SW_de_iges_1_G8.png | |
2022-09-21 11:15 |
|
File Deleted: 3D_OCCT_de_iges_1_G8.png | |
2022-09-21 11:18 |
|
Note Added: 0111167 | |
2022-09-21 11:18 |
|
File Added: torus_problem.docx | |
2022-09-22 16:31 | git | Note Added: 0111190 | |
2022-09-23 18:02 | git | Note Added: 0111233 | |
2022-09-26 13:09 | git | Note Added: 0111268 | |
2022-09-27 11:57 | git | Note Added: 0111275 | |
2022-09-29 12:40 |
|
Note Added: 0111308 | |
2022-09-29 12:40 |
|
File Added: torus_problem-2.docx | |
2022-10-05 12:25 |
|
Assigned To | atereshi => gka |
2022-10-05 12:25 |
|
Status | assigned => resolved |
2022-10-05 12:25 |
|
Note Added: 0111398 | |
2022-10-07 11:11 | git | Note Added: 0111426 | |
2022-10-07 11:55 |
|
Assigned To | gka => bugmaster |
2022-10-07 11:55 |
|
Status | resolved => reviewed |
2022-10-07 11:55 |
|
Note Added: 0111430 | |
2022-11-01 15:10 |
|
Assigned To | bugmaster => atereshi |
2022-11-01 15:10 |
|
Status | reviewed => assigned |
2022-11-01 15:10 |
|
Note Added: 0111814 | |
2022-11-01 15:34 |
|
Note Added: 0111816 | |
2022-11-01 15:34 |
|
Assigned To | atereshi => gka |
2022-11-01 15:34 |
|
Status | assigned => resolved |
2022-11-01 17:33 |
|
Assigned To | gka => bugmaster |
2022-11-01 17:33 |
|
Status | resolved => reviewed |
2022-11-01 17:33 |
|
Note Added: 0111824 | |
2022-11-02 13:39 |
|
Status | reviewed => tested |
2022-11-02 13:46 |
|
Changeset attached | => occt master a453f9d1 |
2022-11-02 13:46 |
|
Assigned To | bugmaster => atereshi |
2022-11-02 13:46 |
|
Status | tested => verified |
2022-11-02 13:46 |
|
Resolution | open => fixed |
2022-11-02 13:52 | git | Note Added: 0111848 | |
2022-11-02 13:52 | git | Note Added: 0111849 | |
2022-11-02 13:52 | git | Note Added: 0111850 | |
2022-11-20 22:08 |
|
Changeset attached | => occt-products master 69c19f64 |
2022-11-30 17:05 | dpasukhi | Relationship added | related to 0033221 |
2022-11-30 17:10 | dpasukhi | Relationship added | related to 0028024 |
2023-03-19 23:02 | vglukhik | Status | verified => closed |
2023-03-19 23:02 | vglukhik | Fixed in Version | => 7.7.0 |
2023-05-17 19:21 | dpasukhi | Relationship added | related to 0033386 |