MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0027674Community[OCCT] OCCT:Modeling Algorithmspublic2016-07-13 06:532017-09-29 16:31
ReporterVico Liang 
Assigned Toapn 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 6.9.1 
Target Version[OCCT] 7.2.0Fixed in Version[OCCT] 7.2.0 
Summary0027674: BRepOffsetAPI_ThruSections make invalid shape if sections are connected at ends
DescriptionBRepOffsetAPI_ThruSections aLoft(Standard_False, Standard_False, Precision::Confusion());
aLoft.SetParType(Approx_ChordLength);
aLoft.SetContinuity(GeomAbs_C2);
aLoft.SetSmoothing(Standard_True);
aLoft.CheckCompatibility(Standard_True);

// Load the file CircleLineWires.brep to get two wires of aLine and aSemiCircle
aLoft.AddWire(TopoDS::Wire(aLine));
aLoft.AddWire(TopoDS::Wire(aSemiCicle));
aLoft.Build();

BRepCheck_Analyzer aCheck(aLoft.Shape());
if (!aCheck.IsValid())
{
    // Invalid SameParameterFlag
}

Steps To Reproducerestore CircleLineWires.brep a
explode a
wire w a_1 a_2
explode w
wire a1 w_1
wire a2 w_2
thrusections r 0 0 a1 a2
checkshape r
TagsNo tags attached.
Test case numberbugs modalg_6 bug27674
Attached Files? file icon CircleLineWires.brep (742 bytes) 2016-07-13 06:53
png file icon CircleLineWires.png (5,743 bytes) 2016-07-13 06:56

- Relationships

-  Notes
(0055876)
Vico Liang (developer)
2016-07-13 07:00

There are two very small edges generated at two ends and they can be treated as degenerated edges. The issue is that the two small edges IsSameParameterFlag are invalid.
(0055896)
msv (developer)
2016-07-13 20:21

In master version checkshape does not find any faulty in the result.
However, the result is not good.
Indeed, small edges, 3d curve of which have length much less than 1e-7, are needed to be degenerated. I.e., if we remove 3d curves from them and declare them degenerated the result would be OK... but each of these edges is constructed on two different vertices having the same coordinates.
So, in order to make the result good it is needed to provide merging of coinciding vertices. I think it must do the calling algorithm. I.e., before call to thrusections, it is needed to merge coinciding vertices. E.g., it can be done with BRepBuilderAPI_MakeWire (or draw command wire).
(0055902)
Vico Liang (developer)
2016-07-14 11:15

Dear msv, i agree with your solution. I think Merging coincident vertices should be done inside thrusections algorithm. Caller does no need such preprocessing.
(0060711)
git (administrator)
2016-11-23 11:18

Branch CR27674 has been created by aka.

SHA-1: 1191724c908f481ca6a9c3fb642463c3a6aafcbd


Detailed log of new commits:

Author: aka
Date: Tue Nov 22 15:32:55 2016 +0300

    0027674: BRepOffsetAPI_ThruSections make invalid shape if sections are connected at ends
    
    The edges which has length much less than 1e-7 will be created as degenerated and without 3d curve.
(0060731)
git (administrator)
2016-11-23 15:38

Branch CR27674 has been updated by aka.

SHA-1: 4114939ef65cca044d65a66b780878bbc287aea0


Detailed log of new commits:

Author: aka
Date: Wed Nov 23 15:38:00 2016 +0300

    Some changes were made in the fix

(0060734)
git (administrator)
2016-11-23 16:23

Branch CR27674 has been updated forcibly by aka.

SHA-1: 30a6cf44fe906e075cba3ec602843c85b7df6357
(0060737)
git (administrator)
2016-11-23 16:56

Branch CR27674 has been updated forcibly by msv.

SHA-1: 189000c33a4c77bfcee1c4a484db43e264ecd401
(0060738)
msv (developer)
2016-11-23 16:57

Reviewed.
(0060782)
git (administrator)
2016-11-25 17:31

Branch CR27674 has been updated forcibly by mkv.

SHA-1: de3d036777296bc7a151cb986227ca70c011d948
(0060822)
mkv (tester)
2016-11-28 17:24

Dear BugMaster,
Branch CR27674 was rebased on current master of occt git-repository.
SHA-1: de3d036777296bc7a151cb986227ca70c011d948
(0060823)
mkv (tester)
2016-11-28 17:25

Dear BugMaster,
Branch CR27674 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: de3d036777296bc7a151cb986227ca70c011d948

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)

products component :
Linux: 63 (63 on master)
Windows: 0 (0 on master)
MacOS : 1133

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
http://occt-tests/CR27674-master-OCCT/Debian70-64/bugs/modalg_6/bug27674.html [^]
http://occt-tests/CR27674-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27674.html [^]
bugs modalg_6 bug27674: OK

Testing on Linux:
occt component :
Total MEMORY difference: 91008062 / 91874472 [-0.94%]
Total CPU difference: 21745.73000000018 / 21686.28000000021 [+0.27%]
products component :
Total MEMORY difference: 30007155 / 29987174 [+0.07%]
Total CPU difference: 5341.849999999974 / 5306.77999999998 [+0.66%]

Testing on Windows:
occt component :
Total MEMORY difference: 56921172 / 56927644 [-0.01%]
Total CPU difference: 20349.98724779853 / 19742.815755698448 [+3.08%]
products component :
Total MEMORY difference: 20841231 / 20807990 [+0.16%]
Total CPU difference: 5294.658339899981 / 5163.945101999975 [+2.53%]

There are no differences in images found by testdiff.
(0060824)
git (administrator)
2016-11-28 17:25

Branch CR27674 has been updated by mkv.

SHA-1: 9dbcf51543a2789b4c0cf356da41ecb462eacc94


Detailed log of new commits:

Author: mkv
Date: Mon Nov 28 17:23:43 2016 +0300

    Small correction of test case for issue CR27674

(0060825)
mkv (tester)
2016-11-28 17:26

Dear BugMaster,
Branch CR27674 is TESTED.
(0061785)
git (administrator)
2016-12-18 10:53

Branch CR27674 has been deleted by kgv.

SHA-1: 9dbcf51543a2789b4c0cf356da41ecb462eacc94

- Related Changesets
occt: master 851f8701
Timestamp: 2016-12-08 13:22:13
Author: aka
Committer: apn
Details ] Diff ]
0027674: BRepOffsetAPI_ThruSections make invalid shape if sections are connected at ends

The edge which will be created between same vertexes should be degenerated and without 3d curve.

Small correction of test case for issue CR27674
mod - src/BRepFill/BRepFill_Generator.cxx Diff ] File ]
add - tests/bugs/modalg_6/bug27674 Diff ] File ]

- Issue History
Date Modified Username Field Change
2016-07-13 06:53 Vico Liang New Issue
2016-07-13 06:53 Vico Liang Assigned To => msv
2016-07-13 06:53 Vico Liang File Added: CircleLineWires.brep
2016-07-13 06:56 Vico Liang File Added: CircleLineWires.png
2016-07-13 07:00 Vico Liang Note Added: 0055876
2016-07-13 07:06 Vico Liang Product Version => 6.9.1
2016-07-13 07:06 Vico Liang Description Updated View Revisions
2016-07-13 20:21 msv Note Added: 0055896
2016-07-13 20:21 msv Steps to Reproduce Updated View Revisions
2016-07-14 11:15 Vico Liang Note Added: 0055902
2016-07-14 18:12 msv Assigned To msv => aka
2016-07-14 18:12 msv Status new => assigned
2016-10-28 15:44 msv Target Version 7.1.0 => 7.2.0
2016-11-23 11:18 git Note Added: 0060711
2016-11-23 11:18 aka Assigned To aka => msv
2016-11-23 11:18 aka Status assigned => resolved
2016-11-23 15:38 git Note Added: 0060731
2016-11-23 16:23 git Note Added: 0060734
2016-11-23 16:56 git Note Added: 0060737
2016-11-23 16:57 msv Note Added: 0060738
2016-11-23 16:57 msv Assigned To msv => bugmaster
2016-11-23 16:57 msv Status resolved => reviewed
2016-11-25 17:31 git Note Added: 0060782
2016-11-25 18:03 mkv Assigned To bugmaster => mkv
2016-11-28 17:24 mkv Note Added: 0060822
2016-11-28 17:25 mkv Note Added: 0060823
2016-11-28 17:25 git Note Added: 0060824
2016-11-28 17:26 mkv Note Added: 0060825
2016-11-28 17:26 mkv Assigned To mkv => bugmaster
2016-11-28 17:26 mkv Status reviewed => tested
2016-11-28 17:26 mkv Test case number => bugs modalg_6 bug27674
2016-12-09 16:46 apn Changeset attached => occt master 851f8701
2016-12-09 16:46 apn Assigned To bugmaster => apn
2016-12-09 16:46 apn Status tested => verified
2016-12-09 16:46 apn Resolution open => fixed
2016-12-18 10:53 git Note Added: 0061785
2017-09-29 16:21 user533 Fixed in Version => 7.2.0
2017-09-29 16:31 user533 Status verified => closed


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker