Convert surface to BSpline surface.

Hi all friends:

I try to use GeomConvert::SurfaceToBSplineSurface(surf)to convert surface to BSpline surface. It works for finite surface. If the surface is infinite in one direction or two direction, this method will raise exception Standard_DomainError. Is there any other method that can be used to convert infinite surface to BSline surface?

Any help is very appreciated.



Stephane Routelous's picture


I think you cannot convert an infinite surface to BSpline, because a BSpline Surface is bounded, and not infinite ( inherits from Geom_BoundedSurface )

Francois Lauzon's picture

Stephane is right, you can't convert an infinite surface, it's even mentionned in the documentation:
This algorithm converts a non infinite surface from Geom into a B-spline surface. S must be a trimmed plane or a trimmed cylinder or a trimmed cone or a trimmed sphere or a trimmed torus or a sphere or a torus or a Bezier surface of a trimmed Bezier surface or a trimmed swept surface with a corresponding basis curve which can be turned into a B-spline curve (see the method CurveToBSplineCurve).

So you might want to trim you surface in the infinite direction first using Geom_RectangularTrimmedSurface.

Good Luck,