MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0030419Open CASCADE[OCCT] OCCT:Shape Healingpublic2018-12-19 16:222018-12-19 16:23
Reporterssv 
Assigned Toszv 
PrioritynormalSeverityminor 
StatusnewResolutionopen 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.4.0*Fixed in Version 
Summary0030419: ShapeFix_Face copies B-spline curves instead of splitting them on fix missing seam
DescriptionThis 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?

Steps To Reproducerestore 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
TagsNo tags attached.
Test case number
Attached Files? file icon ShapeFix_Face_21888_before.brep (114,515 bytes) 2018-12-19 16:22
png file icon e32.png (30,091 bytes) 2018-12-19 16:23
png file icon e29.png (32,424 bytes) 2018-12-19 16:23

- Relationships

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2018-12-19 16:22 ssv New Issue
2018-12-19 16:22 ssv Assigned To => szv
2018-12-19 16:22 ssv File Added: ShapeFix_Face_21888_before.brep
2018-12-19 16:23 ssv File Added: e32.png
2018-12-19 16:23 ssv File Added: e29.png


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker