Split Merged Edges of a surface at Tangents

I’m looking for a way to easily split merged edges at tangents/Quad points. I use MergeAllEdges all the time but anywhere I have tangent edges (ie. Interior loop with fillets) MergeAllEdges also tries to join the tangent edges into a single edge. In Rhino this is fine, but not for importing into FEA software for meshing. I’d like to be able to either:

  1. merge only edges that are parallel,
  2. or be able to go back and split the edges at tangent/quad points after running MergeAllEdges.
    Is there an easy command or set of commands I could use to script this or do I need to dig into Rhino Common to figure out how to brute force this?


Hi @NavArch,

Rhinoscript (python) does not have something to change brep edges. But you can find it in RhinoCommon and use it if you know the points where to split. For point 2 above, you might check out this

Finally got back into this,

I tried playing around with SplitEdgeAtParameters but the edges don’t seem to split.
What Might I be doing wrong here?

import rhinoscriptsyntax as rs
import Rhino

def RunCommand( is_interactive ):
    srf = rs.GetObject("Select Surface")
    srf = rs.coercebrep(srf)
    edges = srf.Edges
    for edge in edges:
        DomLen = edge.Domain[1]-edge.Domain[0]
        parameters = (edge.Domain[0]+DomLen/2,edge.Domain[1])
        split = edges.SplitEdgeAtParameters(edge.EdgeIndex,parameters)
    return 0

if( __name__=="__main__" ):

Thanks in Advance

@NavArch, update the object in the document. Below is an example.

SplitBrepEdge.py (1.5 KB)


Thanks, I’m not as familiar with the RhinoCommon side of things so your script was very helpful.