View Issue Details

IDProjectCategoryView StatusLast Update
0033536CommunityOCCT:Modeling Algorithmspublic2023-12-18 21:16
Reporterdsa-t Assigned Tooan  
PrioritynormalSeveritymajor 
Status newResolutionopen 
PlatformWindowsOSVC++ 2022 
Product Version7.7.1 
Summary0033536: BRepAlgoAPI_Cut produces broken shapes
DescriptionWe, in KiCad, are using BRepAlgoAPI_Cut to cut holes (mostly cylindrical) out of track segments and zone fills.
Unfortunately, this operation produces bad shapes in some cases.

Test cases and the test script is attached.

Tested in versions 7.7.0 (Draw Harness), 7.7.2 (C++), and the latest commit 588ee924e4772389438621106d37144abb694b14 (Draw Harness, C++)
Steps To Reproduce1. Extract cut_data.zip into cut_data directory
2. Put cut_test.tcl at the same level as the cut_data directory and draw.bat
3. Start draw.bat
4. Execute command: source cut_test.tcl

The script will cut shapes using different fuzzy values (0 and 0.0005), check, attempt to fix the result, check the fixed shape.
It also saves all outputs.



Comments in the tcl script basically describe the encountered deficiencies:

_mycheck "zones/zones_bad_1"; # Self-interfering (constructed with precision 0.001 mm)
_mycheck "zones/zones_1"; # OK (constructed with default precision)

_mycheck "tracks_nfuz/tracks_690"; # Bad, no warning after Cut
_mycheck "tracks_nfuz/tracks_3866"; # Bad but OK for shape check

_mycheck "tracks_fuz/tracks_363"; # Bad with fuzzy value
_mycheck "tracks_fuz/tracks_873"; # Bad with fuzzy value
_mycheck "tracks_fuz/tracks_3085"; # Bad with fuzzy value
Additional information
and documentation updates
*_orig.brep files are arguments
*_hole_0.brep files are tools
*_cut.brep are the cut results we're getting in KiCad.
TagsNo tags attached.
Test case number

Attached Files

  • cut_data.zip (57,846 bytes)
  • cut_test.tcl (1,650 bytes)
  • nf_tracks_690_cut.png (31,384 bytes)
  • nf_tracks_3866_cut.png (22,499 bytes)
  • nf_zones_bad_1_cut.png (38,799 bytes)
  • f_tracks_2318_cut.png (21,505 bytes)

Activities

dsa-t

2023-11-24 01:42

reporter  

cut_data.zip (57,846 bytes)
cut_test.tcl (1,650 bytes)

dsa-t

2023-11-24 01:49

reporter   ~0114642

Added some CAD Assistant screenshots.
nf_tracks_690_cut.png (31,384 bytes)
nf_tracks_3866_cut.png (22,499 bytes)
nf_zones_bad_1_cut.png (38,799 bytes)
f_tracks_2318_cut.png (21,505 bytes)

dsa-t

2023-12-18 21:16

reporter   ~0114816

Still reproduces in 7.8.0+ (e8605596c901d48b5e79deae24eece67f1bc11cf)

Issue History

Date Modified Username Field Change
2023-11-24 01:42 dsa-t New Issue
2023-11-24 01:42 dsa-t Assigned To => oan
2023-11-24 01:42 dsa-t File Added: cut_data.zip
2023-11-24 01:42 dsa-t File Added: cut_test.tcl
2023-11-24 01:49 dsa-t Note Added: 0114642
2023-11-24 01:49 dsa-t File Added: nf_tracks_690_cut.png
2023-11-24 01:49 dsa-t File Added: nf_tracks_3866_cut.png
2023-11-24 01:49 dsa-t File Added: nf_zones_bad_1_cut.png
2023-11-24 01:49 dsa-t File Added: f_tracks_2318_cut.png
2023-12-18 21:16 dsa-t Note Added: 0114816