DiscussionsIssue archiveOCCT:Shape Healing

Archived issue #0029504

ShapeUpgrade_UnifySameDomain produces invalid shape and ShapeFix_Shape is unable to fix it

Open CASCADEOCCT:Shape Healingclosed3 public notes

Search issues

Description

The ShapeUpgrade_UnifySameDomain algorithm is unable to produce the correct result on the shapes in which faces based on the same closed surface are connected through the split seam edge. After the unification of the seam edge, the algorithm performs healing of the faces one by one (creates 2d curves for the new edges). During the first run the ShapeFix creates 2d curve for the unified edge on the first face, and on the second run this 2d curve is shifted on the period for the second face making the first face invalid (ShapeFix_Wire::FixShifted()).
Applying the ShapeFix_Shape algorithm to such invalid result does not make any difference, as the ShapeFix_Shape performs the same actions.

The problem has been detected while working on the issue #0029481.

Steps to reproduce

restore [locate_data_file Attachment 1 (BREP)] s
unifysamedom r s
checkshape r
# BRepCheck_UnorientableShape
# BRepCheck_NotClosed

fixshape rf r
checkshape rf
# BRepCheck_UnorientableShape
# BRepCheck_NotClosed



restore [locate_data_file Attachment 2 (BREP)] s
unifysamedom r s
checkshape r
# BRepCheck_UnorientableShape
# BRepCheck_NotClosed

fixshape rf r
checkshape rf
# BRepCheck_UnorientableShape
# BRepCheck_NotClosed

Public activity

3 archived notes

Participants are labeled by their role within this record.

01Commenter 2
Are there any updates on this issue?
02Commenter 2
No updates. You can facilitate the fix by contacting OpenCascade support (https://www.opencascade.com/contact).
03Commenter 3
This bug is fixed with #30534. Please close it.

Related records