View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0022910||Community||OCCT:Modeling Data||public||2012-01-17 17:56||2012-03-29 17:26|
|Reporter||Roman Lygin||Assigned To||bugmaster|
|Target Version||6.5.3||Fixed in Version||6.5.3|
|Summary||0022910: Failure to compute iso-line for NURBS surface|
> pload MODELING
> restore s.rle s
> uiso u s 0.5
An exception was caught 005656AC : Standard_ConstructionError: Geom_BSplineCurve
** Exception ** 005656AC : Standard_ConstructionError: Geom_BSplineCurve
For creating a B-Spline curve the negative weights are supplied what causes an exception.
Tested on OCC 6.5.0 and 6.5.1, Windows, 32 bit.
Also reproduced on 6.5.2
|Tags||No tags attached.|
|Test case number||chl 934 P4|
surf.zip (4,257 bytes)
||Please put off analysis of this issue. This can be not a bug as U-range is [1.8,2.8], i.e 0.5 is out of that. The problem comes from BRepMesh which is called from Visualization. So, the problem can be upstream.|
Here is a more correct reproducer:
> pload MODELING
> restore s.rle s
> mkface f s
> incmesh f 0.0038476968063336017
# the latter is similar to visualization in shading :
#> vdisplay f
#> vsetdispmode f 1
The problem is in GeomLib::NormEstim() in line 2404:
Standard_Real par = .5*(bid2-bid1);
it must be:
Standard_Real par = .5*(bid2+bid1);
to compute average parameter.
With this fix everything works OK.
The surface has a singularity and this is why the buggy code branch in this function is different from one which works most of the time.
Please kindly verify and integrate.
||The fix is put to branch OCC22910, please review|
GeomLib_Test.zip (6,564 bytes)
||For C++ (QtTestFramework-based) regression test see GeomLib_Test.zip|
Last edited: 2012-01-27 13:07
The fix resolved the problem described in the second post of Roman Lygin. The main problem still unresolved. The exception rises when try to preform uiso command.
I have wrote tests chl 934 P2, which reproduce steps described in a main description - it's Failed.
and test chl 934 P4, which reproduce steps described in a second post - it's OK
Problem was reproduced on Linux platform.
P2 (512 bytes)
P4 (542 bytes)
You do NOT need to fix the first issue (uiso 0.5)! The root-cause is in the 2nd issue (wrong computation of an average parameter). With it fixed, you will never get 0.5 and hence be exposed to the first issue.
Therefore the P2 script above is just not required.
Thanks for sharing the non-regression test scripts, by the way! Very educative.
Workbench KAS:dev:aan-OCC22910-occt from SVN branch http://svn/svn/occt/branches/OCC22910
(and aan-OCC22910-products from trunk) was successfully compiled on Linux and Windows platforms, and tested on Linux and Windows platforms.
Test for this fix is chl 934 P4. It's OK.
There are not regressions in aan-OCC22910-products regarding to KAS:dev:products-20120127-opt
See results in /QADisk/occttests/results/KAS/dev/aan-OCC22910-products_24012012/lin
See reference results in /QADisk/occttests/results/KAS/dev/products-20120120-opt_20012012/lin
See test cases in /QADisk/occttests/tests/ED
N.B. In order to launch testing case you can make use the following instructions
Integrated into trunk of occt repository
Date: 2012-02-03 15:29:01 +0400 (Fri, 03 Feb 2012)
New Revision: 10295
|2012-01-17 17:56||Roman Lygin||New Issue|
|2012-01-17 17:56||Roman Lygin||Assigned To||=> jgv|
|2012-01-17 17:56||Roman Lygin||File Added: surf.zip|
|2012-01-17 21:04||Roman Lygin||Note Added: 0019161|
|2012-01-17 21:45||Roman Lygin||Note Added: 0019162|
|2012-01-19 20:43||abv||Note Added: 0019188|
|2012-01-19 20:43||abv||Status||new => resolved|
|2012-01-19 21:24||Roman Lygin||File Added: GeomLib_Test.zip|
|2012-01-19 21:25||Roman Lygin||Note Added: 0019190|
|2012-01-20 16:53||jgv||Note Added: 0019207|
|2012-01-20 16:53||jgv||Status||resolved => reviewed|
||Note Added: 0019284|
||File Added: P2|
||File Added: P4|
||Assigned To||jgv => abv|
||Status||reviewed => assigned|
|2012-01-27 13:07||bugmaster||Note Edited: 0019284|
|2012-01-27 14:08||Roman Lygin||Note Added: 0019285|
||Test case number||=> chl 934 P4|
||Note Added: 0019358|
||Status||assigned => feedback|
||Status||feedback => reviewed|
||Status||reviewed => tested|
|2012-02-03 14:04||bugmaster||Target Version||=> 6.5.3|
|2012-02-03 15:43||bugmaster||Note Added: 0019383|
|2012-02-03 15:43||bugmaster||Status||tested => verified|
|2012-02-03 15:43||bugmaster||Resolution||open => fixed|
|2012-02-03 15:43||bugmaster||Assigned To||abv => Roman Lygin|
|2012-03-29 17:26||bugmaster||Changeset attached||=> occt master 03976b37|