Split BrepFace by isoCurve: how to shrink the underlying surface?


(Menno Deij - van Rijswijk) #1

I have a BrepFace object that I want to split at a given parameter (split by isocurve). Currently I do it like the code below. The Brep object “splitted” contains the splits as Faces. Each face, however, has the complete underlying surface. This is not what I want.
In Rhino, I can also choose Shrink=Yes in the Split command. How do I do this in code?

I’ve tried a number of things, among which to split the underlying surface at the same parameter, adding these surfaces to the Brep and then using Face.ChangeSurface to assign a new surface. But this does not give the right result.

BrepFace input; // defined elsewhere
double SplitParameter; // defined elsewhere
Curve[] iso = input.TrimAwareIsoCurve(1, SplitParameter);
Brep splitted = input.Split(iso, RhinoMath.ZeroTolerance);

(Steve Baer) #2

Have you tried the ShrinkFaces() function on the BrepFaceList?


(Menno Deij - van Rijswijk) #3

Ok, now it’s my turn :smile:

YES!!! Thank you so much - I wonder why I did not find this earlier…