Skip to content

Modeling - Enhance periodic curve handling in ChFi3d_Builder#892

Merged
dpasukhi merged 1 commit intoOpen-Cascade-SAS:IRfrom
dpasukhi:fillet_crash
Dec 7, 2025
Merged

Modeling - Enhance periodic curve handling in ChFi3d_Builder#892
dpasukhi merged 1 commit intoOpen-Cascade-SAS:IRfrom
dpasukhi:fillet_crash

Conversation

@dpasukhi
Copy link
Copy Markdown
Member

@dpasukhi dpasukhi commented Dec 7, 2025

  • Updated the intersection logic to check for non-null C2dint1 when determining periodicity of 3D curves.
  • Improved robustness of the PerformIntersectionAtEnd function to prevent potential issues with null parameters.

…scade-SAS#892)

- Updated the intersection logic to check for non-null C2dint1 when determining periodicity of 3D curves.
- Improved robustness of the PerformIntersectionAtEnd function to prevent potential issues with null parameters.
@dpasukhi dpasukhi added this to the Release 8.0 milestone Dec 7, 2025
@dpasukhi dpasukhi self-assigned this Dec 7, 2025
@dpasukhi dpasukhi added the 1. Modeling Boolean operations, offsets, primitives, any conversion, brep builders and etc... label Dec 7, 2025
@dpasukhi dpasukhi changed the title Modeling - Enhance periodic curve handling in ChFi3d_Builder (#892) Modeling - Enhance periodic curve handling in ChFi3d_Builder Dec 7, 2025
@dpasukhi dpasukhi merged commit 9ba63b8 into Open-Cascade-SAS:IR Dec 7, 2025
24 checks passed
@dpasukhi dpasukhi deleted the fillet_crash branch December 7, 2025 23:53
@github-project-automation github-project-automation bot moved this from Todo to Done in Maintenance Dec 7, 2025
dpasukhi added a commit to dpasukhi/OCCT that referenced this pull request Dec 8, 2025
dpasukhi added a commit that referenced this pull request Dec 8, 2025
@pieterhijma
Copy link
Copy Markdown

Thanks for this PR!

Although there is no longer a crash as described in #690, the blend doesn't result in correct geometry, which is visible in DRAW and in FreeCAD:

screenshot_003

Below a transcript in DRAW with some checks where Face #3 is the highlighted face in the screenshot:

$ DRAWEXE 
Draw[1]> Draw[2]> source curved-base-sweep-curve-opposite-dir.tcl
tolerance ang : 0.01
tolerance 3d  : 0.0001
tolerance 2d  : 1.0000000000000001e-05
fleche        : 0.001
tolblend 0.01 0.0001 1.0000000000000001e-05 0.001

Draw[3]> vdisplay result
Draw[4]> vfit
Draw[5]> vselmode 4 on
Draw[6]> vstate
Locally selected sub-shapes within result:
       Face #3

Draw[7]> checkshape result
On Shape faulty_1 :
BRepCheck_UnorientableShape
Shape faulty_2  on shape faulty_1 :
BRepCheck_NoCurveOnSurface
Shape faulty_3  on shape faulty_1 :
BRepCheck_NoCurveOnSurface

Faulty shapes in variables faulty_1 to faulty_3 

Possibly the other related issues give some more handles to investigate.

@dpasukhi
Copy link
Copy Markdown
Member Author

dpasukhi commented Dec 9, 2025

Yes, the output is not valid. The issue were related to crash.
And I saw your one more ticket related to the quality. It will resolve later.
As an option I would recommend to report new ticket with invalid result. Originally it is our part to re-create issue with new description, but you already created one with quality. Probably you can extend existed

@pieterhijma
Copy link
Copy Markdown

Totally understand. The PR fixes the crash, so the original issue can be closed. Sure, I've already investigated, so it's easy for me to create a new issue for the quality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1. Modeling Boolean operations, offsets, primitives, any conversion, brep builders and etc...

Projects

Status: Done

2 participants