Point in Curves - Data Tree Error

I didn’t think this would cause an error.


Prob not the issue but things get weird so far away in calculations.

I have the same question as @seghierkhaled why is the list you are trying to get the same as the input point list? How did you generate that result list you internalized. This would be helpful to know (as a gh definition)

If you want the same data at the end that mean all points are not inside the curves but this not true, so what is the problem exactly?

1 Like

For clarification I have posted a more detailed definition. Here I am testing whether 9 building types (each on a branch in a data tree) fall within 3 FFE groups. (also on a branch in another data tree)

Cycling through this code shows that it works branch by branch; however; when the data tree is inputted into the ‘curves in points’ node, it does not give the expected ‘nested’ tree structure.

For example:
Branch 1: 5 points in group A crvs.
Branch 2: 2 points in group A crvs.
Branch 3: 8 points in group A crvs.

so the Data Tree should be something like:
(the path to the left of the semicolon is the building type and the path to the right is the FFE Group) N will equal the number of inclusions for EACH building type per group.

{0;0} N = x
{0;0} N = x
{0;0} N = x
{1;0} N = x
{1;1} N = x
{1;2} N = x
{2;0} N = x
{2;1} N = x
{2;2} N = x

EXAMPLE.gh (787.9 KB)

Empty file

Apologies for the confusion. I have now restated my question and uploaded a proper example file.

Thank you.

Is this what you are looking for?

EXAMPLE_inclusionTest_re.gh (790.3 KB)

Thanks @HS_Kim

So what I am looking for is to have each FFE group (0 to 2) within a Path in the tree that I described above like this:

{0;0} N = x
{0;1} N = x
{0;2} N = x
{1;0} N = x
{1;1} N = x
{1;2} N = x
{2;0} N = x
{2;1} N = x
{2;2} N = x

What you have worked out is only for one branch of the ‘BLDG HEIGHTS’ data tree. I am attempting to compare all of the branches of the first tree to the ‘FFE GROUPS’ tree. This tree should have thirty branches as it will compare each height to each of the three branches in the FFE groups.

Thank you again.

Is this discussion (almost) the same as this?

if yes maybe there is no need for a new discussion?
I tried to help that day but stopped soon after what Seghier points out:

This was an earlier question that I thought I had deleted. Now I can’t delete it. It does not ask the question as precisely as this version.

Pertaining to Seghier’s conclusion that :
The groups of points and their index are different compared to the groups of curves

This is for a reason as is illustrated in the images of only certain points falling within the categories that they are compared to.

This is comparative analysis which I then export to excel for creating graphs. I am making the matrices manually (branch by branch) currently.

I tried to understand but i can’t
i see that the buildings and the surfaces have different index; do you want to sort the buildings based on the surfaces index?

If you are trying to sort your data by curve, you need to graft the “C” input of your Point in Curves. Otherwise it matches your data curve to point.


I assumed drawing the data tree would be more understandable. The indexes don’t matter; only the paths (branches).

If I take the first branch of the BLDG HEIGHTS data tree and test its 12 points for inclusion within the 92 curves of FFE GROUPS, I get a list of 0’s, 1’s, and 2’s.

This data tree is:
{0;0} N=x
{0;1} N=x
{0;2} N=x

In my understanding, the above data tree is a nested data tree containing three sub branches on a path. I need 10 paths (each with 3 sub branches) which are the ten branches of the BLDG HEIGHTS Data Tree.

Grafting the input of the ‘C’ on ‘Curves in Polylines’ is necessary, but doesn’t seem to resolve my goal when I feed in the data tree rather than one branch.

Hopefully this is understandable and thank you.

i just try to understand
if you match index between buildings and surfaces can that help you to find what you need?

0’s,1’s & 2’s indicate inclusion. Where 0 indicated that the item is outside (false) 1 is inside (true) and 2 is on not curve (true).


This is exactly right. These results (0’s, 1’s, and 2’s) will comprise the nested data tree.

maybe what you need is a trim tree after you graft the curves to return back to the original state.

seems that your points are in a tree as well. On your original file, I tried to flatten the points and graft the curves and then trim the tree. I’m not sure if you’re looking for this data matching but it seems to work

This sounds promising. I can’t reproduce your results though. Can you post a screenshot if possible? thanks!

I am not sure how this works as I can’t reproduce it. Flattening the Data Tree of points causes the structure to be lost of what I am attempting to test.

If I used ‘Member Index’ and somehow found the indices of the branches before flattening, this could work; however, it seems overly complex.

I’m now doubting as to whether this data tree is achievable. Attached is my fail.

A hack could be to use an Anemone Loop to go through the points branch by branch and record the output.