View Issue Details

IDProjectCategoryView StatusLast Update
0024313CommunityOCCT:Modeling Algorithmspublic2013-12-19 13:59
ReporterAaron Michalk Assigned Tobugmaster  
PriorityhighSeveritymajor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2010 
Product Version6.5.5 
Target Version6.7.0Fixed in Version6.7.0 
Summary0024313: BRepAlgoAPI_Section and IntTools_FaceFace aren't written to handle Geom_SurfaceOfLinearExtrusion
DescriptionExecuting the code below results in a Standard_ConstructionError. It appears that any Geom_SurfaceOfLinearExtrusion has the same result.
Steps To Reproduce1.
gp_Ax2 axes1(gp_Pnt(0, 0, 0),
             gp_Dir(0, 0, 1),
             gp_Dir(1, 0, 0));
Handle(Geom_Circle) curve1(new Geom_Circle(axes1, 100));
Handle(Geom_SurfaceOfLinearExtrusion) surface1(new Geom_SurfaceOfLinearExtrusion(curve1, gp_Dir(0, 0, 1)));
Handle_Geom_Plane surface2(new Geom_Plane(gp_Ax3(gp_Pnt(0, 0, 0),
                                                 gp_Dir(1, 0, 0),
                                                 gp_Dir(0, 1, 0))));
TopoDS_Shape section = BRepAlgoAPI_Section(surface1, surface2);

2. draw script:
circle c 0 0 0 0 0 1 1 0 0 100
extsurf s1 c 0 0 1
plane s2 0 0 0 1 0 0 0 1 0
intersect i s1 s2
mkface b1 s1
mkface b2 s2
bopcurves b1 b2
bsection r b1 b2

TagsNo tags attached.
Test case numberbugs modalg_5(010) bug24313

Activities

ifv

2013-11-15 16:21

developer   ~0026664

Dear Eugene,
you can have a look at branch CR24313, pushed in repository.
This fix removes exception only, but problem remains:
command bopcurves now produces intersection curves,
but bsection does not produce result.

emv

2013-11-22 09:52

developer   ~0026833

Last edited: 2013-11-22 11:02

1. To create the section between faces we need to put at least two vertices (one vertex for closed curves) on the intersection curve. In the described case the result of intersection is two infinite lines. But there is no vertices, neither existing nor created in the result of intersection, in these faces. Thus, section cannot be created for these faces.
For example:
a.little modification of the described case:
circle c 0 0 0 0 0 1 1 0 0 100
extsurf s1 c 0 0 1
plane s2 0 0 0 0 0 1
intersect i s1 s2
mkface b1 s1
mkface b2 s2
bsection r b1 b2
#section is created
b. planes
plane p1 0 0 0 0 0 1
plane p2 0 0 0 1 0 0
intersect i p1 p2
mkface b1 p1
mkface b2 p2
bopcurves b1 b2
bsection r b1 b2
#no section
2. Even if these infinite edges are created, what is the practical use of them?

ifv

2013-11-22 11:39

developer   ~0026838

If we can create and operate by infinite faces made from unrestricted planes, for example, why we cannot to create and operate infinite edges without vertices?

emv

2013-11-29 14:03

developer   ~0027001

Infinite edges without vertices can be created from infinite curves:
 circle c 0 0 0 0 0 1 1 0 0 100
 extsurf s1 c 0 0 1
 plane s2 0 0 0 1 0 0 0 1 0
 intersect i s1 s2
 mkedge e1 i_1
 mkedge e2 i_2

But the Boolean Operation algorithm does not produce such edges. This is the limitation of the algorithm.
What is the practical use of these infinite shapes?

ifv

2013-11-29 14:18

developer   ~0027002

Ok
Please review my fix: branch CR24313.

emv

2013-11-29 14:50

developer   ~0027004

Dear Igor,
There is a problem with formating in the fix (two additional space at the beginning of most lines in MakeCurve function).

ifv

2013-11-29 18:32

developer   ~0027012

Try to review again CR24313

emv

2013-11-29 18:51

developer   ~0027015

No remarks. Please test.

mkv

2013-12-03 11:33

tester   ~0027042

Dear BugMaster,

Branch CR24313 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
SHA-1: 4993ec406489c64b1a13afccb1d27bffa30a16a8

Number of compiler warnings:

occt component :
Linux: 102 (103 on master)
Windows: 0 (0 on master)

products component :
Linux: 188 (188 on master)
Windows: 237 (237 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
http://occt-tests/CR24313-master-occt/Debian60-64/bugs/modalg_5/bug24313.html
http://occt-tests/CR24313-master-occt/Windows-32-VC9/bugs/modalg_5/bug24313.html
bugs modalg_5(010) bug24313: OK

Testing on Linux:
Total MEMORY difference: 358750024 / 358750932
Total CPU difference: 42295.630000000136 / 45679.480000000185

Testing on Windows:
Total MEMORY difference: 413271596 / 412514556
Total CPU difference: 31311.796875 / 33995.90625

There are not differences in images found by testdiff.

Related Changesets

occt: master 94218044

2013-12-05 11:16:11

ifv


Committer: bugmaster Details Diff
0024313: BRepAlgoAPI_Section and IntTools_FaceFace aren't written to handle Geom_SurfaceOfLinearExtrusion

Test case for issue CR24313
Affected Issues
0024313
mod - src/IntTools/IntTools_FaceFace.cxx Diff File
add - tests/bugs/modalg_5/bug24313 Diff File

Issue History

Date Modified Username Field Change
2013-11-02 18:52 Aaron Michalk New Issue
2013-11-02 18:52 Aaron Michalk Assigned To => ifv
2013-11-15 16:21 ifv Note Added: 0026664
2013-11-15 16:21 ifv Assigned To ifv => emv
2013-11-15 16:21 ifv Status new => assigned
2013-11-22 09:07 emv Steps to Reproduce Updated
2013-11-22 09:52 emv Note Added: 0026833
2013-11-22 09:53 emv Note Edited: 0026833
2013-11-22 09:53 emv Assigned To emv => ifv
2013-11-22 11:02 emv Note Edited: 0026833
2013-11-22 11:39 ifv Note Added: 0026838
2013-11-22 11:39 ifv Assigned To ifv => emv
2013-11-22 11:39 ifv Status assigned => feedback
2013-11-29 14:03 emv Note Added: 0027001
2013-11-29 14:18 ifv Note Added: 0027002
2013-11-29 14:18 ifv Status feedback => resolved
2013-11-29 14:50 emv Note Added: 0027004
2013-11-29 14:50 emv Assigned To emv => ifv
2013-11-29 14:50 emv Status resolved => assigned
2013-11-29 18:32 ifv Note Added: 0027012
2013-11-29 18:32 ifv Assigned To ifv => emv
2013-11-29 18:32 ifv Status assigned => resolved
2013-11-29 18:51 emv Note Added: 0027015
2013-11-29 18:51 emv Assigned To emv => mkv
2013-11-29 18:51 emv Status resolved => reviewed
2013-12-03 11:33 mkv Note Added: 0027042
2013-12-03 11:36 mkv Test case number => bugs modalg_5(010) bug24313
2013-12-03 11:36 mkv Assigned To mkv => bugmaster
2013-12-03 11:36 mkv Status reviewed => tested
2013-12-06 17:57 bugmaster Changeset attached => occt master 94218044
2013-12-06 17:57 bugmaster Status tested => verified
2013-12-06 17:57 bugmaster Resolution open => fixed
2013-12-09 12:02 bugmaster Target Version => 6.7.0
2013-12-19 13:50 bugmaster Status verified => closed
2013-12-19 13:59 bugmaster Fixed in Version => 6.7.0