MantisBT - Open CASCADE
View Issue Details
0030419Open CASCADE[OCCT] OCCT:Shape Healingpublic2018-12-19 16:222019-09-04 15:43
ssv 
szv 
normalminor 
newopen 
 
[OCCT] 7.5.0* 
0030419: ShapeFix_Face copies B-spline curves instead of splitting them on fix missing seam
This issue originates from the following scenario:

1. Load a STEP model from GrabCAD (https://grabcad.com/library/branco-bda-22-0-diesel-engine-1 [^]) in any our tools (CAD Assistant, CAD Processor, DMU Reviewer, OCCT Draw, etc.).
2. Resave the model back as a STEP file.

The initial STEP file (created in SIEMENS PLM Software NX 7.5 and translated to STEP with STEP Tools software) is ~90MiB. After resaving this file with OCCT translator (pcurves disabled) the file becomes ~190MiB (and much bigger if pcurves are enabled).

One of the probable reasons why this happens is in how ShapeFix works just after the STEP model is translated (i.e., the logic behind XSAlgo_AlgoContainer::ProcessShape()). In particular, there is a problem in Fix Missing Seam operator. For the attached face, it splits all B-spline curves to produce new edges. However, the resulting new edges still contain the full curve instead of containing just certain portions of it. The healed model is perfectly valid but it contains a lot of redundant data. As a result, shape healing creates 935,164 new points, each recorded as Cartesian Point STEP entity (hence the file size).

It looks reasonable to make Fix Missing Seam operator split the B-spline curves instead of just copying and trimming them. Does that make sense?

restore ShapeFix_Face_21888_before.brep s
fixshape r s -l -o -h +m -d -s -i -n
explode r e

# Check host curve for the edge 32.
mkcurve c_32 r_32
trim c_32 c_32

# Check host curve for the edge 29: it is duplicate of c_32.
mkcurve c_29 r_29
trim c_29 c_29
No tags attached.
? ShapeFix_Face_21888_before.brep (114,515) 2018-12-19 16:22
https://tracker.dev.opencascade.org/
png e32.png (30,091) 2018-12-19 16:23
https://tracker.dev.opencascade.org/
png e29.png (32,424) 2018-12-19 16:23
https://tracker.dev.opencascade.org/
Issue History
2018-12-19 16:22ssvNew Issue
2018-12-19 16:22ssvAssigned To => szv
2018-12-19 16:22ssvFile Added: ShapeFix_Face_21888_before.brep
2018-12-19 16:23ssvFile Added: e32.png
2018-12-19 16:23ssvFile Added: e29.png
2019-09-04 15:43abvTarget Version7.4.0 => 7.5.0*

There are no notes attached to this issue.