View Issue Details

IDProjectCategoryView StatusLast Update
0028274CommunityOCCT:Modeling Algorithmspublic2022-10-24 10:42
ReporterIstvan Csanady Assigned Tomsv  
PrioritynormalSeveritymajor 
Status newResolutionopen 
PlatformMacOSOS 
Target Version7.8.0 
Summary0028274: BOPAlgo_MakerVolume fails to create solid
DescriptionBOPAlgo_MakerVolume fails to create solid from the attached faces.
Steps To Reproducerestore tmp.brep a
bnondestructive 1
eval mkvolume r [explode a f]
nbshapes r
TagsNo tags attached.
Test case numberbugs modalg_7 bug28274

Attached Files

  • tmp.brep (22,450 bytes)
  • solids.PNG (11,631 bytes)
  • splines.brep (26,329 bytes)
  • exception (17,589 bytes)
  • broken_solids.brep (14,651 bytes)
  • only_one_solid.brep (9,178 bytes)

Activities

Istvan Csanady

2016-12-23 17:53

developer  

tmp.brep (22,450 bytes)

Istvan Csanady

2016-12-23 18:06

developer   ~0062078

If SetNonDestructive is set to false it does not fail.

msv

2016-12-23 18:10

developer  

solids.PNG (11,631 bytes)

msv

2016-12-23 18:11

developer   ~0062079

I have obtained 3 solids (see the picture) without setting any flags.
What is wrong in your case?

Istvan Csanady

2016-12-23 18:12

developer   ~0062080

If I set the SetNonDestructive flag to true, it returns an empty compound.

Istvan Csanady

2016-12-23 18:14

developer   ~0062081

BOPAlgo_MakerVolume volumeMaker;
        volumeMaker.SetArguments(facesList);
        volumeMaker.SetRunParallel(true);
        volumeMaker.SetNonDestructive(true);
        volumeMaker.SetAvoidInternalShapes(false);

msv

2016-12-23 18:21

developer   ~0062082

With setting these options, I obtain the same 3 solids. However checkshape complains about IntersectingWires.
Draw[111]> checksh r
On Shape faulty_1 :
BRepCheck_InvalidPolygonOnTriangulation
On Shape faulty_2 :
BRepCheck_InvalidPolygonOnTriangulation
On Shape faulty_3 :
BRepCheck_IntersectingWires

Faulty shapes in variables faulty_1 to faulty_3 


With non-destructive=false, only 2 first faulties occur.

Istvan Csanady

2016-12-23 18:22

developer   ~0062083

Interesting, I tried it with and without fuzzy, and got the same results.

msv

2016-12-23 18:24

developer   ~0062084

I test on Windows compiled with VC12 in release mode.

Istvan Csanady

2016-12-23 18:25

developer   ~0062085

If I copy the shape before performing the operation, it will work fine.

Istvan Csanady

2016-12-28 19:15

developer  

splines.brep (26,329 bytes)

Istvan Csanady

2016-12-28 19:16

developer   ~0062272

I have the same issue with the new attached file, but in this case the result does not depend on non-destructive mode or on fuzzy, it always fails (debug and release mode).

msv

2016-12-29 18:07

developer   ~0062331

The case with splines.brep needs additional investigation.

Istvan Csanady

2016-12-29 19:12

developer   ~0062334

Would more test data be useful? I find that in similar cases VolumeMaker is not very robust, and I can easily create similar cases where it fails.

Istvan Csanady

2016-12-29 20:43

developer  

exception (17,589 bytes)

Istvan Csanady

2016-12-29 20:43

developer   ~0062336

Exception.brep fails because one of the face-face intersections throws an exception.

Istvan Csanady

2016-12-30 01:25

developer  

broken_solids.brep (14,651 bytes)

Istvan Csanady

2016-12-30 01:26

developer   ~0062347

Applying MakeVolume on broken_solids.brep leads to invalid shapes.

Istvan Csanady

2016-12-30 01:38

developer   ~0062348

I have successfully reproduced the issue with similar geometries that I converted to NURBS geometry. This means that the problem can be related to periodic and/or closed surfaces.

Istvan Csanady

2017-01-01 17:43

developer  

only_one_solid.brep (9,178 bytes)

Istvan Csanady

2017-01-01 17:43

developer   ~0062383

Another similar issue: only_one_solid.brep generates a only one solid, instead of two.

mkv

2017-08-28 15:14

tester   ~0069985

Problem described in issue is reproduced on current state of OCCT.

Issue History

Date Modified Username Field Change
2016-12-23 17:53 Istvan Csanady New Issue
2016-12-23 17:53 Istvan Csanady Assigned To => msv
2016-12-23 17:53 Istvan Csanady File Added: tmp.brep
2016-12-23 18:06 Istvan Csanady Note Added: 0062078
2016-12-23 18:10 msv File Added: solids.PNG
2016-12-23 18:11 msv Note Added: 0062079
2016-12-23 18:12 Istvan Csanady Note Added: 0062080
2016-12-23 18:14 Istvan Csanady Note Added: 0062081
2016-12-23 18:21 msv Note Added: 0062082
2016-12-23 18:22 Istvan Csanady Note Added: 0062083
2016-12-23 18:24 msv Note Added: 0062084
2016-12-23 18:24 msv Steps to Reproduce Updated
2016-12-23 18:25 Istvan Csanady Note Added: 0062085
2016-12-23 18:26 msv Steps to Reproduce Updated
2016-12-28 19:15 Istvan Csanady File Added: splines.brep
2016-12-28 19:16 Istvan Csanady Note Added: 0062272
2016-12-29 18:07 msv Note Added: 0062331
2016-12-29 19:12 Istvan Csanady Note Added: 0062334
2016-12-29 20:43 Istvan Csanady File Added: exception
2016-12-29 20:43 Istvan Csanady Note Added: 0062336
2016-12-30 01:25 Istvan Csanady File Added: broken_solids.brep
2016-12-30 01:26 Istvan Csanady Note Added: 0062347
2016-12-30 01:38 Istvan Csanady Note Added: 0062348
2017-01-01 17:43 Istvan Csanady File Added: only_one_solid.brep
2017-01-01 17:43 Istvan Csanady Note Added: 0062383
2017-07-21 11:22 msv Target Version 7.2.0 => 7.3.0
2017-08-28 15:14 mkv Test case number => bugs modalg_7 bug28274
2017-08-28 15:14 mkv Note Added: 0069985
2017-12-05 16:59 msv Target Version 7.3.0 => 7.4.0
2019-08-12 16:43 msv Target Version 7.4.0 => 7.5.0
2020-09-14 22:56 msv Target Version 7.5.0 => 7.6.0
2021-08-29 18:52 msv Target Version 7.6.0 => 7.7.0
2022-10-24 10:42 szy Target Version 7.7.0 => 7.8.0