MantisBT - Community
View Issue Details
0025123Community[OCCT] OCCT:Shape Healingpublic2014-08-04 12:482019-09-04 12:58
Roman Lygin 
gka 
normalfeature 
newopen 
[OCCT] 6.7.1 
[OCCT] 7.5.0* 
0025123: Feature request – enabling C0-to-G1 continuity upgrade for geometries
Problem statement:
Unlike other modeling kernels (e.g. Parasolid), Open CASCADE has more relaxed requirements to geometry underneath topology in terms of continuity. While OCC accepts C0 pcurves, 3D curves and surfaces, other kernels require at least G1 continuity. G1 continuity requires smoothness of tangent/normal direction (whereas C1 continuity additionally strengthens that requirement to magnitude of the tangent or the normal). Therefore when exporting 3D models to other kernels, it is required to upgrade the geometry to G1.
OCC does have utilities to upgrade to Cn continuity (e.g. ShapeUpgrade_ShapeDivideContinuity et al). These tools either reduce multiplicity of the knot which is equal to degree (i.e. where the geometry has C0 continuity) or make split at that knot. Thus, this upgrade C0-to-C1 continuity is done using more significant modifications than might be required for C0-to-G1 upgrade. For instance, Parasolid does not modify knots of G1 continuity (i.e. where multiplicity is degree but tangents are collinear within a tolerance) and readjusts knot multiplicities where G1 is not initially provided.
The proposal is to design an algorithm for C0-to-G1 upgrade for 2D/3D curves and surfaces that would apply less significant modifications than for C0-to-C1 upgrade. The new functionality might reside in ShapeUpgrade_Split*Continuity classes that would specifically recognize G1 requirement.
This functionality might be used in own OCC exporters (to STEP, IGES, etc) or in customer projects where such requirement might be relevant.

(The topic has also been published at http://dev.opencascade.org/index.php?q=forum/17, [^] awaiting for moderator approval.)
No tags attached.
Issue History
2014-08-04 12:48Roman LyginNew Issue
2014-08-04 12:48Roman LyginAssigned To => gka
2014-09-11 19:00abvTarget Version => 7.1.0
2016-10-26 12:17gkaTarget Version7.1.0 => 7.2.0
2017-07-27 09:33abvTarget Version7.2.0 => 7.4.0
2019-09-04 12:58abvTarget Version7.4.0 => 7.5.0*

There are no notes attached to this issue.