Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0029345Community[OCCT] OCCT:Data Exchangepublic2017-11-27 14:202017-11-27 14:20
Assigned Togka 
PlatformAnyOSOS Version
Product Version[OCCT] 7.1.0 
Target VersionFixed in Version 
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 Fileszip file icon (1,225,005 bytes) 2017-11-27 14:20

- Relationships

-  Notes
There are no notes attached to this issue.

- 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:

Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker