PAL12612: Partition failed. Fix: set approximation parameter of boolean operation SECTION to 'true' to have smooth BSpline curves for new edges, where analytic curve is not possible.

This commit is contained in:
jfa 2006-11-03 09:05:46 +00:00
parent 06e591937c
commit 2b5a1ab419

View File

@ -257,7 +257,13 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(TFunction_Logbook& log) const
TopTools_ListIteratorOfListOfShape itSub2 (listShape2);
for (; itSub2.More(); itSub2.Next()) {
TopoDS_Shape aValue2 = itSub2.Value();
BRepAlgoAPI_Section BO (aValue1, aValue2);
BRepAlgoAPI_Section BO (aValue1, aValue2, Standard_False);
// Set approximation to have an attached 3D BSpline geometry to each edge,
// where analytic curve is not possible. Without this flag in some cases
// we obtain BSpline curve of degree 1 (C0), which is slowly
// processed by some algorithms (Partition for example).
BO.Approximation(Standard_True);
BO.Build();
if (!BO.IsDone()) {
StdFail_NotDone::Raise("Section operation can not be performed on the given shapes");
}