DiscussionsIssue archiveOCCT:Modeling Algorithms

Archived issue #0029860

Modeling Algorithms - BOPAlgo_BuilderFace cannot build new faces correctly

Open CASCADEOCCT:Modeling Algorithmsassigned3 public notes

Search issues

Description

BOPAlgo_BuilderFace cannot build new faces correctly. The source face contains cone with degenerated edge.

Steps to reproduce

restore Attachment 1 (BREP) cfe
bopbf f cfe
# 2 faces were built ==> WRONG (must be 3 faces)

Public activity

3 archived notes

Participants are labeled by their role within this record.

01Commenter 1
The fix for the issue #0029421 creates three faces (as it is needed). However, the face f_3 is invalid in terms of BRepCheck.

I have attached it in the file Attachment 2 (BIN) (is opened by "binrestore" DRAW-command).

Please note, that visually this face seems to be OK. So, maybe here BRepCheck algorithm works wrongly. It should be analyzed.

Faulty status is returned by BRepCheck_Wire::Closed2d() method. It uses BRepTools_WireExplorer algorithm, which finds only one edge in the wire (in spite of wire's containing 4 edges).

binrestore Attachment 2 (BIN) ff
explode ff w
wexplo ff_1 ff
puts [llength [directory WEDGE_*]]
# 1 but must be 4


Please note, if we use BRepTools_WireExplorer only for 3D-space then it works correctly:

binrestore Attachment 2 (BIN) ff
explode ff w
wexplo ff_1
puts [llength [directory WEDGE_*]]
# 4 ==> OK


02Commenter 2
As result, the tests "bugs modalg_7 bug29807_b5a" and "bugs modalg_7 bug29807_b4a" changes self behavior. The number of entities has become as expected but

checkshape result 


finds faulty entities.

03Commenter 3
Please note that the degenerated edge is not trimmed by the intersection point with another edge. See Attachment 3 (PNG) attached picture, where p-curve of Attachment 2 (BIN) is shown.

I think, it is a problem of Boolean operation in "bugs modalg_7 bug29807_b5a" and "bugs modalg_7 bug29807_b4a" test cases.

Related records