View Issue Details

IDProjectCategoryView StatusLast Update
0032818CommunityOCCT:Modeling Algorithmspublic2022-12-05 00:25
ReporterManycore Assigned Tovglukhik  
PrioritynormalSeverityminor 
Status verifiedResolutionfixed 
PlatformWindowsOSVC++ 2015 
Product Version7.6.0 
Target Version7.8.0 
Summary0032818: Modeling Algorithms - Result of sweep operation is invalid
DescriptionBRepOffsetAPI_MakePipeShell with the attached path and profile does not build correct on 7.6.0 version.
Steps To Reproduce
TopoDS_Shape Sh1;
TopoDS_Shape Sh2;
BRep_Builder B;
bool b1 = BRepTools::Read(Sh1, "D:\\path.brep", B);
bool b2 = BRepTools::Read(Sh2, "D:\\profile.brep", B);

const TopoDS_Wire& path = TopoDS::Wire(Sh1);
const TopoDS_Wire& profile= TopoDS::Wire(Sh2);
BRepOffsetAPI_MakePipeShell shellMaker(path);
shellMaker.SetTransitionMode(static_cast<BRepBuilderAPI_TransitionMode>(2));
shellMaker.Add(profile, /*WithContact*/false, /*WithCorrection*/true);
shellMaker.Build();
const TopoDS_Shape& shape = shellMaker.Shape();


Or
run "test pipe bugs bug32818"
TagsNo tags attached.
Test case number\tests\pipe\bugs\bug32818

Attached Files

  • sweep_result_is_not_vaild.png (8,459 bytes)
  • path.brep (1,016 bytes)
  • profile.brep (3,925 bytes)

Relationships

related to 0032811 assignedifv Bad result of sweep operation due to Surface Surface Intersect Bug 

Activities

Manycore

2022-02-07 10:40

developer  

sweep_result_is_not_vaild.png (8,459 bytes)

Manycore

2022-02-07 10:41

developer   ~0106771

path.brep (1,016 bytes)
profile.brep (3,925 bytes)

Manycore

2022-02-09 08:02

developer   ~0106809

https://tracker.dev.opencascade.org/view.php?id=32811

CR32811 Round Corner mode also failed due to same reason

git

2022-02-09 08:27

administrator   ~0106810

Branch CR32818 has been created by Manycore.

SHA-1: b3d67ace47ca018da083f95030e58e98e7bdb2ac


Detailed log of new commits:

Author: gelin
Date: Wed Feb 9 13:26:39 2022 +0800

    0032818: Modeling Algorithms - Result of sweep operation is invalid

Manycore

2022-02-09 08:41

developer   ~0106811

Dear @msv, please help review the code. CR32809 CR32807 are not reviewed yet

msv

2022-02-09 09:49

developer   ~0106812

I have assigned it for review to the expert in this algorithm. All bugs will be processed in the order of actual priority.

szy

2022-10-17 17:48

manager   ~0111610

Mikhail,
Find, please a reviewer for the issue.

msv

2022-10-17 18:42

developer   ~0111614

@ifv, please review and test this patch, and change it if needed.

git

2022-10-25 11:23

administrator   ~0111741

Branch CR32818 has been updated forcibly by ifv.

SHA-1: c7f21de105da753d632656cc6baabedfcdc2f569

git

2022-11-02 10:44

administrator   ~0111832

Branch CR32818 has been updated forcibly by ifv.

SHA-1: 27fab143e2e2187992da6c905dc0538fb026d00e

git

2022-11-07 08:01

administrator   ~0111907

Branch CR32818 has been updated forcibly by ifv.

SHA-1: af7204a760c6e704b53c9fdecdf0a59869956012

ifv

2022-11-08 09:15

developer   ~0111927

Branch CR32818 is ready for review


Test results
http://jenkins-test-08.nnov.opencascade.com/view/CR32818-master-ifv/view/COMPARE/

emv

2022-11-08 11:30

developer   ~0111935

I think this
         p11 = P1.Distance(BRep_Tool::Pnt(TopExp::FirstVertex(TopoDS::Edge(fit == 1 ? aE1 : aE2))));
         p22 = P2.Distance(BRep_Tool::Pnt(TopExp::LastVertex(TopoDS::Edge(fit == 1 ? aE1 : aE2))));
         p12 = P1.Distance(BRep_Tool::Pnt(TopExp::LastVertex(TopoDS::Edge(fit == 1 ? aE1 : aE2))));
         p21 = P2.Distance(BRep_Tool::Pnt(TopExp::FirstVertex(TopoDS::Edge(fit == 1 ? aE1 : aE2))));

could be simplified a bit by choosing the ref edge first
         TopoDS_Edge aERef = TopoDS::Edge(fit == 1 ? aE1 : aE2);
         p11 = P1.Distance(BRep_Tool::Pnt(TopExp::FirstVertex(aERef)));
         p22 = P2.Distance(BRep_Tool::Pnt(TopExp::LastVertex(aERef)));
         p12 = P1.Distance(BRep_Tool::Pnt(TopExp::LastVertex(aERef)));
         p21 = P2.Distance(BRep_Tool::Pnt(TopExp::FirstVertex(aERef)));


Indentation of the whole new block seems to be incorrect.

Also huge number of differences in images in test results. Please check if the results are compared with the correct version.

git

2022-11-17 09:48

administrator   ~0112140

Branch CR32818 has been updated forcibly by ifv.

SHA-1: b391a95e36cbe9355041dfe46474fe965890824f

ifv

2022-11-17 14:23

developer   ~0112155

Branch CR32818 is ready for review


Test results
http://jenkins-test-08.nnov.opencascade.com/view/CR32818-master-ifv/view/COMPARE/

emv

2022-11-18 09:18

developer   ~0112163

No remarks to the code, except probably for the test case - does it make sense to add an image dump?
I wonder, why are there so many differences in images in products? It is unlikely that IFC and OMF are using sweep algo. Wrong refs again?

ifv

2022-11-18 10:48

developer   ~0112164

I think, that image is not needed for this case. Checking shape and number of subshapes is quite enough.
Of course, sweep algo is not used in IFC and OMF tests. Now IFC is in process of changing, ask @smoskvin for details.
For reference I only use branch, which is suggested by jenkins.

emv

2022-11-18 12:47

developer   ~0112169

Ok, Reviewed then.

Please integrate CR32818 into OCCT.

Related Changesets

occt: master db2bfd1e

2022-02-09 08:26:39

gelin


Committer: vglukhik Details Diff
0032818: Modeling Algorithms - Result of sweep operation is invalid

BRepFill_TrimShellCorner.cxx - setting correct orientation for NewEdge
tests/pipe/bugs/bug32818 - new test case added
Affected Issues
0032818
mod - src/BRepFill/BRepFill_TrimShellCorner.cxx Diff File
add - tests/pipe/bugs/bug32818 Diff File

Issue History

Date Modified Username Field Change
2022-02-07 10:40 Manycore New Issue
2022-02-07 10:40 Manycore Assigned To => Manycore
2022-02-07 10:40 Manycore File Added: sweep_result_is_not_vaild.png
2022-02-07 10:41 Manycore Note Added: 0106771
2022-02-07 10:41 Manycore File Added: path.brep
2022-02-07 10:41 Manycore File Added: profile.brep
2022-02-07 10:41 kgv Summary Result of sweep operation is invalid => Modeling Algorithms - Result of sweep operation is invalid
2022-02-07 10:41 kgv Steps to Reproduce Updated
2022-02-09 08:02 Manycore Note Added: 0106809
2022-02-09 08:25 Manycore Test case number => \tests\pipe\bugs\bug32811
2022-02-09 08:27 git Note Added: 0106810
2022-02-09 08:32 Manycore Assigned To Manycore => msv
2022-02-09 08:32 Manycore Status new => resolved
2022-02-09 08:35 Manycore Steps to Reproduce Updated
2022-02-09 08:41 Manycore Note Added: 0106811
2022-02-09 09:47 msv Assigned To msv => jgv
2022-02-09 09:49 msv Note Added: 0106812
2022-02-09 14:51 kgv Relationship added related to 0032811
2022-10-17 17:48 szy Assigned To jgv => msv
2022-10-17 17:48 szy Note Added: 0111610
2022-10-17 18:41 msv Assigned To msv => ifv
2022-10-17 18:42 msv Note Added: 0111614
2022-10-24 10:27 szy Target Version 7.7.0 => 7.8.0
2022-10-25 11:23 git Note Added: 0111741
2022-11-02 10:44 git Note Added: 0111832
2022-11-07 07:59 ifv Test case number \tests\pipe\bugs\bug32811 => \tests\pipe\bugs\bug32818
2022-11-07 08:00 ifv Status resolved => assigned
2022-11-07 08:01 git Note Added: 0111907
2022-11-08 09:15 ifv Assigned To ifv => msv
2022-11-08 09:15 ifv Status assigned => resolved
2022-11-08 09:15 ifv Steps to Reproduce Updated
2022-11-08 09:15 ifv Note Added: 0111927
2022-11-08 10:01 msv Assigned To msv => emv
2022-11-08 11:30 emv Assigned To emv => ifv
2022-11-08 11:30 emv Status resolved => assigned
2022-11-08 11:30 emv Note Added: 0111935
2022-11-17 09:48 git Note Added: 0112140
2022-11-17 14:23 ifv Assigned To ifv => emv
2022-11-17 14:23 ifv Status assigned => resolved
2022-11-17 14:23 ifv Note Added: 0112155
2022-11-18 09:18 emv Note Added: 0112163
2022-11-18 10:48 ifv Note Added: 0112164
2022-11-18 12:47 emv Assigned To emv => bugmaster
2022-11-18 12:47 emv Status resolved => reviewed
2022-11-18 12:47 emv Note Added: 0112169
2022-12-04 13:30 smoskvin Status reviewed => tested
2022-12-05 00:25 vglukhik Changeset attached => occt master db2bfd1e
2022-12-05 00:25 vglukhik Assigned To bugmaster => vglukhik
2022-12-05 00:25 vglukhik Status tested => verified
2022-12-05 00:25 vglukhik Resolution open => fixed