I have one TopoDS_Face——A,as picture 1.
I have several TopoDS_Face——sequence B.
Sequence B can be sewwed into a whole shell,as picture 2.
What they look like when they combined together,as picture 3.
I made B sequence into a TopTools_ListOfShape,and I name it list B.
I split A using list B,expecting A will be splitted into two parts,but it does not.
I tried several APIs corresponding with split , for example BRepAlgoAPI_Splitter,BRepFeat_SplitShape,BOPAlgo_Builder,but it is still wrong.
It is one piece of code below.
And the result is shown as picture4,just as you look,it is the same as picture1.
It is not the result what I want.
I want to know how to make it work correctly.
Discussion
5 archived replies
Posts are displayed in their archived order.
01Commenter-1
Hi,
Your shape has too large tolerance that is larger then the width of a piece of face A that must be cut off.
Let's see the section curve. The corner vertex distance from it is 0.0087 (red line on the picture).
Archived image: external image
But the tolerance of that vertex is 0.011. Moreover, the tolerance of the bottom edge is 0.01. It means it covers the intersection curve completely, therefore the algorithm considers that this edge can be used instead of the section edge. And, consequently, the face is not split.
If we reduce tolerance down to 0.001 then split operation works. See the result:
Archived image: external image
02Author
How did you get the tolerance of shapes?
How did you reduce the tolerance?