View Issue Details

IDProjectCategoryView StatusLast Update
0023622CommunityOCCT:Data Exchangepublic2013-04-29 15:22
ReporterRoman Lygin Assigned ToRoman Lygin  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformAOSL 
Product Version6.5.4 
Target Version6.6.0Fixed in Version6.6.0 
Summary0023622: IGES import produces invalid shape with parameter read.iges.bspline.continuity=0
DescriptionWhen read.iges.bspline.continuity set to 0 (with Interface_Static::SetCVal()), the BSplineSurface is not enforced to become periodic if it is closed what is done when it's set to 1. In some cases (e.g. seatmotor2.igs, entity 397) this leads to wrong resulting shape after Shape Healing. Instead of added missing seam the face is split into a compound of 2 invalid faces.
Steps To Reproduceigesbrep seatmotor.igs s1
select 3, then 397
# visually OK
numshapes s1_397 0000001 face
tolerance s1_s397 #about 0.015

param read.iges.bspline.continuity 0
igesbrep . s0
select 3, then 397
# visually wrong (no pcurves)
numshapes s0_397 0000002 faces
tolerance s0_s397 #about 13.8
TagsNo tags attached.
Test case numberbugs iges(003) bug23622_1, bug23622_2

Attached Files

  • seatmotor2.zip (75,980 bytes)
  • s1_397.png (27,908 bytes)
  • s0_397.png (20,375 bytes)

Activities

Roman Lygin

2012-12-05 21:12

developer  

seatmotor2.zip (75,980 bytes)

Roman Lygin

2012-12-05 21:13

developer  

s1_397.png (27,908 bytes)

Roman Lygin

2012-12-05 21:13

developer  

s0_397.png (20,375 bytes)

Roman Lygin

2012-12-05 22:06

developer   ~0022577

Pushed into git repository as branch CR23622.

Note also that the legacy code in IGESToBRep_BasicSurface::TransferBSplineSurface
(const Handle(IGESGeom_BSplineSurface)&) right below the fix only applies to icont==2 (due to wrong if-else clauses). This is a long dated bug not addressed as part of this CR.
IGESToBRep_BasicCurve works both for icont==1 and 2 cases, so the fix for surface would be similar:
IGESConvGeom::IncreaseSurfaceContinuity (res, GetEpsGeom(), GetContinuity());

Consider addressing as part of another CR, if you deem appropriate.

gka

2012-12-06 10:24

developer   ~0022581

Branch CR23622 is ready to be tested

mkv

2012-12-25 17:07

tester   ~0022835

Dear BugMaster,

Branch CR23622 (and products from GIT master) was compiled on Linux and
Windows platforms and tested.

Regressions:
Not detected

Improvements:
Not detected

Testing cases:
bugs iges(003) bug23622_1, bug23622_2 - OK.

Related Changesets

occt: master c888deca

2012-12-28 14:11:58

Roman Lygin

Details Diff
0023622: IGES import produces invalid shape with parameter read.iges.bspline.continuity=0
Adding test cases for this fix
Affected Issues
0023622
mod - src/IGESToBRep/IGESToBRep_BasicSurface.cxx Diff File
add - tests/bugs/iges/bug23622_1 Diff File
add - tests/bugs/iges/bug23622_2 Diff File

Issue History

Date Modified Username Field Change
2012-12-05 21:12 Roman Lygin New Issue
2012-12-05 21:12 Roman Lygin Assigned To => gka
2012-12-05 21:12 Roman Lygin File Added: seatmotor2.zip
2012-12-05 21:13 Roman Lygin File Added: s1_397.png
2012-12-05 21:13 Roman Lygin File Added: s0_397.png
2012-12-05 22:06 Roman Lygin Note Added: 0022577
2012-12-05 22:06 Roman Lygin Status new => resolved
2012-12-06 10:24 gka Note Added: 0022581
2012-12-06 10:24 gka Status resolved => reviewed
2012-12-07 18:17 mkv Assigned To gka => mkv
2012-12-25 17:07 mkv Note Added: 0022835
2012-12-25 17:07 mkv Test case number => bugs iges(003) bug23622_1, bug23622_2
2012-12-25 17:07 mkv Assigned To mkv => bugmaster
2012-12-25 17:07 mkv Status reviewed => tested
2013-01-04 11:35 Roman Lygin Changeset attached => occt master c888deca
2013-01-04 11:35 Roman Lygin Assigned To bugmaster => Roman Lygin
2013-01-04 11:35 Roman Lygin Status tested => verified
2013-01-04 11:35 Roman Lygin Resolution open => fixed
2013-02-20 10:19 bugmaster Target Version => 6.6.0
2013-04-23 13:36 aiv Status verified => closed
2013-04-29 15:22 aiv Fixed in Version => 6.6.0