|Anonymous | Login||2021-01-16 09:39 MSK|
|My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0029345||Community||[OCCT] OCCT:Data Exchange||public||2017-11-27 14:20||2017-11-27 14:20|
|Product Version||[OCCT] 7.1.0|
|Target Version||Fixed in Version|
|Summary||0029345: Missing surfaces when importing STeP file due to wrong NURBS curve continuity detection|
|Description||The attached file is missing two surfaces when imported.|
In both cases they are offset of swept surfaces arising from a NURBS curve.
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?
|Tags||No tags attached.|
|Test case number|
|Attached Files||123.zip (1,225,005 bytes) 2017-11-27 14:20|
|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|
|Copyright © 2000 - 2021 MantisBT Team|