Maybe...
Or we can just roll our own implementation, like my macro.
Code: Select all
Example : giving two shapes S1,S2 accessing faces, let compute the section edges R on S1,S2, performing approximation on new curves, performing PCurve on part 1 but not on part 2 :
Standard_Boolean PerformNow = Standard_False;
BRepBoolAPI_Section S(S1,S2,PerformNow);
S.ComputePCurveOn1(Standard_True);
S.Approximation(Standard_True);
S.Build();
TopoDS_Shape R = S.Shape();
Code: Select all
BRepAlgoAPI_BooleanOperation* Section::makeOperation(const TopoDS_Shape& base, const TopoDS_Shape& tool) const
{
// Let's call algorithm computing a section operation:
return new BRepAlgoAPI_Section(base, tool);
}
Good catch !
So the OCC algo is not faulty. It works how it is supposed to.analytic where possible ... or a succession of points grouped together in a BSpline curve of degree 1