We are using Rhino as preprocessor for our structural analysis package. Before transferring the geometry to the mesher, we perform a number of geometry operations like splitting bipolar and closed surfaces in a C++ plugin within Rhino.
However, since the latest service release of Rhino 5, SR 10 we observe problems with the function ON_Brep::SplitClosedFaces() from the openNURBS toolkit. Attached you will find a test command together with an example. Calling SplitClosedFaces() returns true, but does not split the face into two halfs.
Rhino: Version 5 SR10 64-bit (5.10.41015.17045, 15.10.2014)
openNURBS.dll: Version 5.10.41015.17045, 15.10.2014
This issue will be fixed in SR11. In the mean time, you can work around the problem by testing ON_RevSurface::m_bTransposed. If this value is true, then call ON_RevSurface::Transpose() before splitting.
It reverses the parameter that is the “curve” and the “angle” in a surface of revolution:
// If false, the "u" parameter is the angle parameter
// and the "v" parameter is the curve parameter.
// If true, the "u" parameter is the curve parameter
// and the "v" parameter is the angle parameter.
ON_BOOL32 m_bTransposed;
No, more like _Dir SwapUV _Enter. The U and V parameters will be changed. Flip will only reverse the normal of a BrepFace [WITHOUT changing the U- and V-parameters of the underlying surface].
In detail: Flip will set m_bRev to true on a BrepFace.