Ouch.. solving this with pure GH components will be a bit of a nightmare. I can see one possible solution, but haven't tried it.
1) explode your BRep, you'll be using both the Edges [E] and the Faces [F].
2) For each edge in [E] create a point [P] in the middle.
3) Project [P] onto all faces in [F].
4) If you have only 1 projection distance which is very small (don't use zero, use 1e-3 or something instead, remember, edges only have to be within tolerance), then you're dealing with a naked edge. If you have 2 projection distances which are very small, you're dealing with an interior edge. If you have 3 or more, you're dealing with a non-manifold edge or a wonky brep.
----
This wouldn't be trivial even if you'd write a VB script for it. I actually wrote the code for the Extrude components (only naked edges are extruded), so I can easily make a DupBorder component as well.
--
David Rutten
david@mcneel.com
Seattle, WA
Permalink Reply by taz on October 13, 2009 at 11:32am
Sigh... That procedure is what I wanted to avoid thinking about.
I did, however, notice that the extrude component magically finds naked edges.
Where I was headed was to offset a polysurface and then loft the naked edges of the original and the offset to make a solid BRep. But now I realize that even Rhino doesn't offset polysurfaces as polysurfaces, only as individual surfaces.
I think this is basically the same thing the "shell" discussion people want to do (offset a (poly)surface as a closed BRep). But now I realize how difficult it would be.
I'll settle for a DupBorder component instead, if it's in the offering... It would be quite useful and more intuitive than other methods.
Just added a BrepEdges component. It outputs 3 lists, the first contains all naked edges, the second all interior edges and the third all non-manifold edges.
--
David Rutten
david@mcneel.com
Poprad, Slovakia
Permalink Reply by taz on August 11, 2010 at 1:15pm