DiscussionsIssue archiveOCCT:Modeling Algorithms

Archived issue #0025242

Wrong result of cut operation.

Open CASCADEOCCT:Modeling Algorithmsclosed9 public notes

Search issues

Description

Wrong result of cut operation.
The cut operation performed with solids provides incorrect result.

Steps to reproduce

# Use the following DRAW commands to reproduce the problem:

box a 0 0 0 10 10 10
box b 20 0 0 10 10 10

bfuse r0 a b
bcut r1 r0 a
nbshapes r1

#------------------
# The result (nbshapes r1)
Number of shapes in r1
 VERTEX : 16
 EDGE : 24
 WIRE : 12
 FACE : 12
 SHELL : 2
 SOLID : 2
 COMPSOLID : 0
 COMPOUND : 1
 SHAPE : 69

# but it should be:
Number of shapes in r1
 VERTEX : 8
 EDGE : 12
 WIRE : 6
 FACE : 6
 SHELL : 1
 SOLID : 1
 COMPSOLID : 0
 COMPOUND : 1
 SHAPE : 35


Public activity

9 archived notes

Participants are labeled by their role within this record.

01Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


No new revisions were added by this update.
02Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Tue Sep 16 14:22:55 2014 +0400

    v1.0
    
    I. New features:
    no new features
    
    II. Changes:
    II.1. class BOPDS_Iterator
    method:
    void BOPDS_Iterator::Intersect()
    The ttreatment of solid/* interferences has been added.
    II.2 class BOPAlgo_PaveFiller
    protected methods:
    void BOPAlgo_PaveFiller::PerformVZ()
    void BOPAlgo_PaveFiller::PerformEZ()
    void BOPAlgo_PaveFiller::PerformFZ()
    void BOPAlgo_PaveFiller::PerformZZ()
    has been added.
    The methods are to Compute
    Vertex/Solid
    Edge/Solid
    Face/Solid
    Solid/Solid
    interferences.
    
     II.3 class BOPAlgo_PaveFiller
    protected method:
    void BOPAlgo_PaveFiller::PerformFF()
    Empty interferences has not been added in the interferences' table
    
     II.4. class BOPAlgo_CheckerSI
    protected methods:
    void BOPAlgo_CheckerSI::PerformVZ()
    void BOPAlgo_CheckerSI:PerformEZ()
    void BOPAlgo_CheckerSI::PerformFZ()
    void BOPAlgo_CheckerSI::PerformZZ()
    has been removed.
    
     II.5. class BOPAlgo_BOP
    protected method:
    void BOPAlgo_BOP::BuildRC()
    void BOPAlgo_BOP::BuildSolid()
    changed to treat non-interferred solids and keep it in the result as they were
    
    III. Modified entities:
    packages:
    BOPAlgo
    BOPDS

03Commenter 3
The Branch CR25242 is ready to be reviewed.
04Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
05Commenter 5
Reviewed, please test.
06Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
07Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: apv
Date: Mon Sep 22 14:24:41 2014 +0400

    Test case for issue #0025242

08Commenter 8
Dear Commenter 1,

Branch CR25242 (and products from GIT master) was compiled on Linux, Windows and MacOS platforms and tested.
[revision removed]

Number of compiler warnings:
occt component:
   Linux: 15 (15 on master)
   Windows: 0 (0 on master)
   MacOS: 193 (193 on master)
products component:
   Linux: 11 (11 on master)
   Windows: 1 (1 on master)

Regressions/Differences:
Not detected

Testing case:
bugs modalg_5(010) bug25242 - OK
http://occt-tests/CR25242-master-occt/Debian60-64/bugs/modalg_5/bug25242.html
http://occt-tests/CR25242-master-occt/Windows-32-VC10/bugs/modalg_5/bug25242.html

Testing on Linux:
Total MEMORY difference: 355925324 / 355467380
Total CPU difference: 46532.18000000008 / 44818.84000000009

Testing on Windows:
Total MEMORY difference: 243247036 / 242145384
Total CPU difference: 40061.234375 / 34260.015625
09Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]