MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0023622Community[OCCT] OCCT:Data Exchangepublic2012-12-05 21:122013-04-29 15:22
ReporterRoman Lygin 
Assigned ToRoman Lygin 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformAOSLOS VersionL
Product Version[OCCT] 6.5.4 
Target Version[OCCT] 6.6.0Fixed in Version[OCCT] 6.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 Fileszip file icon seatmotor2.zip (75,980 bytes) 2012-12-05 21:12
png file icon s1_397.png (27,908 bytes) 2012-12-05 21:13
png file icon s0_397.png (20,375 bytes) 2012-12-05 21:13

- Relationships

-  Notes
(0022577)
Roman Lygin (developer)
2012-12-05 22:06

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.
(0022581)
gka (developer)
2012-12-06 10:24

Branch CR23622 is ready to be tested
(0022835)
mkv (tester)
2012-12-25 17:07

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
Timestamp: 2012-12-28 14:11:58
Author: Roman Lygin
Details ] Diff ]
0023622: IGES import produces invalid shape with parameter read.iges.bspline.continuity=0
Adding test cases for this fix
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 user533 Status verified => closed
2013-04-29 15:22 user533 Fixed in Version => 6.6.0


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker