Error when finding the intersection between a new face made after a draft and the inner face of body [32857] #303
Labels
0. New
The issue was created, but not updated by maintainer. Waiting for updates labels and categories
1. Modeling
Boolean operations, offsets, primitives, any conversion, brep builders and etc...
2. Bug
Something isn't working
7. FreeCAD
The issue related to FreeCAD project
Description
Possible fix:
https://tracker.dev.opencascade.org/view.php?id=32857
This is a bug reported by a FreeCAD community member: the downstream ticket is here:
FreeCAD/FreeCAD#5649
And a post describing an investigation in the issue is here:
https://forum.freecadweb.org/viewtopic.php?p=539132#p539132
Quoting from the discussion there:
[quote]
I compiled a debug version of OCCT 7.5.0 and the bug seems to be in finding the intersection between the new face made after the draft and the inner face of body, which gives the curve for one of the new edges. The new draft face is conical, whose surface is a "double cone" formed by extending the cone beyond it's tip. The inner cylindrical surface intersects this double cone at multiple places (mostly forming two disconnected curves except where the cylinder intersects the tip itself), and the portion that we want is often not found.
I put a break at .../occt/src/Draft/Draft_Modification_1.cxx:921, where the intersection happens. You may need to track down the exact iteration where the problem happens. Multiple "lines" (the intersection curves) are returned after i2s::Perform(...) and even when the draft works correctly (inner diameter >=40 right now), none of these "lines" are what we need. There is some "gluing" that happens after this which fixes the lines, but only in some cases. For now it is with inner diameter >= (distance between cone's axis and origin), but perhaps earlier the sign was inverted.
[/quote]
I've included a DRAW script below that reproduces the issue when the variable "inner rad" is less than the variable "pocket_center".
Expected Behavior
Actual Behavior
Sample Code or DRAW Tcl Script
Operating System
Linux
Compiler
GCC
Bitness
64-bit
OCCT Version
latest
Additional Files
No response
The text was updated successfully, but these errors were encountered: