View Issue Details

IDProjectCategoryView StatusLast Update
0029345CommunityOCCT:Data Exchangepublic2017-11-27 14:20
Reporterventu Assigned Togka 
PrioritynormalSeveritymajor 
Status newResolutionopen 
PlatformAny 
Product Version7.1.0 
Summary0029345: Missing surfaces when importing STeP file due to wrong NURBS curve continuity detection
DescriptionThe attached file is missing two surfaces when imported.
In both cases they are offset of swept surfaces arising from a NURBS curve.
Additional information
and documentation updates
What happens is that:

_ curve #27427 (more or less an ellipse) has degree 3 and the following knot vector: [0,0,0,0,.5,.5,.5,1,1,1,1];
_ altough such a know vector might indicate a C0 curve, geometry is such that this curve is smooth;
_ however, during construction, Geom_BSplineCurve::UpdateKnots only checks for know multiplicity and marks the curve as GeomAbs_C0;

_ Geom_SurfaceOfLinearExtrusion::Geom_SurfaceOfLinearExtrusion just copies the "smooth" value of the curve, so the swept surface (#9827) is also marked as GeomAbs_C0;

_ for #873, StepToGeom::MakeSurface checks if the surface that must be offset is marked GeomAbs_C0 and, in such case, converts the surface to a face and calls ShapeAlgo::AlgoContainer()->C0ShapeToC1Shape;
_ however, ShapeUpgrade_FaceDivide::SplitSurface will refuse to work on a surface which is infinite in any direction (and the swept surface is infinite in V).



The real solution might probably be to check geometry during the Geom_BSplineCurve construction, understand its not C0 and don't mark it as such. I don't know if this would have any side-effect, though
Maybe it's also possible to treat infinite surfaces in ShapeUpgrade_FaceDivide::SplitSurface (possibly dealing only with the other direction?).
Perhaps refactoring the curve in advance might also help?
TagsNo tags attached.
Test case number

Attached Files

  • 123.zip (1,225,005 bytes)

Activities

ventu

2017-11-27 14:20

reporter  

123.zip (1,225,005 bytes)

Issue History

Date Modified Username Field Change
2017-11-27 14:20 ventu New Issue
2017-11-27 14:20 ventu Assigned To => gka
2017-11-27 14:20 ventu File Added: 123.zip