MantisBT - Community
View Issue Details
0025983Community[OCCT] OCCT:Modeling Algorithmspublic2015-03-25 15:232018-03-16 07:59
shoogen 
msv 
normalminor 
newopen 
LinuxDebian 6.064 bit
[OCCT] 6.8.0 
 
bugs modalg_7 bug25983
0025983: Fusion of sweep and its mirror invalid
The sweep is fused together with a mirror of itself. The result has a BRepCheck_BadOrientationOfSubshape.
restore deform-fusion1-tcl-BSpline.brep BSpline
wire Knurling-0-spine BSpline
mksweep Knurling-0-spine
setsweep -FR
polyline DWire 0 0 0 1 -0.9999999999999998 0 1.0000000000000002 0.9999999999999998 0 0 0 0
trotate DWire 0 0 0 1 0 0 134.99999999999693
ttranslate DWire 9 0 0
addsweep DWire
buildsweep Knurling -C -S
copy Knurling Clone
tmirror Clone 0 0 0 1 0 0
bfuse result Knurling Clone
donly result
checkshape result
# faulty BRepCheck_BadOrientationOfSubshape
No tags attached.
? deform-fusion1.tcl (591) 2015-03-25 15:23
https://tracker.dev.opencascade.org/
? deform-fusion1-tcl-BSpline.brep (11,035) 2015-03-25 15:24
https://tracker.dev.opencascade.org/
? deform-fusion2.tcl (639) 2015-03-25 15:55
https://tracker.dev.opencascade.org/
png bug25983.png (3,305) 2018-03-16 07:59
https://tracker.dev.opencascade.org/
Issue History
2015-03-25 15:23shoogenNew Issue
2015-03-25 15:23shoogenAssigned To => msv
2015-03-25 15:23shoogenFile Added: deform-fusion1.tcl
2015-03-25 15:24shoogenFile Added: deform-fusion1-tcl-BSpline.brep
2015-03-25 15:41shoogenNote Added: 0038893
2015-03-25 15:55shoogenFile Added: deform-fusion2.tcl
2015-03-25 15:55shoogenNote Deleted: 0038893
2015-03-25 16:05msvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=9704#r9704
2017-08-07 19:00apvTest case number => bugs modalg_7 bug25983
2017-08-07 19:00apvNote Added: 0069181
2018-03-16 07:58emvNote Added: 0074523
2018-03-16 07:59emvFile Added: bug25983.png

Notes
(0069181)
apv   
2017-08-07 19:00   
Problem described in issue is reproduced on current state of OCCT.
(0074523)
emv   
2018-03-16 07:58   
The problem here appears because the intersection curves of two of the faces of the input shapes are not complete:
explode Knurling f
explode Clone f
bopcurves Knurling_2 Clone_2 -2d
# 4 curves found (see the image)


So, the obvious workaround here is to use Fuzzy Booleans (to fill the gaps between curves):
bfuzzyvalue 1.e-3
bfuse r Knurling Clone
checkshape r
# OK, complete