Brep.DuplicateNakedEdgeCurve parameters

This method has 2 boolean input parameters. One for “outer” and one for “inner”. What’s the difference between the two?

And another question I had regarding this method. Does this method produce the same result as this example? @dale

Hi @siemen,

I’ll see that the missing comments are added - thanks for pointing out.

Setting outer to true will return naked edges that are part of an outer loop.

Setting inner to true will return naked edges that are part of an inner loop.

Other than the curve joining part, included with the code sample, the two should produce the same result.

– Dale

1 Like

Thanks!

Not sure if I get this part. What is the outer or inner loop of a brep? Could you show an example?

red is outer, green inner
image

1 Like

That made sense, thanks!

Additionally, it should be noted that the inside and outside can only be determined for trimmed surfaces with holes, not polysurfaces with an inner hole of some kind.

1 Like

Yes that’s correct. Inner holes however could still be extracted, though not sure if this is the best way:

import rhinoscriptsyntax as rs
import scriptcontext as sc

obj = rs.GetObject("select brep")

obj = rs.coercebrep(obj)
faces = obj.Faces

for face in faces:
    brep = face.DuplicateFace(False)
    crvs = brep.DuplicateNakedEdgeCurves(False, True)
    for c in crvs:
        sc.doc.Objects.AddCurve(c)