Fri, 10/24/2014 - 10:41
Hello guys!
I am using the class GeomFill_Pipe to create a tube with a constant radius. It works well for most simple paths, but if the the path (GeomBSpline_Curve) gets more complex, the resulting tube contains some artefacts. Heres my code snippet:
-------------------------------------------------------------------------------------------------------------
Handle(Geom_Curve) c = BRep_Tool::Curve(the_edge,first,last);
Handle(Geom_TrimmedCurve) tc = new Geom_TrimmedCurve(c,first,last);
GeomFill_Pipe gfp(tc,_radius);
gfp.Perform(Precision::Confusion(),Standard_False,GeomAbs_C1,BSplCLib::MaxDegree(),1000);
BRepBuilderAPI_MakeFace aFaceBuilder(gfp.Surface(),Precision::Confusion());
if(aFaceBuilder.Error() != BRepBuilderAPI_FaceDone)
{
//error
}
TopoDS_Shape theResult = aFaceBuilder.Shape()
-------------------------------------------------------------------------------------------------------------
Should I use an alternative class to GeomFill_Pipe?
I am using OCC 6.7.1 on Windows 7 (x64).
Thanks in advance!
Regards,
Alex
Fri, 10/24/2014 - 10:42
Here is the .brep-File containing the spline (path).
Tue, 10/28/2014 - 20:06
I figured out, that the ErrorOnSurf() decreases from ~29 to ~9 when reducing the tolerance (from 1e-7 to 1e-4), but is still way to large. Unfortunately after playing with all the parameters, I am still not able to produce satisfying results for the give base curve.
Regards,
Alex