Split operation on Brep does not update domain


#1

Is it possible there is a bug in the Split command for Breps in python?

I am splitting a Brep (Rhino.Geometry.Brep object) using the brepName.Split(surfaceName) command.

When I ask either of the resulting breps for their domain, I end up with the u,v, domain of the original Brep. This should not be, right? T
he same goes for the BrepFace.Split command.
The resulting BrepFaces have the original breps domain.

I only need the domain of the resulting splitted breps.

Lukas

PS: My breps are planar 2D surfaces.


(Pascal Golay) #2

Hi Lukas- splitting a surface into pieces does not alter the underlying surface size - each resulting face will still have the original underlying surface unless it is shrunk (Rhino command: ShrinkTrimmedSrf).

-Pascal


#3

For future readers:

If you split a brep using python use ShrinkFace on each resulting brep

Example:

breps = Brep1.Split(Curve, tolerance)
for brep in breps:
brep.Faces.ShrinkFaces
#Its a command available in Rhino.Geometry.Collections.BrepFaceList

Now calling the Domain() command on the face will return the correct domain of the face.


(Dale Fugier) #4

I am confused. Why do you think the domain is incorrect? What problem are you trying to solve?


#5

Hi Dale,

I wasn’t aware that I have to shrink the face before the domain would update.
I am not sure if this is intended.
Anyways when I split the brep, and access its face, it will still have the domain of the unsplit brep.


(Dale Fugier) #6

Why do you need the domain modified? What does this get you?


#7

Ok here’s what I do.

I start with a surface.
I then randomly generate a point on this surface (using the domain and u,v coordinates)
Then I put a line through this point and split the surface.

I do the same for each of the two newly generated surfaces. But to find a point inside the new surfaces I need to have the correct domain.