Brep brep component - select 'outer' intersection result

I have a question: how can I select the “outside” intersection’s result (yelllow in the screenshot) rather than the inner one ? is brep brep the right component for this?


The component you’re using creates curves at the intersection of breps.

Not sure if that is what you want?

Can you post a Grasshopper file?

I have a C# (meaning a solution based 100% on code) that deals with the general case of this (Recursion on any List of Closed, Planar Crvs [no Breps required]). Like:

Notify if you think that a thing like this could be useful for you.

Hi @PeterFotiadis , I think that is a really cool script! sure I would like to try it

I’m not in the practice right now. When back (max tomorrow) I’ll post the C#.

BTW: I have a stupid laptop with me (I hate laptops AND workstations). Found some screenshots more - but not the C# code - on that matter. That’s a Pro version: using a Class with suitable Properties in order to monitor the state of the Clusters per Recursion Loop [i.e. Recursion Idx, Cluster Idx, In/Out Boundaries, Contained Crvs, Cats, Dogs etc]. Obviously since the result is a custom Type List … unboxing is required most notably if a 2nd C# is reading the Class content and displays results (but that’s elementary).

See some indicative cases PRIOR any Recursive depth search.

Spot that the same outerBoundary MAY yield several Clusters (depends on the Curve(s) Topology). Spot the IsLocked Property (meaning: don’t deal further on with that Cluster [within the Recursion]).

Bad news: the C# that I’ll post would be seriously slower since various high-perf Methods for Crv Containment are strictly internal: these would been replaced with RC available Methods. (179.3 KB)

How it works:

First C# does the job via Recursion using a suitable Class (where a “Cluster” is a custom Type object that monitors all things related with Crvs per Recursion Loop). The Class used (typical for similar cases):

Second C# reads the result from the first (as a List of Type object), reconstructs the Custom Type List (for any P/LINQ imaginable) and provides some basic vis options OR does a Tree (if you can deal with Trees use it for any kind of output you want). Some options:

The cList is NOT checked for validity (the Method for that is strictly internal). Meaning that if you input bananas (say: Crvs not in proper contact each other etc) … bananas is what you’ll get. But a rather naive/basic “dupe Crvs” test is provided.

All high-perf Methods (strictly internal) are removed and replaced with “standard” RC Methods. As a result the first C# is slower than any Harley Davidson (life sucks). The real thing is ~25 times faster.

Moral: life sucks.

1 Like

Hi Thanks! I get the file and will test it

In case of some bananas result (never say never) … if you are sure that the input is correct > post here in R5 format the Curve collection used (as a List).